bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocket.chat, steam, twitch, ssh-chat, zulip, whatsapp, keybase and matrix with REST API (mattermost not required!)
Go to file
Wim 1b15897135 Fix tight loop (gitter). Closes #68. 2016-11-02 16:13:22 +01:00
bridge Fix tight loop (gitter). Closes #68. 2016-11-02 16:13:22 +01:00
gateway Launch every account only once. Fixes #48 2016-10-23 22:23:20 +02:00
matterclient Drop messages not from our mattermost team. Fixes #49 2016-10-23 21:16:14 +02:00
matterhook Add Slack support 2016-09-05 16:34:37 +02:00
vendor Fix tight loop (gitter). Closes #68. 2016-11-02 16:13:22 +01:00
Dockerfile Release v0.6.0-beta1 2016-08-20 18:09:00 +02:00
LICENSE Initial commit 2015-10-23 17:07:05 +02:00
README-0.6.md Update documentation 2016-09-18 21:04:28 +02:00
README.md Add Discord support 2016-09-19 20:53:26 +02:00
changelog.md Update documentation 2016-11-01 23:10:29 +01:00
matterbridge.conf.sample Update matterbridge.conf.sample 2016-10-24 12:14:51 +02:00
matterbridge.go Add samechannel gateway. See #35 2016-09-30 23:19:47 +02:00
matterbridge.toml.sample Update documentation 2016-11-01 23:10:29 +01:00
matterbridge.toml.simple Update documentation 2016-09-18 21:04:28 +02:00
migration.md Add migration info 2016-07-12 01:23:36 +02:00

README.md

matterbridge

⚠️ Look at [README-0.6.md] (https://github.com/42wim/matterbridge/blob/master/README-0.6.md) for the documentation of the current stable. The information below is about the develop version.

Simple bridge between mattermost, IRC, XMPP, Gitter, Slack and Discord

  • Relays public channel messages between multiple mattermost, IRC, XMPP, Gitter, Slack and Discord. Pick and mix.
  • Supports multiple channels.
  • Matterbridge can also work with private groups on your mattermost.
  • 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).

Look at [matterbridge.toml.sample] (https://github.com/42wim/matterbridge/blob/master/matterbridge.toml.sample) for documentation and an example. Look at [matterbridge.toml.simple] (https://github.com/42wim/matterbridge/blob/master/matterbridge.toml.simple) for a simple example.

Changelog

Since v0.7.0-dev the configuration has changed. More details in [changelog.md] (https://github.com/42wim/matterbridge/blob/master/changelog.md)

Requirements

Accounts to one of the supported bridges

Docker

Create your matterbridge.toml file locally eg in /tmp/matterbridge.toml

docker run -ti -v /tmp/matterbridge.toml:/matterbridge.toml 42wim/matterbridge

binaries

Binaries can be found [here] (https://github.com/42wim/matterbridge/releases/)

  • For use with mattermost 3.3.0+ v0.6.1
  • For use with mattermost 3.0.0-3.2.0 v0.5.0

Compatibility

Mattermost

  • Matterbridge v0.6.1 works with mattermost 3.3.0 and higher 3.3.0 release
  • Matterbridge v0.5.0 works with mattermost 3.0.0 - 3.2.0 3.2.0 release

Webhooks version

  • Configured incoming/outgoing webhooks on your mattermost instance.

API version

  • A dedicated user(bot) on your mattermost instance.

building

Go 1.6+ 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

running

  1. Copy the matterbridge.conf.sample to matterbridge.conf in the same directory as the matterbridge binary.
  2. Edit matterbridge.conf with the settings for your environment. See below for more config information.
  3. Now you can run matterbridge.
Usage of ./matterbridge:
  -conf string
        config file (default "matterbridge.toml")
  -debug
        enable debug
  -version
        show version

config

matterbridge

matterbridge looks for matterbridge.toml in current directory. (use -conf to specify another file)

Look at [matterbridge.toml.sample] (https://github.com/42wim/matterbridge/blob/master/matterbridge.toml.sample) for an example.

mattermost

webhooks version

You'll have to configure the incoming and outgoing webhooks.

  • incoming webhooks Go to "account settings" - integrations - "incoming webhooks".
    Choose a channel at "Add a new incoming webhook", this will create a webhook URL right below.
    This URL should be set in the matterbridge.conf in the [mattermost] section (see above)

  • outgoing webhooks Go to "account settings" - integrations - "outgoing webhooks".
    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.

e.g. http://192.168.1.1:9999 (192.168.1.1:9999 is the BindAddress specified in [mattermost] section of matterbridge.conf)

FAQ

Please look at [matterbridge.toml.sample] (https://github.com/42wim/matterbridge/blob/master/matterbridge.toml.sample) for more information first.

Mattermost doesn't show the IRC nicks

If you're running the webhooks version, this can be fixed by either:

  • enabling "override usernames". See mattermost documentation
  • setting PrefixMessagesWithNick to true in mattermost section of your matterbridge.toml.

If you're running the plus version you'll need to:

  • setting PrefixMessagesWithNick to true in mattermost section of your matterbridge.toml.

Also look at the RemoteNickFormat setting.