diff options
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 +} |
