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 41195c8e48 Fix double posting of edited messages by using lru cache (mattermost) 2017-07-25 23:57:27 +02:00
.github Update issue template 2017-07-08 12:25:52 +02:00
bridge Ignore edited messages with reactions (mattermost) 2017-07-25 23:19:50 +02:00
ci Update readme 2017-07-16 22:27:53 +02:00
gateway Update tests with gofmt 2017-07-25 20:20:55 +02:00
hook/rockethook Fix megacheck / go vet issues 2017-07-14 00:35:01 +02:00
matterclient Fix double posting of edited messages by using lru cache (mattermost) 2017-07-25 23:57:27 +02:00
matterhook Fix megacheck / go vet issues 2017-07-14 00:35:01 +02:00
vendor Add vendor (github.com/hashicorp/golang-lru) 2017-07-25 23:56:12 +02:00
.travis.yml Refactor. Add tests 2017-07-25 20:11:52 +02:00
Dockerfile Add githash to docker builds 2017-02-17 22:32:42 +01:00
LICENSE Initial commit 2015-10-23 17:07:05 +02:00
README.md Add screenshots 2017-07-24 17:36:57 +02:00
changelog.md Release v0.16.3 2017-07-24 16:20:34 +02:00
matterbridge.go Refactor. Add tests 2017-07-25 20:11:52 +02:00
matterbridge.toml.sample Add UseInsecureURL option (telegram) 2017-07-04 01:35:30 +02:00
matterbridge.toml.simple Add note about file permissions 2017-06-08 23:42:00 +02:00

README.md

matterbridge

Click on one of the badges below to join the chat

Gitter Join the IRC chat at https://webchat.freenode.net/?channels=matterbridgechat Discord Matrix Slack Mattermost Xmpp

Download stable Download dev

matterbridge.gif

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

Screenshots

See https://github.com/42wim/matterbridge/wiki

Installing

Binaries

  • Latest stable release v0.16.3
  • Development releases (follows master) can be downloaded here

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

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

Thanks

Matterbridge wouldn't exist without these libraries: