[technique] matterbridge IRC/matrix/mattermost/telegram (et encore plus)

Laurent GUERBY laurent at guerby.net
Ven 26 Juin 13:54:59 CEST 2020


Bonjour,

Sur la VM www2 de tetaneutral.net j'ai installé matterbridge :

https://github.com/42wim/matterbridge
"Bridges between a growing number of protocols."

Le logiciel est en go et les binaires par plateforme sont
disponibles sur github :

https://github.com/42wim/matterbridge/releases/latest

En pratique :

wget https://github.com/42wim/matterbridge/releases/download/v1.17.5/matterbridge-1.17.5-linux-64bit
chmod 755 matterbridge-1.17.5-linux-64bit 
emacs matterbridge.toml
./matterbridge-1.17.5-linux-64bit -conf matterbridge.toml -debug

Le plus long dans le setup c'est d'aller dans les divers logiciels 
pour creer un compte et/ou un token et/ou des settings. 

- Pour IRC freenode il faut un email valide et quelques messages a 
NickServ.

- Pour mattermost avec auth gitlab il ne faut pas oublier d'augmenter 
le nombre de membre max d'une team (bloqué a 50 par defaut), 
trouver le bon nom de team (pas celui affiché). 

- Pour telegram il faut parler a botfather et activer quelques options.

- Pour matrix/riot il faut demander a Guilhem :)

Le bridge copie le message du chat source aux different chats.

Cf ci-apres pour la configuration actuelle du bridge.

Note : on peut definir plusieurs "gateway" et donc
bridger selectivement.

Sincèrement,

Laurent

root at www2:~/matterbridge# cat matterbridge.toml
[irc.freenode]
Server="irc.freenode.net:7000"
Nick="LENICK"
NickServNick="LENICK" 
NickServPassword="LEPASSWORD"
UseTLS=true
UseSASL=true
SkipTLSVerify=false
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

[mattermost.mattermostttnn]
Server="mattermost.tetaneutral.net:443"
Team="tetaneutralnet"
Login="LELOGIN"
Password="LEPASSWORD"
Token="xxx"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
PrefixMessagesWithNick=true

[matrix.matrixttnn]
Server="https://matrix.tetaneutral.net"
Login="LELOGIN"
Password="SUPERPASSWORD"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
NoHomeServerSuffix=false

[telegram.mytelegram]
Token="xxx:yyy"
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

[[gateway]]
name="gateway1"
enable=true

[[gateway.inout]]
account="irc.freenode"
channel="#tetaneutral.net"

[[gateway.inout]]
account="mattermost.mattermostttnn"
channel="town-square"

[[gateway.inout]]
account="matrix.matrixttnn"
channel="#general:tetaneutral.net"

[[gateway.inout]]
account="telegram.mytelegram"
channel="-xxx"




Plus d'informations sur la liste de diffusion technique