Go to file
2018-11-08 21:52:10 +01:00
.github Update issue templates 2018-05-05 18:04:03 +02:00
bridge Act only on UserTypingEvents when enabled 2018-11-08 21:52:10 +01:00
ci Bump Go version in Travis CI (#518) 2018-10-12 23:14:36 +02:00
contrib Add systemd service file (#291) 2017-11-03 20:42:50 +01:00
docker/arm Use cmosh/alpine-arm to build arm docker images (#347) 2018-01-27 13:49:13 +01:00
gateway Add ability to show when user is typing across Slack bridges (#559) 2018-11-08 20:45:40 +01:00
hook/rockethook Fix megacheck / go vet issues 2017-07-14 00:35:01 +02:00
img Add image to repo. Make more clear that mattermost is not required to run matterbridge 2018-04-25 22:20:06 +02:00
matterclient Clean up various stuff (#508) 2018-11-07 20:36:50 +01:00
matterhook Reconnect on quit. (irc) See #431 (#445) 2018-06-09 12:47:40 +02:00
vendor Update Blackfriday dependency (closes #522) (#532) 2018-10-22 19:48:29 +02:00
.travis.yml Enable go vet 2018-11-08 00:17:38 +01:00
changelog.md Release v1.11.3 2018-08-30 23:10:05 +02:00
Dockerfile Add githash to docker builds 2017-02-17 22:32:42 +01:00
go.mod Update Blackfriday dependency (closes #522) (#532) 2018-10-22 19:48:29 +02:00
go.sum Update Blackfriday dependency (closes #522) (#532) 2018-10-22 19:48:29 +02:00
LICENSE Initial commit 2015-10-23 17:07:05 +02:00
matterbridge.go Bump version 2018-08-30 23:14:37 +02:00
matterbridge.toml.sample Add ability to show when user is typing across Slack bridges (#559) 2018-11-08 20:45:40 +01:00
matterbridge.toml.simple remove useAPI from sample configuration (#250) 2017-09-04 15:16:29 +02:00
README.md Preserve threading between Slack instances (#529) 2018-11-07 09:14:31 +01:00

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 Twitch Zulip

Download stable Download dev

matterbridge.gif

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 isnt 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

API

The API is very basic at the moment and rather undocumented.

Used by at least 3 projects. Feel free to make a PR to add your project to this list.

Requirements

Accounts to one of the supported bridges * Mattermost 3.8.x - 3.10.x, 4.x, 5.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

  • Latest stable release v1.11.3
  • Development releases (follows master) can be downloaded here

Building

Go 1.8+ is required. Make sure you have Go properly installed, including setting up your GOPATH.

After Go is setup, download matterbridge to your $GOPATH directory.

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

Want to tip ? * eth: 0xb3f9b5387c66ad6be892bcb7bbc67862f3abc16f * btc: 1N7cKHj5SfqBHBzDJ6kad4BzeqUBBS2zhs

Related projects

Articles

Thanks

Digitalocean for sponsoring demo/testing droplets.

Matterbridge wouldnt 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