ed01820722
Currently fully support mattermost,slack and discord. Message deleted on the bridge or received from other bridges will be deleted. Partially support for Gitter. Gitter bridge will delete messages received from other bridges. But if you delete a message on gitter, this deletion will not be sent to other bridges (this is a gitter API limitation, it doesn't propogate edits or deletes via the API) |
||
---|---|---|
.github | ||
bridge | ||
ci | ||
gateway | ||
hook/rockethook | ||
matterclient | ||
matterhook | ||
vendor | ||
.travis.yml | ||
changelog.md | ||
Dockerfile | ||
LICENSE | ||
matterbridge.go | ||
matterbridge.toml.sample | ||
matterbridge.toml.simple | ||
README.md |
matterbridge
Click on one of the badges below to join the chat
Simple bridge between Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Matrix and Steam. Has a REST API.
Table of Contents
Features
- Relays public channel messages between multiple mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (via xmpp), Matrix and Steam. Pick and mix.
- Matterbridge can also work with private groups on your mattermost/slack.
- Allow for bridging the same bridges, which means you can eg bridge between multiple mattermosts.
- The bridge is now a gateway which has support multiple in and out bridges. (and supports multiple gateways).
- REST API to read/post messages to bridges (WIP).
Requirements
Accounts to one of the supported bridges
- Mattermost 3.8.x - 3.10.x, 4.0.x - 4.2.x
- IRC
- XMPP
- Gitter
- Slack
- Discord
- Telegram
- Hipchat
- Rocket.chat
- Matrix
- Steam
Screenshots
See https://github.com/42wim/matterbridge/wiki
Installing
Binaries
Building
Go 1.7+ is required. Make sure you have Go properly installed, including setting up your [GOPATH] (https://golang.org/doc/code.html#GOPATH)
cd $GOPATH
go get github.com/42wim/matterbridge
You should now have matterbridge binary in the bin directory:
$ ls bin/
matterbridge
Configuration
Basic configuration
See howto for a step by step walkthrough for creating your configuration.
Advanced configuration
- matterbridge.toml.sample for documentation and an example.
Examples
Bridge mattermost (off-topic) - irc (#testing)
[irc]
[irc.freenode]
Server="irc.freenode.net:6667"
Nick="yourbotname"
[mattermost]
[mattermost.work]
Server="yourmattermostserver.tld"
Team="yourteam"
Login="yourlogin"
Password="yourpass"
PrefixMessagesWithNick=true
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
[[gateway]]
name="mygateway"
enable=true
[[gateway.inout]]
account="irc.freenode"
channel="#testing"
[[gateway.inout]]
account="mattermost.work"
channel="off-topic"
Bridge slack (#general) - discord (general)
[slack]
[slack.test]
Token="yourslacktoken"
PrefixMessagesWithNick=true
[discord]
[discord.test]
Token="yourdiscordtoken"
Server="yourdiscordservername"
[general]
RemoteNickFormat="[{PROTOCOL}/{BRIDGE}] <{NICK}> "
[[gateway]]
name = "mygateway"
enable=true
[[gateway.inout]]
account = "discord.test"
channel="general"
[[gateway.inout]]
account ="slack.test"
channel = "general"
Running
See howto for a step by step walkthrough for creating your configuration.
Usage of ./matterbridge:
-conf string
config file (default "matterbridge.toml")
-debug
enable debug
-gops
enable gops agent
-version
show version
Docker
Create your matterbridge.toml file locally eg in /tmp/matterbridge.toml
docker run -ti -v /tmp/matterbridge.toml:/matterbridge.toml 42wim/matterbridge
Changelog
See changelog.md
FAQ
See FAQ
Want to tip ?
- eth: 0xb3f9b5387c66ad6be892bcb7bbc67862f3abc16f
- btc: 1N7cKHj5SfqBHBzDJ6kad4BzeqUBBS2zhs
Thanks
Matterbridge wouldn't exist without these libraries:
- discord - https://github.com/bwmarrin/discordgo
- echo - https://github.com/labstack/echo
- gitter - https://github.com/sromku/go-gitter
- gops - https://github.com/google/gops
- irc - https://github.com/thoj/go-ircevent
- mattermost - https://github.com/mattermost/platform
- matrix - https://github.com/matrix-org/gomatrix
- slack - https://github.com/nlopes/slack
- steam - https://github.com/Philipp15b/go-steam
- telegram - https://github.com/go-telegram-bot-api/telegram-bot-api
- xmpp - https://github.com/mattn/go-xmpp