summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorPat Lathem <patl@codero.com>2015-10-16 15:13:29 -0500
committerPat Lathem <patl@codero.com>2015-10-16 15:13:29 -0500
commitb1d9af215494d5c5cee6eb092876fe27c4ef4e71 (patch)
tree1dab4c8a901edd2d2be79eb4356b15413bf607e4 /api
parent3c593af598b2bb986244099ed1b9a46ed3837911 (diff)
downloadchat-b1d9af215494d5c5cee6eb092876fe27c4ef4e71.tar.gz
chat-b1d9af215494d5c5cee6eb092876fe27c4ef4e71.tar.bz2
chat-b1d9af215494d5c5cee6eb092876fe27c4ef4e71.zip
Add a /shrug command
Diffstat (limited to 'api')
-rw-r--r--api/command.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/api/command.go b/api/command.go
index 94b2cd2f8..956c8c723 100644
--- a/api/command.go
+++ b/api/command.go
@@ -22,6 +22,7 @@ var commands = []commandHandler{
joinCommand,
loadTestCommand,
echoCommand,
+ shrugCommand,
}
var echoSem chan bool
@@ -160,6 +161,34 @@ func echoCommand(c *Context, command *model.Command) bool {
return false
}
+func shrugCommand(c *Context, command *model.Command) bool {
+ cmd := "/shrug"
+
+ if !command.Suggest && strings.Index(command.Command, cmd) == 0 {
+ message := "¯\\_(ツ)_/¯"
+
+ parameters := strings.SplitN(command.Command, " ", 2)
+ if len(parameters) > 1 {
+ message += " " + parameters[1]
+ }
+
+ post := &model.Post{}
+ post.Message = message
+ post.ChannelId = command.ChannelId
+ if _, err := CreatePost(c, post, false); err != nil {
+ l4g.Error("Unable to create /shrug post post, err=%v", err)
+ return false
+ }
+ command.Response = model.RESP_EXECUTED
+ return true
+
+ } else if strings.Index(cmd, command.Command) == 0 {
+ command.AddSuggestion(&model.SuggestCommand{Suggestion: cmd, Description: "Adds ¯\\_(ツ)_/¯ to your message, /shrug [message]"})
+ }
+
+ return false
+}
+
func joinCommand(c *Context, command *model.Command) bool {
// looks for "/join channel-name"