package v1 import ( "math/rand" "time" "git.zxq.co/ripple/rippleapi/common" ) var rn = rand.New(rand.NewSource(time.Now().UnixNano())) var kaomojis = [...]string{ "Σ(ノ°▽°)ノ", "( ƅ°ਉ°)ƅ", "ヽ( ・∀・)ノ", "˭̡̞(◞⁎˃ᆺ˂)◞*✰", "(p^-^)p", "(ノ^∇^)ノ゚", "ヽ(〃・ω・)ノ", "(۶* ‘ꆚ’)۶”", "(。>ω<)。", "(ノ。≧◇≦)ノ", "ヾ(。・ω・)シ", "(ノ・д・)ノ", ".+:。(ノ・ω・)ノ゙", "Σ(*ノ´>ω<。`)ノ", "ヾ(〃^∇^)ノ♪", "\(@ ̄∇ ̄@)/", "\(^▽^@)ノ", "ヾ(@^▽^@)ノ", "(((\(@v@)/)))", "\(*T▽T*)/", "\(^▽^)/", "\(T∇T)/", "ヽ( ★ω★)ノ", "ヽ(;▽;)ノ", "ヾ(。◕ฺ∀◕ฺ)ノ", "ヾ(@† ▽ †@)ノ", "ヾ(@^∇^@)ノ", "ヾ(@^▽^@)ノ", "ヾ(@^▽^@)ノ", "ヾ(@゜▽゜@)ノ", "(.=^・ェ・^=)", "((≡^⚲͜^≡))", "(^・o・^)ノ”", "(^._.^)ノ", "(^人^)", "(=;ェ;=)", "(=`ω´=)", "(=`ェ´=)", "(=´∇`=)", "(=^・^=)", "(=^・ェ・^=)", "(=^‥^=)", "(=TェT=)", "(=xェx=)", "\(=^‥^)/’`", "~(=^‥^)/", "└(=^‥^=)┐", "ヾ(=゚・゚=)ノ", "ヽ(=^・ω・^=)丿", "d(=^・ω・^=)b", "o(^・x・^)o", "V(=^・ω・^=)v", "(⁎˃ᆺ˂)", "(,,^・⋏・^,,)", } var randomSentences = [...]string{ "Proudly sponsored by Kirotuso!", "The brace is on fire!", "deverupa ga daisuki!", "It works!!!!", "Feelin' groovy!", "sudo rm -rf /", "Hi! I'm Flowey! Flowey the flower!", "Ripple devs are actually cats", "Support Howl's fund for buying a power supply for his SSD!", "Superman dies", "PP when?", "RWC hype", } func surpriseMe() string { return randomSentences[rn.Intn(len(randomSentences))] + " " + kaomojis[rn.Intn(len(kaomojis))] } type pingResponse struct { common.ResponseBase ID int `json:"user_id"` Privileges common.Privileges `json:"privileges"` UserPrivileges common.UserPrivileges `json:"user_privileges"` PrivilegesS string `json:"privileges_string"` UserPrivilegesS string `json:"user_privileges_string"` } // PingGET is a message to check with the API that we are logged in, and know what are our privileges. func PingGET(md common.MethodData) common.CodeMessager { var r pingResponse r.Code = 200 if md.ID() == 0 { r.Message = "You have not given us a token, so we don't know who you are! But you can still login with POST /tokens " + kaomojis[rn.Intn(len(kaomojis))] } else { r.Message = surpriseMe() } r.ID = md.ID() r.Privileges = md.User.TokenPrivileges r.UserPrivileges = md.User.UserPrivileges r.PrivilegesS = md.User.TokenPrivileges.String() r.UserPrivilegesS = md.User.UserPrivileges.String() return r } type surpriseMeResponse struct { common.ResponseBase Cats [100]string `json:"cats"` } // SurpriseMeGET generates cute cats. // // ... Yes. func SurpriseMeGET(md common.MethodData) common.CodeMessager { var r surpriseMeResponse r.Code = 200 for i := 0; i < 100; i++ { r.Cats[i] = surpriseMe() } return r }