diff options
author | Wim <wim@42.be> | 2017-04-15 20:21:57 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2017-04-15 20:21:57 +0200 |
commit | fdb57230a363d1326f597253bb230f0e7e325aee (patch) | |
tree | 58af49c8d900f1b43a61528d6360188ef296007b /matterclient | |
parent | 7469732bbc84dbb60b6eafc29fb8d0771a48ba27 (diff) | |
download | matterbridge-msglm-fdb57230a363d1326f597253bb230f0e7e325aee.tar.gz matterbridge-msglm-fdb57230a363d1326f597253bb230f0e7e325aee.tar.bz2 matterbridge-msglm-fdb57230a363d1326f597253bb230f0e7e325aee.zip |
Add support for edited messages (mattermost)
Diffstat (limited to 'matterclient')
-rw-r--r-- | matterclient/matterclient.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go index a066d654..d234fb34 100644 --- a/matterclient/matterclient.go +++ b/matterclient/matterclient.go @@ -251,7 +251,7 @@ func (m *MMClient) WsReceiver() { func (m *MMClient) parseMessage(rmsg *Message) { switch rmsg.Raw.Event { - case model.WEBSOCKET_EVENT_POSTED: + case model.WEBSOCKET_EVENT_POSTED, model.WEBSOCKET_EVENT_POST_EDITED: m.parseActionPost(rmsg) /* case model.ACTION_USER_REMOVED: @@ -280,7 +280,17 @@ func (m *MMClient) parseActionPost(rmsg *Message) { rmsg.Username = m.GetUser(data.UserId).Username rmsg.Channel = m.GetChannelName(data.ChannelId) rmsg.Type = data.Type - rmsg.Team = m.GetTeamName(rmsg.Raw.Data["team_id"].(string)) + teamid, _ := rmsg.Raw.Data["team_id"].(string) + // edit messsages have no team_id for some reason + if teamid == "" { + // we can find the team_id from the channelid + result, _ := m.Client.GetChannel(data.ChannelId, "") + teamid = result.Data.(*model.ChannelData).Channel.TeamId + rmsg.Raw.Data["team_id"] = teamid + } + if teamid != "" { + rmsg.Team = m.GetTeamName(teamid) + } // direct message if rmsg.Raw.Data["channel_type"] == "D" { rmsg.Channel = m.GetUser(data.UserId).Username |