5
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2024-12-24 17:15:40 +00:00
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocket.chat,hipchat (via xmpp), steam, twitch, ssh-chat, zulip, whatsapp and matrix with REST API (mattermost not required!)
Go to file
Wim 6ebd5cbbd8 Refactor and update RocketChat bridge
* Add support for editing/deleting messages
* Add support for uploading files
* Add support for avatars
* Use the Rocket.Chat.Go.SDK
* Use the rest and streaming api
2019-02-15 18:19:34 +01:00
.github Update issue templates 2018-05-05 18:04:03 +02:00
bridge Refactor and update RocketChat bridge 2019-02-15 18:19:34 +01:00
ci Bump Go version in Travis CI (#518) 2018-10-12 23:14:36 +02:00
contrib Add api.yaml to contrib 2019-01-09 00:32:04 +01:00
docker/arm Try building arm docker image 2018-12-26 17:27:25 +01:00
gateway Send GetChannelMembers event only to slack for now 2019-01-24 22:46:05 +01:00
hook/rockethook Enable gosec linter (#645) 2018-12-06 00:40:55 +01:00
img Replace documentation image 2018-11-18 00:16:49 +00:00
matterclient Add support for mattermost threading (#627) 2019-01-09 21:50:03 +01:00
matterhook Enable gosec linter (#645) 2018-12-06 00:40:55 +01:00
vendor Refactor and update RocketChat bridge 2019-02-15 18:19:34 +01:00
.golangci.yaml Enable gocyclo linter 2018-12-09 14:25:17 +01:00
.travis.yml Revert "Update pinned golangci-lint version (#666)" 2019-01-14 19:17:41 +01:00
changelog.md Release v1.13.1 2019-01-31 17:10:57 +01:00
Dockerfile Add githash to docker builds 2017-02-17 22:32:42 +01:00
go.mod Refactor and update RocketChat bridge 2019-02-15 18:19:34 +01:00
go.sum Refactor and update RocketChat bridge 2019-02-15 18:19:34 +01:00
LICENSE Initial commit 2015-10-23 17:07:05 +02:00
matterbridge.go Bump version 2019-01-31 17:26:07 +01:00
matterbridge.toml.sample Refactor and update RocketChat bridge 2019-02-15 18:19:34 +01:00
matterbridge.toml.simple remove useAPI from sample configuration (#250) 2017-09-04 15:16:29 +02:00
README.md Clarify dev chat info (#700) 2019-02-05 20:40:57 +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 or join the development chat.

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.
More info and examples on the wiki.

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.13.1
  • Development releases (follows master) can be downloaded here

Packages

Building

Go 1.9+ 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: