From 11903a38341eb55bb4c6f26ea141eccb90beabe2 Mon Sep 17 00:00:00 2001 From: JoramWilander Date: Fri, 2 Oct 2015 11:08:00 -0400 Subject: Add ability to override username and icon for posts from incoming webhooks. --- web/web.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'web/web.go') 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 -- cgit v1.2.3-1-g7c22