commit f19d09f85d981633e0116904429ff16fd0ca1f14
Author: Wim <wim@42.be>
Date: Sun May 27 21:50:00 2018 +0000
diff --git a/bridge/mattermost/mattermost.go b/bridge/mattermost/mattermost.go
index 42843d0..51d3242 100644
--- a/bridge/mattermost/mattermost.go
+++ b/bridge/mattermost/mattermost.go
@@ -812 +814 @@ import (
"github.com/42wim/matterbridge/bridge/helper"
"github.com/42wim/matterbridge/matterclient"
"github.com/42wim/matterbridge/matterhook"
+ "github.com/rs/xid"
"strings"
)
type Bmattermost struct {
mh *matterhook.Client
mc *matterclient.MMClient
+ uuid string
TeamID string
*bridge.Config
avatarMap map[string]string
@@ -216 +237 @@ type Bmattermost struct {
func New(cfg *bridge.Config) bridge.Bridger {
b := &Bmattermost{Config: cfg, avatarMap: make(map[string]string)}
+ b.uuid = xid.New().String()
return b
}
@@ -3667 +3697 @@ func (b *Bmattermost) sendWebhook(msg config.Message) (string, error) {
// this sends a message only if we received a config.EVENT_FILE_FAILURE_SIZE
for _, rmsg := range helper.HandleExtra(&msg, b.General) {
matterMessage := matterhook.OMessage{IconURL: b.GetString("IconURL"), Channel: rmsg.Channel, UserName: rmsg.Username, Text: rmsg.Text, Props: make(map[string]interface{})}
- matterMessage.Props["matterbridge_"+b.mc.User.Id] = true
+ matterMessage.Props["matterbridge_"+b.uuid] = true
b.mh.Send(matterMessage)
}
@@ -3857 +3887 @@ func (b *Bmattermost) sendWebhook(msg config.Message) (string, error) {
if msg.Avatar != "" {
matterMessage.IconURL = msg.Avatar
}
- matterMessage.Props["matterbridge_"+b.mc.User.Id] = true
+ matterMessage.Props["matterbridge_"+b.uuid] = true
err := b.mh.Send(matterMessage)
if err != nil {
b.Log.Info(err)
@@ -4157 +4187 @@ func (b *Bmattermost) skipMessage(message *matterclient.Message) bool {
// Ignore messages sent from matterbridge
if message.Post.Props != nil {
- if _, ok := message.Post.Props["matterbridge_"+b.mc.User.Id].(bool); ok {
+ if _, ok := message.Post.Props["matterbridge_"+b.uuid].(bool); ok {
b.Log.Debugf("sent by matterbridge, ignoring")
return true
}
diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go
index cedb18e..1633d82 100644
--- a/bridge/slack/slack.go
+++ b/bridge/slack/slack.go
@@ -156 +157 @@ import (
"github.com/42wim/matterbridge/bridge/helper"
"github.com/42wim/matterbridge/matterhook"
"github.com/nlopes/slack"
+ "github.com/rs/xid"
)
type Bslack struct {
@@ -256 +267 @@ type Bslack struct {
Usergroups []slack.UserGroup
si *slack.Info
channels []slack.Channel
+ uuid string
*bridge.Config
sync.RWMutex
}
@@ -327 +347 @@ type Bslack struct {
const messageDeleted = "message_deleted"
func New(cfg *bridge.Config) bridge.Bridger {
- return &Bslack{Config: cfg}
+ return &Bslack{Config: cfg, uuid: xid.New().String()}
}
func (b *Bslack) Command(cmd string) string {
@@ -1777 +1797 @@ func (b *Bslack) Send(msg config.Message) (string, error) {
np.IconURL = msg.Avatar
}
// add a callback ID so we can see we created it
- np.Attachments = append(np.Attachments, slack.Attachment{CallbackID: "matterbridge_" + b.si.User.ID})
+ np.Attachments = append(np.Attachments, slack.Attachment{CallbackID: "matterbridge_" + b.uuid})
// add file attachments
np.Attachments = append(np.Attachments, b.createAttach(msg.Extra)...)
// add slack attachments (from another slack bridge)
@@ -6577 +6597 @@ func (b *Bslack) skipMessageEvent(ev *slack.MessageEvent) bool {
// skip messages we made ourselves
if len(ev.Attachments) > 0 {
- if ev.Attachments[0].CallbackID == "matterbridge_"+b.si.User.ID {
+ if ev.Attachments[0].CallbackID == "matterbridge_"+b.uuid {
return true
}
}