diff --git a/lorebot/lorebot.go b/lorebot/lorebot.go index 420f3bd..7a9f92c 100644 --- a/lorebot/lorebot.go +++ b/lorebot/lorebot.go @@ -156,11 +156,11 @@ func dynamicCommandHandler(rtm *slack.RTM, ev *slack.MessageEvent, redisClient * contenthandler(rtm, ev, s[1], "lore", redisClient) case "newlore": if strings.Contains(content, " ") { + newhandler(rtm, ev, content, "lore", redisClient) } else { rtm.SendMessage(rtm.NewOutgoingMessage("not proper syntax", ev.Channel)) return } - newhandler(rtm, ev, content, "lore", redisClient) case "rmlore": rmhandler(rtm, ev, content, "lore", redisClient) case "rek": @@ -319,6 +319,14 @@ func lorestatus(rtm *slack.RTM, ev *slack.MessageEvent, redisClient *redis.Clien } func newhandler(rtm *slack.RTM, ev *slack.MessageEvent, message, newType string, redisClient *redis.Client) { + // dont allow certain chars + //if strings.ContainsAny(message, ";:.,'\"\\/!$&^\(\)") { + println(message) + if strings.ContainsAny(message, ";:,.'\"!$%^*()/\\") { + // reject user input, it has unwanted chars + rtm.SendMessage(rtm.NewOutgoingMessage("entry could not be created, unwanted characters", ev.Channel)) + return + } // get nick from slack api user, err := rtm.GetUserInfo(ev.User) if err != nil {