summaryrefslogtreecommitdiffstats
path: root/matterclient
diff options
context:
space:
mode:
Diffstat (limited to 'matterclient')
-rw-r--r--matterclient/matterclient.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go
index 859c94bc..43446bcb 100644
--- a/matterclient/matterclient.go
+++ b/matterclient/matterclient.go
@@ -295,8 +295,7 @@ func (m *MMClient) parseActionPost(rmsg *Message) {
// 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
+ teamid = m.GetChannelTeamId(data.ChannelId)
rmsg.Raw.Data["team_id"] = teamid
}
if teamid != "" {
@@ -374,6 +373,19 @@ func (m *MMClient) GetChannelId(name string, teamId string) string {
return ""
}
+func (m *MMClient) GetChannelTeamId(id string) string {
+ m.RLock()
+ defer m.RUnlock()
+ for _, t := range append(m.OtherTeams, m.Team) {
+ for _, channel := range append(*t.Channels, *t.MoreChannels...) {
+ if channel.Id == id {
+ return channel.TeamId
+ }
+ }
+ }
+ return ""
+}
+
func (m *MMClient) GetChannelHeader(channelId string) string {
m.RLock()
defer m.RUnlock()