11# matterbridge
2- ![ matterbridge.gif ] ( https://s15.postimg.org/qpjhp6y3f/matterbridge.gif )
2+ Click on one of the badges below to join the chat
33
4- Simple bridge between mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat and Hipchat(via xmpp).
4+ [](https://gitter.im/Subluminal/matterbridge) [](https://webchat.freenode.net/?channels=matterbridgechat) [](https://discord.gg/AkKPtrQ) [](https://riot.im/app/#/room/#matterbridge:matrix.org) [](https://join.slack.com/matterbridgechat/shared_invite/MjEwODMxNjU1NDMwLTE0OTk2MTU3NTMtMzZkZmRiNDZhOA) [](https://framateam.org/signup_user_complete/?id=tfqm33ggop8x3qgu4boeieta6e) 
55
6- * Relays public channel messages between multiple mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat and Hipchat (via xmpp). Pick and mix.
7- * Supports multiple channels.
8- * Matterbridge can also work with private groups on your mattermost.
9- * Allow for bridging the same bridges, which means you can eg bridge between multiple mattermosts.
10- * The bridge is now a gateway which has support multiple in and out bridges. (and supports multiple gateways).
11-
12- Look at [ matterbridge.toml.sample] ( https://github.com/Subluminal/matterbridge/blob/master/matterbridge.toml.sample ) for documentation and an example.
13- Look at [ matterbridge.toml.simple] ( https://github.com/Subluminal/matterbridge/blob/master/matterbridge.toml.simple ) for a simple example.
6+ [ ![ Download stable] ( https://img.shields.io/github/release/Subluminal/matterbridge.svg?label=download%20stable )] ( https://github.com/Subluminal/matterbridge/releases/latest ) [ ![ Download dev] ( https://img.shields.io/bintray/v/Subluminal/nightly/Matterbridge.svg?label=download%20dev&colorB=007ec6 )] ( https://bintray.com/Subluminal/nightly/Matterbridge/_latestVersion )
147
8+ ![ matterbridge.gif] ( https://s15.postimg.org/qpjhp6y3f/matterbridge.gif )
159
16- ## Changelog
17- Since v0.7.0 the configuration has changed. More details in [ changelog.md] ( https://github.com/Subluminal/matterbridge/blob/master/changelog.md )
10+ Simple bridge between Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Matrix and Steam.
11+ Has a REST API.
12+
13+ # Table of Contents
14+ * [ Features] ( #features )
15+ * [ Requirements] ( #requirements )
16+ * [ Screenshots] ( https://github.com/Subluminal/matterbridge/wiki/ )
17+ * [ Installing] ( #installing )
18+ * [ Binaries] ( #binaries )
19+ * [ Building] ( #building )
20+ * [ Configuration] ( #configuration )
21+ * [ Howto] ( https://github.com/Subluminal/matterbridge/wiki/How-to-create-your-config )
22+ * [ Examples] ( #examples )
23+ * [ Running] ( #running )
24+ * [ Docker] ( #docker )
25+ * [ Changelog] ( #changelog )
26+ * [ FAQ] ( #faq )
27+ * [ Thanks] ( #thanks )
28+
29+ # Features
30+ * Relays public channel messages between multiple mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (via xmpp), Matrix and Steam.
31+ Pick and mix.
32+ * Support private groups on your mattermost/slack.
33+ * Allow for bridging the same bridges, which means you can eg bridge between multiple mattermosts.
34+ * The bridge is now a gateway which has support multiple in and out bridges. (and supports multiple gateways).
35+ * Edits and delete messages across bridges that support it (mattermost,slack,discord,gitter,telegram)
36+ * REST API to read/post messages to bridges (WIP).
1837
19- ## Requirements
38+ # Requirements
2039Accounts to one of the supported bridges
21- * [ Mattermost] ( https://github.com/mattermost/platform/ )
40+ * [ Mattermost] ( https://github.com/mattermost/platform/ ) 3.8.x - 3.10.x, 4.x
2241* [ IRC] ( http://www.mirc.com/servers.html )
2342* [ XMPP] ( https://jabber.org )
2443* [ Gitter] ( https://gitter.im )
@@ -27,35 +46,19 @@ Accounts to one of the supported bridges
2746* [ Telegram] ( https://telegram.org )
2847* [ Hipchat] ( https://www.hipchat.com )
2948* [ Rocket.chat] ( https://rocket.chat )
49+ * [ Matrix] ( https://matrix.org )
50+ * [ Steam] ( https://store.steampowered.com/ )
3051
31- ## Docker
32- Create your matterbridge.toml file locally eg in ``` /tmp/matterbridge.toml ```
33- ```
34- docker run -ti -v /tmp/matterbridge.toml:/matterbridge.toml Subluminal/matterbridge
35- ```
36-
37- ## binaries
38- Binaries can be found [ here] ( https://github.com/Subluminal/matterbridge/releases/ )
39- * For use with mattermost 3.5.0+ [ v0.9.0] ( https://github.com/Subluminal/matterircd/releases/tag/v0.9.0 )
40- * For use with mattermost 3.3.0 - 3.4.0 [ v0.7.1] ( https://github.com/Subluminal/matterircd/releases/tag/v0.7.1 )
41- * For use with mattermost 3.0.0 - 3.2.0 [ v0.5.0] ( https://github.com/Subluminal/matterircd/releases/tag/v0.5.0 ) (not maintained anymore)
42-
43- ## Compatibility
44- ### Mattermost
45- * Matterbridge v0.9.0 works with mattermost 3.5.0+ [ 3.5.1 release] ( https://github.com/mattermost/platform/releases/tag/v3.5.1 )
46- * Matterbridge v0.7.1 works with mattermost 3.3.0 - 3.4.0 [ 3.4.0 release] ( https://github.com/mattermost/platform/releases/tag/v3.4.0 )
47- * Matterbridge v0.5.0 works with mattermost 3.0.0 - 3.2.0 [ 3.2.0 release] ( https://github.com/mattermost/platform/releases/tag/v3.2.0 )
48-
52+ # Screenshots
53+ See https://github.com/Subluminal/matterbridge/wiki
4954
50- #### Webhooks version
51- * Configured incoming/outgoing [ webhooks] ( https://www.mattermost.org/webhooks/ ) on your mattermost instance.
55+ # Installing
56+ ## Binaries
57+ * Latest stable release [ v1.3.1] ( https://github.com/Subluminal/matterbridge/releases/latest )
58+ * Development releases (follows master) can be downloaded [ here] ( https://dl.bintray.com/Subluminal/nightly/ )
5259
53- #### API version
54- * A dedicated user(bot) on your mattermost instance.
55-
56-
57- ## building
58- Go 1.6+ is required. Make sure you have [ Go] ( https://golang.org/doc/install ) properly installed, including setting up your [ GOPATH] ( https://golang.org/doc/code.html#GOPATH )
60+ ## Building
61+ Go 1.7+ is required. Make sure you have [ Go] ( https://golang.org/doc/install ) properly installed, including setting up your [ GOPATH] (https://golang.org/doc/code.html#GOPATH )
5962
6063```
6164cd $GOPATH
@@ -69,50 +72,113 @@ $ ls bin/
6972matterbridge
7073```
7174
72- ## running
73- 1 ) Copy the matterbridge.conf.sample to matterbridge.conf in the same directory as the matterbridge binary.
74- 2 ) Edit matterbridge.conf with the settings for your environment. See below for more config information.
75- 3 ) Now you can run matterbridge.
75+ # Configuration
76+ ## Basic configuration
77+ See [ howto] ( https://github.com/Subluminal/matterbridge/wiki/How-to-create-your-config ) for a step by step walkthrough for creating your configuration.
78+
79+ ## Advanced configuration
80+ * [ matterbridge.toml.sample] ( https://github.com/Subluminal/matterbridge/blob/master/matterbridge.toml.sample ) for documentation and an example.
81+
82+ ## Examples
83+ ### Bridge mattermost (off-topic) - irc (#testing)
84+ ```
85+ [irc]
86+ [irc.freenode]
87+ Server="irc.freenode.net:6667"
88+ Nick="yourbotname"
89+
90+ [mattermost]
91+ [mattermost.work]
92+ Server="yourmattermostserver.tld"
93+ Team="yourteam"
94+ Login="yourlogin"
95+ Password="yourpass"
96+ PrefixMessagesWithNick=true
97+ RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
98+
99+ [[gateway]]
100+ name="mygateway"
101+ enable=true
102+ [[gateway.inout]]
103+ account="irc.freenode"
104+ channel="#testing"
105+
106+ [[gateway.inout]]
107+ account="mattermost.work"
108+ channel="off-topic"
109+ ```
110+
111+ ### Bridge slack (#general) - discord (general)
112+ ```
113+ [slack]
114+ [slack.test]
115+ Token="yourslacktoken"
116+ PrefixMessagesWithNick=true
117+
118+ [discord]
119+ [discord.test]
120+ Token="yourdiscordtoken"
121+ Server="yourdiscordservername"
122+
123+ [general]
124+ RemoteNickFormat="[{PROTOCOL}/{BRIDGE}] <{NICK}> "
125+
126+ [[gateway]]
127+ name = "mygateway"
128+ enable=true
129+
130+ [[gateway.inout]]
131+ account = "discord.test"
132+ channel="general"
133+
134+ [[gateway.inout]]
135+ account ="slack.test"
136+ channel = "general"
137+ ```
138+
139+ # Running
140+
141+ See [ howto] ( https://github.com/Subluminal/matterbridge/wiki/How-to-create-your-config ) for a step by step walkthrough for creating your configuration.
76142
77143```
78144Usage of ./matterbridge:
79145 -conf string
80146 config file (default "matterbridge.toml")
81147 -debug
82148 enable debug
149+ -gops
150+ enable gops agent
83151 -version
84152 show version
85153```
86154
87- ## config
88- ### matterbridge
89- matterbridge looks for matterbridge.toml in current directory. (use -conf to specify another file)
90-
91- Look at [ matterbridge.toml.sample] ( https://github.com/Subluminal/matterbridge/blob/master/matterbridge.toml.sample ) for an example.
92-
93- ### mattermost
94- #### webhooks version
95- You'll have to configure the incoming and outgoing webhooks.
96-
97- * incoming webhooks
98- Go to "account settings" - integrations - "incoming webhooks".
99- Choose a channel at "Add a new incoming webhook", this will create a webhook URL right below.
100- This URL should be set in the matterbridge.conf in the [ mattermost] section (see above)
101-
102- * outgoing webhooks
103- Go to "account settings" - integrations - "outgoing webhooks".
104- Choose a channel (the same as the one from incoming webhooks) and fill in the address and port of the server matterbridge will run on.
105-
106- e.g. http://192.168.1.1:9999 (192.168.1.1:9999 is the BindAddress specified in [ mattermost] section of matterbridge.conf)
107-
108- ## FAQ
109- Please look at [ matterbridge.toml.sample] ( https://github.com/Subluminal/matterbridge/blob/master/matterbridge.toml.sample ) for more information first.
110- ### Mattermost doesn't show the IRC nicks
111- If you're running the webhooks version, this can be fixed by either:
112- * enabling "override usernames". See [ mattermost documentation] ( http://docs.mattermost.com/developer/webhooks-incoming.html#enabling-incoming-webhooks )
113- * setting ``` PrefixMessagesWithNick ``` to ``` true ``` in ``` mattermost ``` section of your matterbridge.toml.
114-
115- If you're running the plus version you'll need to:
116- * setting ``` PrefixMessagesWithNick ``` to ``` true ``` in ``` mattermost ``` section of your matterbridge.toml.
155+ ## Docker
156+ Create your matterbridge.toml file locally eg in ``` /tmp/matterbridge.toml ```
157+ ```
158+ docker run -ti -v /tmp/matterbridge.toml:/matterbridge.toml Subluminal/matterbridge
159+ ```
117160
118- Also look at the ``` RemoteNickFormat ``` setting.
161+ # Changelog
162+ See [ changelog.md] ( https://github.com/Subluminal/matterbridge/blob/master/changelog.md )
163+
164+ # FAQ
165+
166+ See [ FAQ] ( https://github.com/Subluminal/matterbridge/wiki/FAQ )
167+
168+ Want to tip ?
169+ * eth: 0xb3f9b5387c66ad6be892bcb7bbc67862f3abc16f
170+ * btc: 1N7cKHj5SfqBHBzDJ6kad4BzeqUBBS2zhs
171+
172+ # Thanks
173+ Matterbridge wouldn't exist without these libraries:
174+ * discord - https://github.com/bwmarrin/discordgo
175+ * echo - https://github.com/labstack/echo
176+ * gitter - https://github.com/sromku/go-gitter
177+ * gops - https://github.com/google/gops
178+ * irc - https://github.com/thoj/go-ircevent
179+ * mattermost - https://github.com/mattermost/platform
180+ * matrix - https://github.com/matrix-org/gomatrix
181+ * slack - https://github.com/nlopes/slack
182+ * steam - https://github.com/Philipp15b/go-steam
183+ * telegram - https://github.com/go-telegram-bot-api/telegram-bot-api
184+ * xmpp - https://github.com/mattn/go-xmpp
0 commit comments