summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWim <wim@42.be>2016-10-23 21:16:14 +0200
committerWim <wim@42.be>2016-10-23 21:16:14 +0200
commit545377742c268f1193246a4005c07b0d7a516eaa (patch)
tree346316e85b7a4cab3e9211dd67cdfa10feed0761
parent47d38192b2e3ed9bacdcda81d4c0282fe60d508a (diff)
downloadmatterbridge-msglm-545377742c268f1193246a4005c07b0d7a516eaa.tar.gz
matterbridge-msglm-545377742c268f1193246a4005c07b0d7a516eaa.tar.bz2
matterbridge-msglm-545377742c268f1193246a4005c07b0d7a516eaa.zip
Drop messages not from our mattermost team. Fixes #49
-rw-r--r--bridge/mattermost/mattermost.go5
-rw-r--r--matterclient/matterclient.go4
2 files changed, 8 insertions, 1 deletions
diff --git a/bridge/mattermost/mattermost.go b/bridge/mattermost/mattermost.go
index ce506638..2a9749d2 100644
--- a/bridge/mattermost/mattermost.go
+++ b/bridge/mattermost/mattermost.go
@@ -31,6 +31,7 @@ type Bmattermost struct {
name string
origin string
protocol string
+ TeamId string
}
var flog *log.Entry
@@ -75,6 +76,7 @@ func (b *Bmattermost) Connect() error {
go b.mc.WsReceiver()
}
go b.handleMatter()
+ b.TeamId = b.mc.GetTeamId()
return nil
}
@@ -153,7 +155,8 @@ func (b *Bmattermost) handleMatter() {
func (b *Bmattermost) handleMatterClient(mchan chan *MMMessage) {
for message := range b.mc.MessageChan {
// do not post our own messages back to irc
- if message.Raw.Event == "posted" && b.mc.User.Username != message.Username {
+ // only listen to message from our team
+ if message.Raw.Event == "posted" && b.mc.User.Username != message.Username && message.Raw.TeamId == b.TeamId {
flog.Debugf("Receiving from matterclient %#v", message)
m := &MMMessage{}
m.Username = message.Username
diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go
index 1bac634e..37530480 100644
--- a/matterclient/matterclient.go
+++ b/matterclient/matterclient.go
@@ -576,6 +576,10 @@ func (m *MMClient) GetStatus(userId string) string {
return "offline"
}
+func (m *MMClient) GetTeamId() string {
+ return m.Team.Id
+}
+
func (m *MMClient) StatusLoop() {
for {
if m.WsQuit {