be04d1a862
Conversations can't show inline pictures if there's anything besides URL in the message body. Workaround this issue by sending one usual message and one message with OOB data and without message body. The second message should not be shown in the clients without OOB support, so the user won't see the empty message. |
||
---|---|---|
.github | ||
bridge | ||
ci | ||
contrib | ||
docker/arm | ||
gateway | ||
hook/rockethook | ||
img | ||
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 IRC, XMPP, Gitter, Mattermost, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Matrix, Steam, ssh-chat and Zulip
Has a REST API.
Minecraft server chat support via MatterLink
Mattermost isn't required to run matterbridge. It bridges between any supported protocol.
(The name matterbridge is a remnant when it was only bridging mattermost)
Table of Contents
Features
- Support bridging between any protocols
- Support multiple gateways(bridges) for your protocols
- Message edits and deletes
- Attachment / files handling
- Username and avatar spoofing
- Private groups
- API
API
The API is very basic at the moment and rather undocumented.
Used by at least 2 projects. Feel free to make a PR to add your project to this list.
- MatterLink (Matterbridge link for Minecraft Server chat)
- pyCord (crossplatform chatbot)
Requirements
Accounts to one of the supported bridges
- Mattermost 3.8.x - 3.10.x, 4.x
- IRC
- XMPP
- Gitter
- Slack
- Discord
- Telegram
- Hipchat
- Rocket.chat
- Matrix
- Steam
- Twitch
- Ssh-chat
- Zulip
Screenshots
See https://github.com/42wim/matterbridge/wiki
Installing
Binaries
Building
Go 1.8+ 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
- gozulipbot - https://github.com/ifo/gozulipbot
- irc - https://github.com/lrstanley/girc
- 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