33bd60528b
* Add config option MediaUploadPath MediaDownloadPath can be used instead of MediaServerUpload, for when your webserver is on the same system as matterbridge and matterbridge has write access to the serve dir. * Limit length of hash in MediaServer urls to 8chars Full SHA256 is unnecessary for uniqueness. Also; if a file has the same first 8 charachters of the SHA256 hash, it's still not a problem, as long as the filename is not the same. |
||
---|---|---|
.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
for sponsoring demo/testing droplets.
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 * zulip - https://github.com/ifo/gozulipbot