You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Wim 4fcedabfd0 Revert "Add support for edited messages (gitter)"
This reverts commit 17b8b86d68.
Reverted because of lingering file descriptors (memory leak)
7 years ago
.github Create ISSUE_TEMPLATE.md 8 years ago
bridge Revert "Add support for edited messages (gitter)" 7 years ago
gateway Rejoin channel when kicked (irc). Closes #146 7 years ago
hook/rockethook Add initial Rocket.Chat support 8 years ago
matterclient Add support for edited messages (mattermost) 7 years ago
matterhook Add ReadTimeout to close lingering connections (mattermost). See #125 7 years ago
vendor Update vendor (mattermost) 7 years ago
Dockerfile Add githash to docker builds 7 years ago
LICENSE Initial commit 9 years ago
README-0.6.md Update documentation 8 years ago
README.md Release v0.11.0 7 years ago
changelog.md Revert "Add support for edited messages (gitter)" 7 years ago
matterbridge.go Bump version 7 years ago
matterbridge.toml.sample Revert "Add support for edited messages (gitter)" 7 years ago
matterbridge.toml.simple Update vendored toml. Adds support for inline tables 7 years ago
migration.md Add migration info 8 years ago

README.md

matterbridge

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

matterbridge.gif

Simple bridge between Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp) and Matrix with REST API.

Table of Contents

Features

  • Relays public channel messages between multiple mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat (via xmpp) and Matrix. 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

Installing

Binaries

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

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

Configuration

Examples

Bridge mattermost (off-topic) - irc (#testing)

[irc]
    [irc.freenode]
    Server="irc.freenode.net:6667"
    Nick="yourbotname"

[mattermost]
    [mattermost.work]
    useAPI=true
    Server="yourmattermostserver.tld"
    Team="yourteam"
    Login="yourlogin"
    Password="yourpass"
    PrefixMessagesWithNick=true

[[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]
useAPI=true
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

  1. Copy the matterbridge.toml.sample to matterbridge.toml
  2. Edit matterbridge.toml with the settings for your environment.
  3. Now you can run matterbridge. (./matterbridge)

(Matterbridge will only look for the config file in your current directory, if it isn't there specify -conf "/path/toyour/matterbridge.toml")

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

Please look at 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 API version you'll need to:

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

Also look at the RemoteNickFormat setting.

Thanks

Matterbridge wouldn't exist without these libraries: