Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit c7e0a465387e516362fe86db9e84804adbc7cbbf Author: Wim <wim@42.be> Date: Tue Jul 03 22:35:44 2018 +0000 Add GetNickname and UpdateUser functions When we get an user_updated event from mattermost we also actually update the user, so the nicknames/usernames are also updated diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go index e62ae42..951d631 100644 --- a/matterclient/matterclient.go +++ b/matterclient/matterclient.go @@ -3106 +31011 @@ func (m *MMClient) parseMessage(rmsg *Message) {   switch rmsg.Raw.Event {   case model.WEBSOCKET_EVENT_POSTED, model.WEBSOCKET_EVENT_POST_EDITED, model.WEBSOCKET_EVENT_POST_DELETED:   m.parseActionPost(rmsg) + case "user_updated": + user := rmsg.Raw.Data["user"].(map[string]interface{}) + if _, ok := user["id"].(string); ok { + m.UpdateUser(user["id"].(string)) + }   /*   case model.ACTION_USER_REMOVED:   m.handleWsActionUserRemoved(&rmsg) @@ -7506 +75516 @@ func (m *MMClient) GetUser(userId string) *model.User {   return m.Users[userId]  }   +func (m *MMClient) UpdateUser(userId string) { + m.Lock() + defer m.Unlock() + res, resp := m.Client.GetUser(userId, "") + if resp.Error != nil { + return + } + m.Users[userId] = res +} +  func (m *MMClient) GetUserName(userId string) string {   user := m.GetUser(userId)   if user != nil { @@ -7586 +77314 @@ func (m *MMClient) GetUserName(userId string) string {   return ""  }   +func (m *MMClient) GetNickName(userId string) string { + user := m.GetUser(userId) + if user != nil { + return user.Nickname + } + return "" +} +  func (m *MMClient) GetStatus(userId string) string {   res, resp := m.Client.GetUserStatus(userId, "")   if resp.Error != nil {