diff options
| author | Nathan Perry <avaglir@gmail.com> | 2017-07-27 21:14:04 -0400 |
|---|---|---|
| committer | Nathan Perry <avaglir@gmail.com> | 2017-07-27 21:14:04 -0400 |
| commit | c8f28679d10b3004fb7f04f54e625284c93e0c70 (patch) | |
| tree | 36834e113aa2376989b5d78c383a0ded0136ed8c /extramemes.go | |
| parent | c6e5779f22b18b971f82ddd2c5de81015ac9740c (diff) | |
plenty of updates for today
Diffstat (limited to 'extramemes.go')
| -rw-r--r-- | extramemes.go | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/extramemes.go b/extramemes.go new file mode 100644 index 0000000..4bac256 --- /dev/null +++ b/extramemes.go @@ -0,0 +1,72 @@ +package thulani + +import ( + "math/rand" + "strings" + "time" +) + +func init() { + rand.Seed(time.Now().UnixNano()) +} + +var extraMemes = []func(*messageCtx) MemeStatus{ + respondToFuckYou, + respondToMeme, +} + +var hateMatch = []string{ + "suck", + "fuck", + "trash", + "garbage", + "stupid", + "shit", + "dick", + "bitch", + "hate", +} + +var responses = []string{ + "WELL FUCK YOU TOO YOU PIECE OF SHIT", + "**i'll fucking burst ye**", + "memememexexxxxxxxxxxxwerp", + "thulando madondo", + "you are a memerman", +} + +type MemeStatus int + +const ( + Continue MemeStatus = iota + Interrupt +) + +func respondToFuckYou(ctx *messageCtx) (result MemeStatus) { + result = Continue + content := strings.ToLower(ctx.Message.Content) + + if !strings.Contains(content, config.Trigger) { + return + } + + for _, v := range hateMatch { + if strings.Contains(content, strings.ToLower(v)) { + response := responses[rand.Intn(len(responses))] + + ctx.sendMessage(response, true) + return + } + } + + return +} + +func respondToMeme(ctx *messageCtx) MemeStatus { + if !(ctx.Matched && ctx.Command == "meme") { + return Continue + } + + ctx.sendMessage("i am not yet capable of memeing.", false) + return Interrupt +} |
