From c8f28679d10b3004fb7f04f54e625284c93e0c70 Mon Sep 17 00:00:00 2001 From: Nathan Perry Date: Thu, 27 Jul 2017 21:14:04 -0400 Subject: plenty of updates for today --- extramemes.go | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 extramemes.go (limited to 'extramemes.go') 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 +} -- cgit v1.3.1