summaryrefslogtreecommitdiffstats
path: root/web/web.go
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2015-10-02 11:08:00 -0400
committerJoramWilander <jwawilander@gmail.com>2015-10-02 11:08:00 -0400
commit11903a38341eb55bb4c6f26ea141eccb90beabe2 (patch)
tree9988d9c39af2e29e94570af8552d8ce941200a60 /web/web.go
parentf0c8019da468895a3da89809f63d272eaf26bb59 (diff)
downloadchat-11903a38341eb55bb4c6f26ea141eccb90beabe2.tar.gz
chat-11903a38341eb55bb4c6f26ea141eccb90beabe2.tar.bz2
chat-11903a38341eb55bb4c6f26ea141eccb90beabe2.zip
Add ability to override username and icon for posts from incoming webhooks.
Diffstat (limited to 'web/web.go')
-rw-r--r--web/web.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/web/web.go b/web/web.go
index bf985a5a0..564671285 100644
--- a/web/web.go
+++ b/web/web.go
@@ -865,6 +865,9 @@ func incomingWebhook(c *api.Context, w http.ResponseWriter, r *http.Request) {
channelName := props["channel"]
+ overrideUsername := props["username"]
+ overrideIconUrl := props["icon_url"]
+
var hook *model.IncomingWebhook
if result := <-hchan; result.Err != nil {
c.Err = model.NewAppError("incomingWebhook", "Invalid webhook", "err="+result.Err.Message)
@@ -911,6 +914,14 @@ func incomingWebhook(c *api.Context, w http.ResponseWriter, r *http.Request) {
post := &model.Post{UserId: hook.UserId, ChannelId: channel.Id, Message: text}
+ if len(overrideUsername) != 0 {
+ post.AddProp("override_username", overrideUsername)
+ }
+
+ if len(overrideIconUrl) != 0 {
+ post.AddProp("override_icon_url", overrideIconUrl)
+ }
+
if !c.HasPermissionsToChannel(pchan, "createIncomingHook") && channel.Type != model.CHANNEL_OPEN {
c.Err = model.NewAppError("incomingWebhook", "Inappropriate channel permissions", "")
return