bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)
Go to file
Wim 04567c765e
Add support for markdown to HTML conversion (matrix). Closes ()
This uses our own gomatrix lib with the SendHTML function which
adds HTML to formatted_body in matrix.
golang-commonmark is used to convert markdown into valid HTML.
2019-01-06 22:25:19 +01:00
.github Update issue templates 2018-05-05 18:04:03 +02:00
bridge Add support for markdown to HTML conversion (matrix). Closes () 2019-01-06 22:25:19 +01:00
ci Bump Go version in Travis CI () 2018-10-12 23:14:36 +02:00
contrib Add systemd service file () 2017-11-03 20:42:50 +01:00
docker/arm Try building arm docker image 2018-12-26 17:27:25 +01:00
gateway Use logrus imports instead of log () 2018-12-26 15:16:09 +01:00
hook/rockethook Enable gosec linter () 2018-12-06 00:40:55 +01:00
img Replace documentation image 2018-11-18 00:16:49 +00:00
matterclient Use logrus imports instead of log () 2018-12-26 15:16:09 +01:00
matterhook Enable gosec linter () 2018-12-06 00:40:55 +01:00
vendor Add support for markdown to HTML conversion (matrix). Closes () 2019-01-06 22:25:19 +01:00
.golangci.yaml Enable gocyclo linter 2018-12-09 14:25:17 +01:00
.travis.yml Update pinned golangci-lint version () 2018-12-30 21:29:05 +01:00
changelog.md Update changelog 2018-12-15 23:32:48 +01:00
Dockerfile Add githash to docker builds 2017-02-17 22:32:42 +01:00
go.mod Add support for markdown to HTML conversion (matrix). Closes () 2019-01-06 22:25:19 +01:00
go.sum Add support for markdown to HTML conversion (matrix). Closes () 2019-01-06 22:25:19 +01:00
LICENSE Initial commit 2015-10-23 17:07:05 +02:00
matterbridge.go Use logrus imports instead of log () 2018-12-26 15:16:09 +01:00
matterbridge.toml.sample Add note about slack/slack-legacy issues on threading. () 2018-12-03 16:50:37 +01:00
matterbridge.toml.simple remove useAPI from sample configuration () 2017-09-04 15:16:29 +02:00
README.md Update README about xmpp. Fixes () 2019-01-06 19:34:47 +01:00

matterbridge

Matterbridge Logo
A simple chat bridge
Letting people be where they want to be.
Bridges between a growing number of protocols. Click below to demo.

Gitter | IRC | Discord | Matrix | Slack | Mattermost | XMPP | Twitch | Zulip | And more...


Download stable Download dev Maintainability Test Coverage


Note: Mattermost isn't required to run matterbridge.

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

Screenshots

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

Installing

Binaries

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

Packages

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

Articles

Thanks

Digitalocean for sponsoring demo/testing droplets.

Matterbridge wouldn't exist without these libraries: