summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWim <wim@42.be>2018-11-11 21:56:12 +0100
committerWim <wim@42.be>2018-11-11 21:56:12 +0100
commit730ccdd4567de7bbcf8794fef95a7324cef5198b (patch)
tree8bc6f76bb685e5aa9d2cef1c8617162da3d38504
parent2f042ad9153a5116abed82cf74688af4579908ad (diff)
downloadmatterbridge-msglm-730ccdd4567de7bbcf8794fef95a7324cef5198b.tar.gz
matterbridge-msglm-730ccdd4567de7bbcf8794fef95a7324cef5198b.tar.bz2
matterbridge-msglm-730ccdd4567de7bbcf8794fef95a7324cef5198b.zip
Add support for mattermost matterbridge plugin
-rw-r--r--gateway/gateway.go6
-rw-r--r--gateway/router.go7
2 files changed, 10 insertions, 3 deletions
diff --git a/gateway/gateway.go b/gateway/gateway.go
index 442e27fb..728ed703 100644
--- a/gateway/gateway.go
+++ b/gateway/gateway.go
@@ -321,6 +321,12 @@ func (gw *Gateway) handleMessage(msg config.Message, dest *bridge.Bridge) []*BrM
msg.ParentID = canonicalParentMsgID
}
+ // if we are using mattermost plugin account, send messages to MattermostPlugin channel
+ // that can be picked up by the mattermost matterbridge plugin
+ if dest.Account == "mattermost.plugin" {
+ gw.Router.MattermostPlugin <- msg
+ }
+
mID, err := dest.Send(msg)
if err != nil {
flog.Error(err)
diff --git a/gateway/router.go b/gateway/router.go
index 1ea3f940..030b7b1e 100644
--- a/gateway/router.go
+++ b/gateway/router.go
@@ -11,13 +11,14 @@ import (
)
type Router struct {
- Gateways map[string]*Gateway
- Message chan config.Message
+ Gateways map[string]*Gateway
+ Message chan config.Message
+ MattermostPlugin chan config.Message
*config.Config
}
func NewRouter(cfg *config.Config) (*Router, error) {
- r := &Router{Message: make(chan config.Message), Gateways: make(map[string]*Gateway), Config: cfg}
+ r := &Router{Message: make(chan config.Message), MattermostPlugin: make(chan config.Message), Gateways: make(map[string]*Gateway), Config: cfg}
sgw := samechannelgateway.New(cfg)
gwconfigs := sgw.GetConfig()