diff --git a/README.md b/README.md index 685539a..2c460a0 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,6 @@ Can the app be used by multiple users? ## Links * Report a bug: https://github.com/YunoHost-Apps/matterbridge_ynh/issues - * App website: Link to the official website of this app. * Upstream app repository: https://github.com/42wim/matterbridge * YunoHost website: https://yunohost.org/ diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..a38666a --- /dev/null +++ b/README_fr.md @@ -0,0 +1,70 @@ +# Matterbridge pour YunoHost + +[![Integration level](https://dash.yunohost.org/integration/matterbridge.svg)](https://dash.yunohost.org/appci/app/matterbridge) ![](https://ci-apps.yunohost.org/ci/badges/matterbridge.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/matterbridge.maintain.svg) +[![Install matterbridge with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=matterbridge) + +*[Lire ce readme en français.](./README_fr.md)* + +> *This package allows you to install Matterbridge quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* + +## Overview +Quick description of this app. + +**Shipped version:** 1.21.0 + +## Screenshots + +![](Link to a screenshot of this app.) + +## Demo + +* [Official demo](Link to a demo site for this app.) + +## Configuration + +How to configure this app: From an admin panel, a plain file with SSH, or any other way. + +## Documentation + + * Official documentation: Link to the official documentation of this app + * YunoHost documentation: If specific documentation is needed, feel free to contribute. + +## YunoHost specific features + +#### Multi-user support + +Are LDAP and HTTP auth supported? +Can the app be used by multiple users? + +#### Supported architectures + +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/matterbridge%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/matterbridge/) +* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/matterbridge%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/matterbridge/) + +## Limitations + +* Any known limitations. + +## Additional information + +* Other info you would like to add about this app. + +## Links + + * Report a bug: https://github.com/YunoHost-Apps/matterbridge_ynh/issues + * Upstream app repository: https://github.com/42wim/matterbridge + * YunoHost website: https://yunohost.org/ + +--- + +## Developer info + +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/matterbridge_ynh/tree/testing). + +To try the testing branch, please proceed like that. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/matterbridge_ynh/tree/testing --debug +or +sudo yunohost app upgrade matterbridge -u https://github.com/YunoHost-Apps/matterbridge_ynh/tree/testing --debug +``` diff --git a/conf/matterbridge.toml b/conf/matterbridge.toml index a398961..ac0dcfc 100644 --- a/conf/matterbridge.toml +++ b/conf/matterbridge.toml @@ -1,1918 +1,30 @@ -#This is configuration for matterbridge. -#WARNING: as this file contains credentials, be sure to set correct file permissions -#See https://github.com/42wim/matterbridge/wiki/How-to-create-your-config for how to create your config -#See https://github.com/42wim/matterbridge/wiki/Settings for all settings -################################################################### -#IRC section -################################################################### -#REQUIRED to start IRC section -[irc] - -#You can configure multiple servers "[irc.name]" or "[irc.name2]" -#In this example we use [irc.freenode] -#REQUIRED -[irc.freenode] -#irc server to connect to. -#REQUIRED -Server="irc.freenode.net:6667" - -#Password for irc server (if necessary) -#OPTIONAL (default "") -Password="" - -#Enable to use TLS connection to your irc server. -#OPTIONAL (default false) -UseTLS=false - -#Enable SASL (PLAIN) authentication. (freenode requires this from eg AWS hosts) -#It uses NickServNick and NickServPassword as login and password -#OPTIONAL (default false) -UseSASL=false - -#Enable to not verify the certificate on your irc server. -#e.g. when using selfsigned certificates -#OPTIONAL (default false) -SkipTLSVerify=true - -#If you know your charset, you can specify it manually. -#Otherwise it tries to detect this automatically. Select one below -# "iso-8859-2:1987", "iso-8859-9:1989", "866", "latin9", "iso-8859-10:1992", "iso-ir-109", "hebrew", -# "cp932", "iso-8859-15", "cp437", "utf-16be", "iso-8859-3:1988", "windows-1251", "utf16", "latin6", -# "latin3", "iso-8859-1:1987", "iso-8859-9", "utf-16le", "big5", "cp819", "asmo-708", "utf-8", -# "ibm437", "iso-ir-157", "iso-ir-144", "latin4", "850", "iso-8859-5", "iso-8859-5:1988", "l3", -# "windows-31j", "utf8", "iso-8859-3", "437", "greek", "iso-8859-8", "l6", "l9-iso-8859-15", -# "iso-8859-2", "latin2", "iso-ir-100", "iso-8859-6", "arabic", "iso-ir-148", "us-ascii", "x-sjis", -# "utf16be", "iso-8859-8:1988", "utf16le", "l4", "utf-16", "iso-ir-138", "iso-8859-7", "iso-8859-7:1987", -# "windows-1252", "l2", "koi8-r", "iso8859-1", "latin1", "ecma-114", "iso-ir-110", "elot-928", -# "iso-ir-126", "iso-8859-1", "iso-ir-127", "cp850", "cyrillic", "greek8", "windows-1250", "iso-latin-1", -# "l5", "ibm866", "cp866", "ms-kanji", "ibm850", "ecma-118", "iso-ir-101", "ibm819", "l1", "iso-8859-6:1987", -# "latin5", "ascii", "sjis", "iso-8859-10", "iso-8859-4", "iso-8859-4:1988", "shift-jis -# The select charset will be converted to utf-8 when sent to other bridges. -#OPTIONAL (default "") -Charset="" - -#Your nick on irc. -#REQUIRED -Nick="matterbot" - -#If you registered your bot with a service like Nickserv on freenode. -#Also being used when UseSASL=true -# -#Note: if you want do to quakenet auth, set NickServNick="Q@CServe.quakenet.org" -#OPTIONAL -NickServNick="nickserv" -NickServPassword="secret" - -#OPTIONAL only used for quakenet auth -NickServUsername="username" - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#Flood control -#Delay in milliseconds between each message send to the IRC server -#OPTIONAL (default 1300) -MessageDelay=1300 - -#Maximum amount of messages to hold in queue. If queue is full -#messages will be dropped. -# will be add to the message that fills the queue. -#OPTIONAL (default 30) -MessageQueue=30 - -#Maximum length of message sent to irc server. If it exceeds -# will be add to the message. -#OPTIONAL (default 400) -MessageLength=400 - -#Split messages on MessageLength instead of showing the -#WARNING: this could lead to flooding -#OPTIONAL (default false) -MessageSplit=false - -#Delay in seconds to rejoin a channel when kicked -#OPTIONAL (default 0) -RejoinDelay=0 - -#ColorNicks will show each nickname in a different color. -#Only works in IRC right now. -ColorNicks=false - -#RunCommands allows you to send RAW irc commands after connection -#Array of strings -#OPTIONAL (default empty) -RunCommands=["PRIVMSG user hello","PRIVMSG chanserv something"] - -#PingDelay specifies how long to wait to send a ping to the irc server. -#You can use s for second, m for minute -#String -#OPTIONAL (default 1m) -PingDelay="1m" - -#StripMarkdown strips markdown from messages -#OPTIONAL (default false) -StripMarkdown=false - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="ircspammer1 ircspammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -#The string "{NOPINGNICK}" (case sensitive) will be replaced by the actual nick / username, but with a ZWSP inside the nick, so the irc user with the same nick won't get pinged. See https://github.com/42wim/matterbridge/issues/175 for more information -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#Enable to show verbose users joins/parts (ident@host) from other bridges -#Currently works for messages from the following bridges: irc -#OPTIONAL (default false) -VerboseJoinPart=false - -#Do not send joins/parts to other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack -#OPTIONAL (default false) -NoSendJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -#Delay in milliseconds between channel joins -#Only useful when you have a LOT of channels to join -#See https://github.com/42wim/matterbridge/issues/1084 -#OPTIONAL (default 0) -JoinDelay=0 - -#Use the optional RELAYMSG extension for username spoofing on IRC. -#This requires an IRCd that supports the draft/relaymsg specification: currently this includes -#Oragono 2.4.0+ and InspIRCd 3 with the m_relaymsg contrib module. -#See https://github.com/42wim/matterbridge/issues/667#issuecomment-634214165 for more details. -#Spoofed nicks will use the configured RemoteNickFormat, replacing reserved IRC characters -#(!+%@&#$:'"?*,.) with a hyphen (-). -#On most configurations, the RemoteNickFormat must include a separator character such as "/". -#You should make sure that the settings here match your IRCd. -#This option overrides ColorNicks. -#OPTIONAL (default false) -UseRelayMsg=false -#RemoteNickFormat="{NICK}/{PROTOCOL}" - -################################################################### -#XMPP section -################################################################### -[xmpp] - -#You can configure multiple servers "[xmpp.name]" or "[xmpp.name2]" -#In this example we use [xmpp.jabber] -#REQUIRED -[xmpp.jabber] -#xmpp server to connect to. -#REQUIRED -Server="jabber.example.com:5222" - -#Jid -#REQUIRED -Jid="user@example.com" - -#Password -#REQUIRED -Password="yourpass" - -#MUC -#REQUIRED -Muc="conference.jabber.example.com" - -#Your nick in the rooms -#REQUIRED -Nick="xmppbot" - -#Enable to not verify the certificate on your xmpp server. -#e.g. when using selfsigned certificates -#OPTIONAL (default false) -SkipTLSVerify=true - -#Enable to use plaintext connection to your XMPP server. -#OPTIONAL (default false) -NoTLS=true - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="ircspammer1 ircspammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#Messages you want to replace. -#It replaces outgoing messages from the bridge. -#So you need to place it by the sending bridge definition. -#Regular expressions supported -#Some examples: -#This replaces cat => dog and sleep => awake -#ReplaceMessages=[ ["cat","dog"], ["sleep","awake"] ] -#This Replaces every number with number. 123 => numbernumbernumber -#ReplaceMessages=[ ["[0-9]","number"] ] -#OPTIONAL (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#Nicks you want to replace. -#See ReplaceMessages for syntaxA -#OPTIONAL (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -#Enable sending messages using a webhook instead of regular MUC messages. -#Only works with a prosody server using mod_slack_webhook. Does not support editing. -#OPTIONAL (default "") -WebhookURL="https://yourdomain/prosody/msg/someid" - -################################################################### -#mattermost section -################################################################### -[mattermost] -#You can configure multiple servers "[mattermost.name]" or "[mattermost.name2]" -#In this example we use [mattermost.work] -#REQUIRED - -[mattermost.work] +[mattermost.mymattermost] #The mattermost hostname. (do not prefix it with http or https) -#REQUIRED (when not using webhooks) -Server="yourmattermostserver.domain" +Server="yourmattermostserver.domain:443" -#Your team on mattermost. -#REQUIRED (when not using webhooks) +#the team name as can be seen in the mattermost webinterface URL +#in lowercase, without spaces Team="yourteam" #login/pass of your bot. #Use a dedicated user for this and not your own! -#REQUIRED (when not using webhooks) Login="yourlogin" Password="yourpass" -#personal access token of the bot. -#new feature since mattermost 4.1. See https://docs.mattermost.com/developer/personal-access-tokens.html -#OPTIONAL (you can use token instead of login/password) -#Token="abcdefghijklm" - -#Enable this to make a http connection (instead of https) to your mattermost. -#OPTIONAL (default false) -NoTLS=false - -#### Settings for webhook matterbridge. -#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE DEDICATED BOT USER WHEN POSSIBLE! -#You don't need to configure this, if you have configured the settings -#above. - -#Url is your incoming webhook url as specified in mattermost. -#See account settings - integrations - incoming webhooks on mattermost. -#If specified, messages will be sent to mattermost using this URL -#OPTIONAL -WebhookURL="https://yourdomain/hooks/yourhookkey" - -#Address to listen on for outgoing webhook requests from mattermost. -#See account settings - integrations - outgoing webhooks on mattermost. -#If specified, messages will be received from mattermost on this ip:port -#(this will only work if WebhookURL above is also configured) -#OPTIONAL -WebhookBindAddress="0.0.0.0:9999" - -#Icon that will be showed in mattermost. -#This only works when WebhookURL is configured -#OPTIONAL -IconURL="http://youricon.png" - -#### End settings for webhook matterbridge. - -#Enable to not verify the certificate on your mattermost server. -#e.g. when using selfsigned certificates -#OPTIONAL (default false) -SkipTLSVerify=true - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#how to format the list of IRC nicks when displayed in mattermost. -#Possible options are "table" and "plain" -#OPTIONAL (default plain) -NickFormatter="plain" -#How many nicks to list per row for formatters that support this. -#OPTIONAL (default 4) -NicksPerRow=4 - -#Skip the Mattermost server version checks that are normally done when connecting. -#The usage scenario for this feature would be when the Mattermost instance is hosted behind a -#reverse proxy that suppresses "non-standard" response headers in flight. -#OPTIONAL (default false) -SkipVersionCheck=false - -#Whether to prefix messages from other bridges to mattermost with the sender's nick. -#Useful if username overrides for incoming webhooks isn't enabled on the -#mattermost server. If you set PrefixMessagesWithNick to true, each message -#from bridge to Mattermost will by default be prefixed by "bridge-" + nick. You can, -#however, modify how the messages appear, by setting (and modifying) RemoteNickFormat -#OPTIONAL (default false) -PrefixMessagesWithNick=false - -#Disable sending of edits to other bridges -#OPTIONAL (default false) -EditDisable=false - -#Message to be appended to every edited message -#OPTIONAL (default empty) -EditSuffix=" (edited)" - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="ircspammer1 ircspammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options RemoteNickFormat="[{PROTOCOL}] <{NICK}> " +PrefixMessagesWithNick=true -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#Do not send joins/parts to other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack -#OPTIONAL (default false) -NoSendJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -################################################################### -#Gitter section -#Best to make a dedicated gitter account for the bot. -################################################################### - -[gitter] - -#You can configure multiple servers "[gitter.name]" or "[gitter.name2]" -#In this example we use [gitter.myproject] -#REQUIRED -[gitter.myproject] -#Token to connect with Gitter API -#You can get your token by going to https://developer.gitter.im/docs/welcome and SIGN IN -#REQUIRED -Token="Yourtokenhere" - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="ircspammer1 ircspammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -################################################################### -# -# Keybase -# You should have a separate bridge account on Keybase -# (it also needs to be logged in on the system you're running the bridge on) -# -################################################################### - -[keybase.myteam] - -# RemoteNickFormat defines how remote users appear on this bridge -# See [general] config section for default options -RemoteNickFormat="{NICK} ({PROTOCOL}): " - -# extra label that can be used in the RemoteNickFormat -# optional (default empty) -Label="" - -# Your team on Keybase. -# The bot user MUST be a member of this team -# REQUIRED -Team="myteam" - -################################################################### -# Microsoft teams section -# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup -################################################################### - -[msteams.myteam] - -# TenantID -# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge -TenantID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - -# ClientID -# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge -ClientID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - -# TeamID -# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge -TeamID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="ircspammer1 ircspammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -#Opportunistically preserve threaded replies between bridges -#that support threading -#OPTIONAL (default false) -PreserveThreading=false - -################################################################### -#slack section -################################################################### -[slack] - -#You can configure multiple servers "[slack.name]" or "[slack.name2]" -#In this example we use [slack.hobby] -#REQUIRED -[slack.hobby] -#Token to connect with the Slack API -#You'll have to use a test/api-token using a dedicated user and not a bot token. -#See https://github.com/42wim/matterbridge/issues/75 for more info. -#Use https://api.slack.com/custom-integrations/legacy-tokens -#REQUIRED (when not using webhooks) -Token="yourslacktoken" - -#Extra slack specific debug info, warning this generates a lot of output. -#OPTIONAL (default false) -Debug="false" - -#### Settings for webhook matterbridge. -#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE SLACK API -#AND DEDICATED BOT USER WHEN POSSIBLE! -#Url is your incoming webhook url as specified in slack -#See account settings - integrations - incoming webhooks on slack -#OPTIONAL -WebhookURL="https://hooks.slack.com/services/yourhook" - -#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE SLACK API -#AND DEDICATED BOT USER WHEN POSSIBLE! -#Address to listen on for outgoing webhook requests from slack -#See account settings - integrations - outgoing webhooks on slack -#webhooks -#OPTIONAL -WebhookBindAddress="0.0.0.0:9999" - -#Icon that will be showed in slack -#The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. -#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge -#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge -#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge -#OPTIONAL -IconURL="https://robohash.org/{NICK}.png?size=48x48" - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#how to format the list of IRC nicks when displayed in slack -#Possible options are "table" and "plain" -#OPTIONAL (default plain) -NickFormatter="plain" -#How many nicks to list per row for formatters that support this. -#OPTIONAL (default 4) -NicksPerRow=4 - -#Disable sending of edits to other bridges -#OPTIONAL (default false) -EditDisable=true - -#Message to be appended to every edited message -#OPTIONAL (default empty) -EditSuffix=" (edited)" - -#Whether to prefix messages from other bridges to mattermost with RemoteNickFormat -#Useful if username overrides for incoming webhooks isn't enabled on the -#slack server. If you set PrefixMessagesWithNick to true, each message -#from bridge to Slack will by default be prefixed by "bridge-" + nick. You can, -#however, modify how the messages appear, by setting (and modifying) RemoteNickFormat -#OPTIONAL (default false) -PrefixMessagesWithNick=false - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="ircspammer1 ircspammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#Do not send joins/parts to other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack -#OPTIONAL (default false) -NoSendJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -#Opportunistically preserve threaded replies between Slack channels. -#This only works if the parent message is still in the cache. -#Cache is flushed between restarts. -#Note: Not currently working on gateways with mixed bridges of -# both slack and slack-legacy type. Context in issue #624. -#OPTIONAL (default false) -PreserveThreading=false - -#Enable showing "user_typing" events from across gateway when available. -#Protip: Set your bot/user's "Full Name" to be "Someone (over chat bridge)", -#and so the message will say "Someone (over chat bridge) is typing". -#OPTIONAL (default false) -ShowUserTyping=false - -################################################################### -#discord section -################################################################### -[discord] - -# You can configure multiple servers "[discord.name]" or "[discord.name2]" -# In this example we use [discord.game] -#REQUIRED -[discord.game] -# Token (REQUIRED) is the token to connect with Discord API -# You can get your token by following the instructions on -# https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token -# If you want roles/groups mentions to be shown with names instead of ID, you'll need to give your bot the "Manage Roles" permission. -Token="Yourtokenhere" - -# Server (REQUIRED) is the ID or name of the guild to connect to, selected from the guilds the bot has been invited to -Server="yourservername" - -## RELOADABLE SETTINGS -## All settings below can be reloaded by editing the file. -## They are also all optional. - -# ShowEmbeds shows the title, description and URL of embedded messages (sent by other bots) -ShowEmbeds=false - -# UseLocalAvatar specifies source bridges for which an avatar should be 'guessed' when an incoming message has no avatar. -# This works by comparing the username of the message to an existing Discord user, and using the avatar of the Discord user. -# -# This only works if WebhookURL is set (AND the message has no avatar). -# Example: ["irc"] -UseLocalAvatar=[] - -# UseUserName shows the username instead of the server nickname -UseUserName=false - -# UseDiscriminator appends the `#xxxx` discriminator when used with UseUserName -UseDiscriminator=false - -# AutoWebhooks automatically configures message sending in the style of puppets. -# This is an easier alternative to manually configuring "WebhookURL" for each gateway, -# as turning this on will automatically load or create webhooks for each channel. -# This feature requires the "Manage Webhooks" permission (either globally or as per-channel). -AutoWebhooks=false - -# EditDisable disables sending of edits to other bridges -EditDisable=false - -# EditSuffix specifies the message to be appended to every edited message -# Example: " (edited)" -EditSuffix="" - -# IgnoreNicks mutes outgoing messages from certain users. -# Messages from these users will not be transmitted to other bridges. -# Regular expressions are also supported. -# Example: "ircspammer1 ircspammer2" -IgnoreNicks="" - -# IgnoreMessages mutes outgoing messages of a certain format. -# Messages matching this regular expression will not be transmitted sent to other bridges -# See https://regex-golang.appspot.com/assets/html/index.html for more regex info -# -# Example that ignores messages starting with ~~ or messages containing badword: -# IgnoreMessages="^~~ badword" -IgnoreMessages="" - -# ReplaceMessages replaces substrings of messages in outgoing messages. -# Regular expressions are supported. -# -# Example that replaces 'cat' => 'dog' and 'sleep' => 'awake': -# ReplaceMessages=[ ["cat","dog"], ["sleep","awake"] ] -# Example that replaces all digits with the letter 'X', so 'hello123' becomes 'helloXXX': -# ReplaceMessages=[ ["[0-9]","X"] ] -ReplaceMessages=[] - -# ReplaceNicks replaces substrings of usernames in outgoing messages. -# See the ReplaceMessages setting for examples. -# Example: [ ["user--","user"] ] -ReplaceNicks=[] - -# ExtractNicks allows for interoperability with other bridge software by rewriting messages and extracting usernames. -# -# Recommended reading: -# - https://github.com/42wim/matterbridge/issues/466 -# - https://github.com/42wim/matterbridge/issues/713 -# -# This example translates the following message -# "Relaybot: something interesting" -# into this message -# "relayeduser: something interesting" -# like so: -# ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -# -# This example translates the following message -# "otherbot: (relayeduser) something else" -# into this message -# "relayeduser: something else" -# like so: -# ExtractNicks=[ [ "otherbot","\\((.*?)\\)\\s+" ] ] -# -# This example combines both of the above examples into one: -# ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -# -ExtractNicks=[] - -# Label is as an extra identifier for use in the RemoteNickFormat setting. -Label="" - -# RemoteNickFormat formats how remote users appear on this bridge. -# See the [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -# ShowJoinPart emits messages that show joins/parts from other bridges -# Supported from the following bridges: irc, mattermost, slack, discord -ShowJoinPart=false - -# StripNick strips non-alphanumeric characters from nicknames. -# Recommended reading: https://github.com/42wim/matterbridge/issues/285 -StripNick=false - -# ShowTopicChange emits messages that show topic/purpose updates from other bridges -# Supported from the following bridges: slack -ShowTopicChange=false - -# SyncTopic synchronises topic/purpose updates from other bridges -# Supported from the following bridges: slack -SyncTopic=false - -################################################################### -#telegram section -################################################################### -[telegram] - -#You can configure multiple servers "[telegram.name]" or "[telegram.name2]" -#In this example we use [telegram.secure] -#REQUIRED -[telegram.secure] -#Token to connect with telegram API -#See https://core.telegram.org/bots#6-botfather and https://www.linkedin.com/pulse/telegram-bots-beginners-marco-frau -#REQUIRED -Token="Yourtokenhere" - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#OPTIONAL (default empty) -#Supported formats are: -#"HTML" https://core.telegram.org/bots/api#html-style -#"Markdown" https://core.telegram.org/bots/api#markdown-style - deprecated, doesn't display links with underscores correctly -#"MarkdownV2" https://core.telegram.org/bots/api#markdownv2-style -#"HTMLNick" - only allows HTML for the nick, the message itself will be html-escaped -MessageFormat="" - -#OPTIONAL (default false) -#Disables link previews for links in messages -DisableWebPagePreview=false - -#If enabled use the "First Name" as username. If this is empty use the Username -#If disabled use the "Username" as username. If this is empty use the First Name -#If all names are empty, username will be "unknown" -#OPTIONAL (default false) -UseFirstName=false - -#WARNING! If enabled this will relay GIF/stickers/documents and other attachments as URLs -#Those URLs will contain your bot-token. This may not be what you want. -#For now there is no secure way to relay GIF/stickers/documents without seeing your token. -#OPTIONAL (default false) -UseInsecureURL=false - -#Disable quoted/reply messages -#OPTIONAL (default false) -QuoteDisable=false - -#Set the max. quoted length if 0 the whole message will be quoted -#OPTIONAL (default 0) -QuoteLengthLimit=0 - -#Format quoted/reply messages -#OPTIONAL (default "{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})") -QuoteFormat="{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})" - -#Convert WebP images to PNG before upload. -#https://github.com/42wim/matterbridge/issues/398 -#OPTIONAL (default false) -MediaConvertWebPToPNG=false - -#Disable sending of edits to other bridges -#OPTIONAL (default false) -EditDisable=false - -#Message to be appended to every edited message -#OPTIONAL (default empty) -EditSuffix=" (edited)" - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="spammer1 spammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -# -#WARNING: if you have set MessageFormat="HTML" be sure that this format matches the guidelines -#on https://core.telegram.org/bots/api#html-style otherwise the message will not go through to -#telegram! eg <{NICK}> should be <{NICK}> -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -################################################################### -#rocketchat section -################################################################### -[rocketchat] -#You can configure multiple servers "[rocketchat.name]" or "[rocketchat.name2]" -#In this example we use [rocketchat.work] -#REQUIRED - -[rocketchat.rockme] -#The rocketchat hostname. (prefix it with http or https) -#REQUIRED (when not using webhooks) -Server="https://yourrocketchatserver.domain.com:443" - -#login/pass of your bot. -#login needs to be the login with email address! user@domain.com -#Use a dedicated user for this and not your own! -#REQUIRED (when not using webhooks) -Login="yourlogin@domain.com" -Password="yourpass" -# When using access token set Login to the User ID associated with your token and Token to your token. -# When Token is set Password is ignored. -# Login="yOurUSerID" -# Token="YoUrUsER_toKEN" - - -#### Settings for webhook matterbridge. -#USE DEDICATED BOT USER WHEN POSSIBLE! This allows you to use advanced features like message editing/deleting and uploads -#You don't need to configure this, if you have configured the settings -#above. - -#Url is your incoming webhook url as specified in rocketchat -#Read #https://rocket.chat/docs/administrator-guides/integrations/#how-to-create-a-new-incoming-webhook -#See administration - integrations - new integration - incoming webhook -#REQUIRED -WebhookURL="https://yourdomain/hooks/yourhookkey" - -#Address to listen on for outgoing webhook requests from rocketchat. -#See administration - integrations - new integration - outgoing webhook -#REQUIRED -WebhookBindAddress="0.0.0.0:9999" - -#Your nick/username as specified in your incoming webhook "Post as" setting -#REQUIRED -Nick="matterbot" - -#Enable this to make a http connection (instead of https) to your rocketchat -#OPTIONAL (default false) -NoTLS=false - -#Enable to not verify the certificate on your rocketchat server. -#e.g. when using selfsigned certificates -#OPTIONAL (default false) -SkipTLSVerify=true - -#### End settings for webhook matterbridge. - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#Whether to prefix messages from other bridges to rocketchat with the sender's nick. -#Useful if username overrides for incoming webhooks isn't enabled on the -#rocketchat server. If you set PrefixMessagesWithNick to true, each message -#from bridge to rocketchat will by default be prefixed by the RemoteNickFormat setting. i -#if you're using login/pass you can better enable because of this bug: -#https://github.com/RocketChat/Rocket.Chat/issues/7549 -#OPTIONAL (default false) -PrefixMessagesWithNick=false - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="ircspammer1 ircspammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -################################################################### -#matrix section -################################################################### -[matrix] -#You can configure multiple servers "[matrix.name]" or "[matrix.name2]" -#In this example we use [matrix.neo] -#REQUIRED - -[matrix.neo] -#Server is your homeserver (eg https://matrix.org) -#REQUIRED -Server="https://matrix.org" - -#login/pass of your bot. -#Use a dedicated user for this and not your own! -#Messages sent from this user will not be relayed to avoid loops. -#REQUIRED -Login="yourlogin" -Password="yourpass" - -#Whether to send the homeserver suffix. eg ":matrix.org" in @username:matrix.org -#to other bridges, or only send "username".(true only sends username) -#OPTIONAL (default false) -NoHomeServerSuffix=false - -#Whether to disable sending of HTML content to matrix -#See https://github.com/42wim/matterbridge/issues/1022 -#OPTIONAL (default false) -HTMLDisable=false - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -# UseUserName shows the username instead of the server nickname -UseUserName=false - -#Whether to prefix messages from other bridges to matrix with the sender's nick. -#Useful if username overrides for incoming webhooks isn't enabled on the -#matrix server. If you set PrefixMessagesWithNick to true, each message -#from bridge to matrix will by default be prefixed by the RemoteNickFormat setting. i -#OPTIONAL (default false) -PrefixMessagesWithNick=false - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="spammer1 spammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -################################################################### -#steam section -################################################################### -[steam] -#You can configure multiple servers "[steam.name]" or "[steam.name2]" -#In this example we use [steam.gamechat] -#REQUIRED - -[steam.gamechat] -#login/pass of your bot. -#Use a dedicated user for this and not your own account! -#REQUIRED -Login="yourlogin" -Password="yourpass" - -#steamguard mail authcode (not the 2FA code) -#OPTIONAL -Authcode="ABCE12" - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#Whether to prefix messages from other bridges to matrix with the sender's nick. -#Useful if username overrides for incoming webhooks isn't enabled on the -#matrix server. If you set PrefixMessagesWithNick to true, each message -#from bridge to matrix will by default be prefixed by the RemoteNickFormat setting. i -#OPTIONAL (default false) -PrefixMessagesWithNick=false - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="spammer1 spammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -################################################################### -# -# NCTalk (Nextcloud Talk) -# -################################################################### - -[nctalk.bridge] - -# Url of your Nextcloud server -Server = "https://cloud.youdomain.me" - -# Enable to not verify the certificate on your Nextcloud server. -# e.g. when using selfsigned certificates -# OPTIONAL (default false) -SkipTLSVerify=true - -# Username of the bot -Login = "talkuser" - -# Password of the bot -Password = "talkuserpass" - -# Suffix for Guest Users -GuestSuffix = " (Guest)" - -################################################################### -# -# Mumble -# -################################################################### - -[mumble.bridge] - -# Host and port of your Mumble server -Server = "mumble.yourdomain.me:64738" - -# Nickname to log in as -Nick = "matterbridge" - -# Some servers require a password -# OPTIONAL (default empty) -Password = "serverpasswordhere" - -# User comment to set on the Mumble user, visible to other users. -# OPTIONAL (default empty) -UserComment="I am bridging text messages between this channel and #general on irc.yourdomain.me" - -# Self-signed TLS client certificate + private key used to connect to -# Mumble. This is required if you want to register the matterbridge -# user on your Mumble server, so its nick becomes reserved. -# You can generate a keypair using e.g. -# -# openssl req -x509 -newkey rsa:2048 -nodes -days 10000 \ -# -keyout mumble.key -out mumble.crt -# -# To actually register the matterbridege user, connect to Mumble as an -# admin, right click on the user and click "Register". -# -# OPTIONAL (default empty) -TLSClientCertificate="mumble.crt" -TLSClientKey="mumble.key" - -# TLS CA certificate used to validate the Mumble server. -# OPTIONAL (defaults to Go system CA) -TLSCACertificate=mumble-ca.crt - -# Enable to not verify the certificate on your Mumble server. -# e.g. when using selfsigned certificates -# OPTIONAL (default false) -SkipTLSVerify=false - -################################################################### -# -# WhatsApp -# -################################################################### - -[whatsapp.bridge] - -# Number you will use as a relay bot. Tip: Get some disposable sim card, don't rely on your own number. -Number="+48111222333" - -# First time that you login you will need to scan QR code, then credentials willl be saved in a session file -# If you won't set SessionFile then you will need to scan QR code on every restart -# optional (by default the session is stored only in memory, till restarting matterbridge) -SessionFile="session-48111222333.gob" - -# If your terminal is white we need to invert QR code in order for it to be scanned properly -# optional (default false) -QrOnWhiteTerminal=true - -# Messages will be seen by other WhatsApp contacts as coming from the bridge. Original nick will be part of the message. -RemoteNickFormat="@{NICK}: " - -# extra label that can be used in the RemoteNickFormat -# optional (default empty) -Label="Organization" - - - -################################################################### -# -# zulip -# -################################################################### - -[zulip] - -#You can configure multiple servers "[zulip.name]" or "[zulip.name2]" -#In this example we use [zulip.streamchat] -#REQUIRED - -[zulip.streamchat] -#Token to connect with zulip API (called bot API key in Settings - Your bots) -#REQUIRED -Token="Yourtokenhere" - -#Username of the bot, normally called yourbot-bot@yourserver.zulipchat.com -#See username in Settings - Your bots -#REQUIRED -Login="yourbot-bot@yourserver.zulipchat.com" - -#Servername of your zulip instance -#REQUIRED -Server="https://yourserver.zulipchat.com" - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#Nicks you want to ignore. -#Regular expressions supported -#Messages from those users will not be sent to other bridges. -#OPTIONAL -IgnoreNicks="spammer1 spammer2" - -#Messages you want to ignore. -#Messages matching these regexp will be ignored and not sent to other bridges -#See https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword -IgnoreMessages="^~~ badword" - -#messages you want to replace. -#it replaces outgoing messages from the bridge. -#so you need to place it by the sending bridge definition. -#regular expressions supported -#some examples: -#this replaces cat => dog and sleep => awake -#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] -#this replaces every number with number. 123 => numbernumbernumber -#replacemessages=[ ["[0-9]","number"] ] -#optional (default empty) -ReplaceMessages=[ ["cat","dog"] ] - -#nicks you want to replace. -#see replacemessages for syntaxa -#optional (default empty) -ReplaceNicks=[ ["user--","user"] ] - -#Extractnicks is used to for example rewrite messages from other relaybots -#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 -#some examples: -#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] -#you can use multiple entries for multiplebots -#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" -#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] -#OPTIONAL (default empty) -ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#Enable to show users joins/parts from other bridges -#Currently works for messages from the following bridges: irc, mattermost, slack, discord -#OPTIONAL (default false) -ShowJoinPart=false - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - -#Enable to show topic changes from other bridges -#Only works hiding/show topic changes from slack bridge for now -#OPTIONAL (default false) -ShowTopicChange=false - -################################################################### -#API -################################################################### -[api] -#You can configure multiple API hooks -#In this example we use [api.local] -#REQUIRED - -[api.local] -#Address to listen on for API -#REQUIRED -BindAddress="127.0.0.1:4242" - -#Amount of messages to keep in memory -#OPTIONAL (library default 10) -Buffer=1000 - -#Bearer token used for authentication -#curl -H "Authorization: Bearer token" http://localhost:4242/api/messages -# https://github.com/vi/websocat -# websocat -H="Authorization: Bearer token" ws://127.0.0.1:4242/api/websocket -#OPTIONAL (no authorization if token is empty) -Token="mytoken" - -#extra label that can be used in the RemoteNickFormat -#optional (default empty) -Label="" - -#RemoteNickFormat defines how remote users appear on this bridge -#See [general] config section for default options -RemoteNickFormat="{NICK}" - - - -################################################################### -#General configuration -################################################################### -# Settings here are defaults that each protocol can override -[general] - -## RELOADABLE SETTINGS -## Settings below can be reloaded by editing the file - -#RemoteNickFormat defines how remote users appear on this bridge -#The string "{NICK}" (case sensitive) will be replaced by the actual nick. -#The string "{USERID}" (case sensitive) will be replaced by the user ID. -#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge -#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge -#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge -#The string "{GATEWAY}" (case sensitive) will be replaced by the origin gateway name that is replicating the message. -#The string "{CHANNEL}" (case sensitive) will be replaced by the origin channel name used by the bridge -#The string "{TENGO}" (case sensitive) will be replaced by the output of the RemoteNickFormat script under [tengo] -#OPTIONAL (default empty) -RemoteNickFormat="[{PROTOCOL}] <{NICK}> " - -#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 -#It will strip other characters from the nick -#OPTIONAL (default false) -StripNick=false - - -#MediaServerUpload (or MediaDownloadPath) and MediaServerDownload are used for uploading -#images/files/video to a remote "mediaserver" (a webserver like caddy for example). -#When configured images/files uploaded on bridges like mattermost, slack, telegram will be -#downloaded and uploaded again to MediaServerUpload URL -#MediaDownloadPath is the filesystem path where the media file will be placed, instead of uploaded, -#for if Matterbridge has write access to the directory your webserver is serving. -#It is an alternative to MediaServerUpload. -#The MediaServerDownload will be used so that bridges without native uploading support: -#gitter, irc and xmpp will be shown links to the files on MediaServerDownload -# -#More information https://github.com/42wim/matterbridge/wiki/Mediaserver-setup-%5Badvanced%5D -#OPTIONAL (default empty) -MediaServerUpload="https://user:pass@yourserver.com/upload" -#OPTIONAL (default empty) -MediaDownloadPath="/srv/http/yourserver.com/public/download" -#OPTIONAL (default empty) -MediaServerDownload="https://youserver.com/download" - -#MediaDownloadSize is the maximum size of attachments, videos, images -#matterbridge will download and upload this file to bridges that also support uploading files. -#eg downloading from slack to upload it to mattermost -# -#It will only download from bridges that don't have public links available, which are for the moment -#slack, telegram, matrix and mattermost -# -#OPTIONAL (default 1000000 (1 megabyte)) -MediaDownloadSize=1000000 - -#MediaDownloadBlacklist allows you to blacklist specific files from being downloaded. -#Filenames matching these regexp will not be download/uploaded to the mediaserver -#You can use regex for this, see https://regex-golang.appspot.com/assets/html/index.html for more regex info -#OPTIONAL (default empty) -MediaDownloadBlacklist=[".html$",".htm$"] - -#IgnoreFailureOnStart allows you to ignore failing bridges on startup. -#Matterbridge will disable the failed bridge and continue with the other ones. -#Context: https://github.com/42wim/matterbridge/issues/455 -#OPTIONAL (default false) -IgnoreFailureOnStart=false - -#LogFile defines the location of a file to write logs into, rather -#than stdout. -#Logging will still happen on stdout if the file cannot be open for -#writing, or if the value is empty. Note that the log won't roll, so -#you might want to use logrotate(8) with this feature. -#OPTIONAL (default empty) -LogFile="/var/log/matterbridge.log" - -################################################################### -#Tengo configuration -################################################################### -#More information about tengo on: https://github.com/d5/tengo/blob/master/docs/tutorial.md and -#https://github.com/d5/tengo/blob/master/docs/stdlib.md - -[tengo] -#InMessage allows you to specify the location of a tengo (https://github.com/d5/tengo/) script. -#This script will receive every incoming message and can be used to modify the Username and the Text of that message. -#The script will have the following global variables: -#to modify: msgUsername and msgText -#to read: msgUserID, msgChannel, msgAccount -# -#The script is reloaded on every message, so you can modify the script on the fly. -# -#Example script can be found in https://github.com/42wim/matterbridge/tree/master/gateway/bench.tengo -#and https://github.com/42wim/matterbridge/tree/master/contrib/example.tengo -# -#The example below will check if the text contains blah and if so, it'll replace the text and the username of that message. -#text := import("text") -#if text.re_match("blah",msgText) { -# msgText="replaced by this" -# msgUsername="fakeuser" -#} -#OPTIONAL (default empty) -InMessage="example.tengo" - -#OutMessage allows you to specify the location of the script that -#will be invoked on each message being sent to a bridge and can be used to modify the Username -#and the Text of that message. -# -#The script will have the following global variables: -#read-only: -#inAccount, inProtocol, inChannel, inGateway, inEvent -#outAccount, outProtocol, outChannel, outGateway, outEvent -#msgUserID -# -#read-write: -#msgText, msgUsername, msgDrop -# -#msgDrop is a bool which is default false, when set true this message will be dropped -# -#The script is reloaded on every message, so you can modify the script on the fly. -# -#The default script in https://github.com/42wim/matterbridge/tree/master/internal/tengo/outmessage.tengo -#is compiled in and will be executed if no script is specified. -#OPTIONAL (default empty) -OutMessage="example.tengo" - - -#RemoteNickFormat allows you to specify the location of a tengo (https://github.com/d5/tengo/) script. -#The script will have the following global variables: -#to modify: result -#to read: channel, bridge, gateway, protocol, nick, msgUserID -# -#The result will be set in {TENGO} in the RemoteNickFormat key of every bridge where {TENGO} is specified -# -#The script is reloaded on every message, so you can modify the script on the fly. -# -#Example script can be found in https://github.com/42wim/matterbridge/tree/master/contrib/remotenickformat.tengo -# -#OPTIONAL (default empty) -RemoteNickFormat="remotenickformat.tengo" - -################################################################### -#Gateway configuration -################################################################### - -#You can specify multiple gateways using [[gateway]] -#Each gateway has a [[gateway.in]] and a [[gateway.out]] -#[[gateway.in]] specifies the account and channels we will receive messages from. -#[[gateway.out]] specifies the account and channels we will send the messages -#from [[gateway.in]] to. -# -#Most of the time [[gateway.in]] and [[gateway.out]] are the same if you -#want bidirectional bridging. You can then use [[gateway.inout]] -# [[gateway]] -#REQUIRED and UNIQUE name="gateway1" -#Enable enables this gateway -##OPTIONAL (default false) enable=true - # [[gateway.in]] specifies the account and channels we will receive messages from. - # The following example bridges between mattermost and irc - [[gateway.in]] +[[gateway.inout]] +account="protocol.myprotocol" +channel="prtocolchannel" - # account specified above - # REQUIRED - account="irc.freenode" - - # The channel key in each gateway is mapped to a similar group chat ID on the chat platform - # To find the group chat ID for different platforms, refer to the table below - # - # Platform | Identifier name | Example | Description - # ------------------------------------------------------------------------------------------------------------------------------------- - # | channel | general | Do not include the # symbol - # discord | channel id | ID:123456789 | See https://github.com/42wim/matterbridge/issues/57 - # | category/channel | Media/gaming | Without # symbol. If you're using discord categories to group your channels - # ------------------------------------------------------------------------------------------------------------------------------------- - # gitter | username/room | general | As seen in the gitter.im URL - # ------------------------------------------------------------------------------------------------------------------------------------- - # hipchat | id_channel | example needed | See https://www.hipchat.com/account/xmpp for the correct channel - # ------------------------------------------------------------------------------------------------------------------------------------- - # irc | channel | #general | The # symbol is required and should be lowercase! - # ------------------------------------------------------------------------------------------------------------------------------------- - # mattermost | channel | general | This is the channel name as seen in the URL, not the display name - # ------------------------------------------------------------------------------------------------------------------------------------- - # matrix | #channel:server | #yourchannel:matrix.org | Encrypted rooms are not supported in matrix - # ------------------------------------------------------------------------------------------------------------------------------------- - # msteams | threadId | 19:82abcxx@thread.skype | You'll find the threadId in the URL - # ------------------------------------------------------------------------------------------------------------------------------------- - # mumble | channel id | 42 | The channel ID, as shown in the channel's "Edit" window - # ------------------------------------------------------------------------------------------------------------------------------------- - # rocketchat | channel | #channel | # is required for private channels too - # ------------------------------------------------------------------------------------------------------------------------------------- - # slack | channel name | general | Do not include the # symbol - # | channel id | ID:C123456 | The underlying ID of a channel. This doesn't work with - # ------------------------------------------------------------------------------------------------------------------------------------- - # steam | chatid | example needed | The number in the URL when you click "enter chat room" in the browser - # ------------------------------------------------------------------------------------------------------------------------------------- - # nctalk | token | xs25tz5y | The token in the URL when you are in a chat. It will be the last part of the URL. - # ------------------------------------------------------------------------------------------------------------------------------------- - # telegram | chatid | -123456789 | A large negative number. see https://www.linkedin.com/pulse/telegram-bots-beginners-marco-frau - # ------------------------------------------------------------------------------------------------------------------------------------- - # whatsapp | group JID | 48111222333-123455678999@g.us | A unique group JID. If you specify an empty string, bridge will list all the possibilities - # | "Group Name" | "Family Chat" | if you specify a group name, the bridge will find hint the JID to specify. Names can change over time and are not stable. - # ------------------------------------------------------------------------------------------------------------------------------------- - # xmpp | channel | general | The room name - # ------------------------------------------------------------------------------------------------------------------------------------- - # zulip | stream/topic:topic | general/off-topic:food | Do not use the # when specifying a topic - # ------------------------------------------------------------------------------------------------------------------------------------- - - # - # REQUIRED - channel="#testing" - - #OPTIONAL - only used for IRC and XMPP protocols at the moment - [gateway.in.options] - #OPTIONAL - your irc / xmpp channel key - key="yourkey" +[[gateway.inout]] +account="protocol2.myprotocol2" +channel="protocol2channel" - #[[gateway.out]] specifies the account and channels we will sent messages to. - [[gateway.out]] - account="irc.freenode" - channel="#testing" - - #OPTIONAL - only used for IRC and XMPP protocols at the moment - [gateway.out.options] - #OPTIONAL - your irc / xmpp channel key - key="yourkey" - - #[[gateway.inout]] can be used when then channel will be used to receive from - #and send messages to - [[gateway.inout]] - account="mattermost.work" - channel="off-topic" - - #OPTIONAL - only used for IRC and XMPP protocols at the moment - [gateway.inout.options] - #OPTIONAL - your irc / xmpp channel key - key="yourkey" - - # Discord specific gateway options - [[gateway.inout]] - account="discord.game" - channel="mygreatgame" - - [gateway.inout.options] - # WebhookURL sends messages in the style of "puppets". You must configure a webhook URL for each channel you want to bridge. - # If you have more than one channel and don't wnat to configure each channel manually, see the "AutoWebhooks" option in the gateway config. - # Example: "https://discord.com/api/webhooks/1234/abcd_xyzw" - WebhookURL="" - - [[gateway.inout]] - account="zulip.streamchat" - channel="general/topic:mytopic" - - #API example - #[[gateway.inout]] - #account="api.local" - #channel="api" - #To send data to the api: - #curl -XPOST -H 'Content-Type: application/json' -d '{"text":"test","username":"randomuser","gateway":"gateway1"}' http://localhost:4242/api/message - #To read from the api: - #curl http://localhost:4242/api/messages - -#If you want to do a 1:1 mapping between protocols where the channelnames are the same -#e.g. slack and mattermost you can use the samechannelgateway configuration -#the example configuration below send messages from channel testing on mattermost to -#channel testing on slack and vice versa. (and for the channel testing2 and testing3) - -[[samechannelgateway]] - name="samechannel1" - enable = false - accounts = [ "mattermost.work","slack.hobby" ] - channels = [ "testing","testing2","testing3"] diff --git a/conf/matterbridge.toml.example b/conf/matterbridge.toml.example new file mode 100644 index 0000000..7ec2a0a --- /dev/null +++ b/conf/matterbridge.toml.example @@ -0,0 +1,1918 @@ +#This is configuration for matterbridge. +#WARNING: as this file contains credentials, be sure to set correct file permissions +#See https://github.com/42wim/matterbridge/wiki/How-to-create-your-config for how to create your config +#See https://github.com/42wim/matterbridge/wiki/Settings for all settings +################################################################### +#IRC section +################################################################### +#REQUIRED to start IRC section +[irc] + +#You can configure multiple servers "[irc.name]" or "[irc.name2]" +#In this example we use [irc.freenode] +#REQUIRED +[irc.freenode] +#irc server to connect to. +#REQUIRED +Server="irc.freenode.net:6667" + +#Password for irc server (if necessary) +#OPTIONAL (default "") +Password="" + +#Enable to use TLS connection to your irc server. +#OPTIONAL (default false) +UseTLS=false + +#Enable SASL (PLAIN) authentication. (freenode requires this from eg AWS hosts) +#It uses NickServNick and NickServPassword as login and password +#OPTIONAL (default false) +UseSASL=false + +#Enable to not verify the certificate on your irc server. +#e.g. when using selfsigned certificates +#OPTIONAL (default false) +SkipTLSVerify=true + +#If you know your charset, you can specify it manually. +#Otherwise it tries to detect this automatically. Select one below +# "iso-8859-2:1987", "iso-8859-9:1989", "866", "latin9", "iso-8859-10:1992", "iso-ir-109", "hebrew", +# "cp932", "iso-8859-15", "cp437", "utf-16be", "iso-8859-3:1988", "windows-1251", "utf16", "latin6", +# "latin3", "iso-8859-1:1987", "iso-8859-9", "utf-16le", "big5", "cp819", "asmo-708", "utf-8", +# "ibm437", "iso-ir-157", "iso-ir-144", "latin4", "850", "iso-8859-5", "iso-8859-5:1988", "l3", +# "windows-31j", "utf8", "iso-8859-3", "437", "greek", "iso-8859-8", "l6", "l9-iso-8859-15", +# "iso-8859-2", "latin2", "iso-ir-100", "iso-8859-6", "arabic", "iso-ir-148", "us-ascii", "x-sjis", +# "utf16be", "iso-8859-8:1988", "utf16le", "l4", "utf-16", "iso-ir-138", "iso-8859-7", "iso-8859-7:1987", +# "windows-1252", "l2", "koi8-r", "iso8859-1", "latin1", "ecma-114", "iso-ir-110", "elot-928", +# "iso-ir-126", "iso-8859-1", "iso-ir-127", "cp850", "cyrillic", "greek8", "windows-1250", "iso-latin-1", +# "l5", "ibm866", "cp866", "ms-kanji", "ibm850", "ecma-118", "iso-ir-101", "ibm819", "l1", "iso-8859-6:1987", +# "latin5", "ascii", "sjis", "iso-8859-10", "iso-8859-4", "iso-8859-4:1988", "shift-jis +# The select charset will be converted to utf-8 when sent to other bridges. +#OPTIONAL (default "") +Charset="" + +#Your nick on irc. +#REQUIRED +Nick="matterbot" + +#If you registered your bot with a service like Nickserv on freenode. +#Also being used when UseSASL=true +# +#Note: if you want do to quakenet auth, set NickServNick="Q@CServe.quakenet.org" +#OPTIONAL +NickServNick="nickserv" +NickServPassword="secret" + +#OPTIONAL only used for quakenet auth +NickServUsername="username" + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#Flood control +#Delay in milliseconds between each message send to the IRC server +#OPTIONAL (default 1300) +MessageDelay=1300 + +#Maximum amount of messages to hold in queue. If queue is full +#messages will be dropped. +# will be add to the message that fills the queue. +#OPTIONAL (default 30) +MessageQueue=30 + +#Maximum length of message sent to irc server. If it exceeds +# will be add to the message. +#OPTIONAL (default 400) +MessageLength=400 + +#Split messages on MessageLength instead of showing the +#WARNING: this could lead to flooding +#OPTIONAL (default false) +MessageSplit=false + +#Delay in seconds to rejoin a channel when kicked +#OPTIONAL (default 0) +RejoinDelay=0 + +#ColorNicks will show each nickname in a different color. +#Only works in IRC right now. +ColorNicks=false + +#RunCommands allows you to send RAW irc commands after connection +#Array of strings +#OPTIONAL (default empty) +RunCommands=["PRIVMSG user hello","PRIVMSG chanserv something"] + +#PingDelay specifies how long to wait to send a ping to the irc server. +#You can use s for second, m for minute +#String +#OPTIONAL (default 1m) +PingDelay="1m" + +#StripMarkdown strips markdown from messages +#OPTIONAL (default false) +StripMarkdown=false + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="ircspammer1 ircspammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +#The string "{NOPINGNICK}" (case sensitive) will be replaced by the actual nick / username, but with a ZWSP inside the nick, so the irc user with the same nick won't get pinged. See https://github.com/42wim/matterbridge/issues/175 for more information +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#Enable to show verbose users joins/parts (ident@host) from other bridges +#Currently works for messages from the following bridges: irc +#OPTIONAL (default false) +VerboseJoinPart=false + +#Do not send joins/parts to other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack +#OPTIONAL (default false) +NoSendJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +#Delay in milliseconds between channel joins +#Only useful when you have a LOT of channels to join +#See https://github.com/42wim/matterbridge/issues/1084 +#OPTIONAL (default 0) +JoinDelay=0 + +#Use the optional RELAYMSG extension for username spoofing on IRC. +#This requires an IRCd that supports the draft/relaymsg specification: currently this includes +#Oragono 2.4.0+ and InspIRCd 3 with the m_relaymsg contrib module. +#See https://github.com/42wim/matterbridge/issues/667#issuecomment-634214165 for more details. +#Spoofed nicks will use the configured RemoteNickFormat, replacing reserved IRC characters +#(!+%@&#$:'"?*,.) with a hyphen (-). +#On most configurations, the RemoteNickFormat must include a separator character such as "/". +#You should make sure that the settings here match your IRCd. +#This option overrides ColorNicks. +#OPTIONAL (default false) +UseRelayMsg=false +#RemoteNickFormat="{NICK}/{PROTOCOL}" + +################################################################### +#XMPP section +################################################################### +[xmpp] + +#You can configure multiple servers "[xmpp.name]" or "[xmpp.name2]" +#In this example we use [xmpp.jabber] +#REQUIRED +[xmpp.jabber] +#xmpp server to connect to. +#REQUIRED +Server="jabber.example.com:5222" + +#Jid +#REQUIRED +Jid="user@example.com" + +#Password +#REQUIRED +Password="yourpass" + +#MUC +#REQUIRED +Muc="conference.jabber.example.com" + +#Your nick in the rooms +#REQUIRED +Nick="xmppbot" + +#Enable to not verify the certificate on your xmpp server. +#e.g. when using selfsigned certificates +#OPTIONAL (default false) +SkipTLSVerify=true + +#Enable to use plaintext connection to your XMPP server. +#OPTIONAL (default false) +NoTLS=true + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="ircspammer1 ircspammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#Messages you want to replace. +#It replaces outgoing messages from the bridge. +#So you need to place it by the sending bridge definition. +#Regular expressions supported +#Some examples: +#This replaces cat => dog and sleep => awake +#ReplaceMessages=[ ["cat","dog"], ["sleep","awake"] ] +#This Replaces every number with number. 123 => numbernumbernumber +#ReplaceMessages=[ ["[0-9]","number"] ] +#OPTIONAL (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#Nicks you want to replace. +#See ReplaceMessages for syntaxA +#OPTIONAL (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +#Enable sending messages using a webhook instead of regular MUC messages. +#Only works with a prosody server using mod_slack_webhook. Does not support editing. +#OPTIONAL (default "") +WebhookURL="https://yourdomain/prosody/msg/someid" + +################################################################### +#mattermost section +################################################################### +[mattermost] +#You can configure multiple servers "[mattermost.name]" or "[mattermost.name2]" +#In this example we use [mattermost.work] +#REQUIRED + +[mattermost.work] +#The mattermost hostname. (do not prefix it with http or https) +#REQUIRED (when not using webhooks) +Server="yourmattermostserver.domain" + +#Your team on mattermost. +#REQUIRED (when not using webhooks) +Team="yourteam" + +#login/pass of your bot. +#Use a dedicated user for this and not your own! +#REQUIRED (when not using webhooks) +Login="yourlogin" +Password="yourpass" + +#personal access token of the bot. +#new feature since mattermost 4.1. See https://docs.mattermost.com/developer/personal-access-tokens.html +#OPTIONAL (you can use token instead of login/password) +#Token="abcdefghijklm" + +#Enable this to make a http connection (instead of https) to your mattermost. +#OPTIONAL (default false) +NoTLS=false + +#### Settings for webhook matterbridge. +#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE DEDICATED BOT USER WHEN POSSIBLE! +#You don't need to configure this, if you have configured the settings +#above. + +#Url is your incoming webhook url as specified in mattermost. +#See account settings - integrations - incoming webhooks on mattermost. +#If specified, messages will be sent to mattermost using this URL +#OPTIONAL +WebhookURL="https://yourdomain/hooks/yourhookkey" + +#Address to listen on for outgoing webhook requests from mattermost. +#See account settings - integrations - outgoing webhooks on mattermost. +#If specified, messages will be received from mattermost on this ip:port +#(this will only work if WebhookURL above is also configured) +#OPTIONAL +WebhookBindAddress="0.0.0.0:9999" + +#Icon that will be showed in mattermost. +#This only works when WebhookURL is configured +#OPTIONAL +IconURL="http://youricon.png" + +#### End settings for webhook matterbridge. + +#Enable to not verify the certificate on your mattermost server. +#e.g. when using selfsigned certificates +#OPTIONAL (default false) +SkipTLSVerify=true + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#how to format the list of IRC nicks when displayed in mattermost. +#Possible options are "table" and "plain" +#OPTIONAL (default plain) +NickFormatter="plain" +#How many nicks to list per row for formatters that support this. +#OPTIONAL (default 4) +NicksPerRow=4 + +#Skip the Mattermost server version checks that are normally done when connecting. +#The usage scenario for this feature would be when the Mattermost instance is hosted behind a +#reverse proxy that suppresses "non-standard" response headers in flight. +#OPTIONAL (default false) +SkipVersionCheck=false + +#Whether to prefix messages from other bridges to mattermost with the sender's nick. +#Useful if username overrides for incoming webhooks isn't enabled on the +#mattermost server. If you set PrefixMessagesWithNick to true, each message +#from bridge to Mattermost will by default be prefixed by "bridge-" + nick. You can, +#however, modify how the messages appear, by setting (and modifying) RemoteNickFormat +#OPTIONAL (default false) +PrefixMessagesWithNick=false + +#Disable sending of edits to other bridges +#OPTIONAL (default false) +EditDisable=false + +#Message to be appended to every edited message +#OPTIONAL (default empty) +EditSuffix=" (edited)" + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="ircspammer1 ircspammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#Do not send joins/parts to other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack +#OPTIONAL (default false) +NoSendJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +################################################################### +#Gitter section +#Best to make a dedicated gitter account for the bot. +################################################################### + +[gitter] + +#You can configure multiple servers "[gitter.name]" or "[gitter.name2]" +#In this example we use [gitter.myproject] +#REQUIRED +[gitter.myproject] +#Token to connect with Gitter API +#You can get your token by going to https://developer.gitter.im/docs/welcome and SIGN IN +#REQUIRED +Token="Yourtokenhere" + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="ircspammer1 ircspammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +################################################################### +# +# Keybase +# You should have a separate bridge account on Keybase +# (it also needs to be logged in on the system you're running the bridge on) +# +################################################################### + +[keybase.myteam] + +# RemoteNickFormat defines how remote users appear on this bridge +# See [general] config section for default options +RemoteNickFormat="{NICK} ({PROTOCOL}): " + +# extra label that can be used in the RemoteNickFormat +# optional (default empty) +Label="" + +# Your team on Keybase. +# The bot user MUST be a member of this team +# REQUIRED +Team="myteam" + +################################################################### +# Microsoft teams section +# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup +################################################################### + +[msteams.myteam] + +# TenantID +# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge +TenantID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + +# ClientID +# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge +ClientID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + +# TeamID +# See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge +TeamID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="ircspammer1 ircspammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +#Opportunistically preserve threaded replies between bridges +#that support threading +#OPTIONAL (default false) +PreserveThreading=false + +################################################################### +#slack section +################################################################### +[slack] + +#You can configure multiple servers "[slack.name]" or "[slack.name2]" +#In this example we use [slack.hobby] +#REQUIRED +[slack.hobby] +#Token to connect with the Slack API +#You'll have to use a test/api-token using a dedicated user and not a bot token. +#See https://github.com/42wim/matterbridge/issues/75 for more info. +#Use https://api.slack.com/custom-integrations/legacy-tokens +#REQUIRED (when not using webhooks) +Token="yourslacktoken" + +#Extra slack specific debug info, warning this generates a lot of output. +#OPTIONAL (default false) +Debug="false" + +#### Settings for webhook matterbridge. +#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE SLACK API +#AND DEDICATED BOT USER WHEN POSSIBLE! +#Url is your incoming webhook url as specified in slack +#See account settings - integrations - incoming webhooks on slack +#OPTIONAL +WebhookURL="https://hooks.slack.com/services/yourhook" + +#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE SLACK API +#AND DEDICATED BOT USER WHEN POSSIBLE! +#Address to listen on for outgoing webhook requests from slack +#See account settings - integrations - outgoing webhooks on slack +#webhooks +#OPTIONAL +WebhookBindAddress="0.0.0.0:9999" + +#Icon that will be showed in slack +#The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. +#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge +#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge +#OPTIONAL +IconURL="https://robohash.org/{NICK}.png?size=48x48" + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#how to format the list of IRC nicks when displayed in slack +#Possible options are "table" and "plain" +#OPTIONAL (default plain) +NickFormatter="plain" +#How many nicks to list per row for formatters that support this. +#OPTIONAL (default 4) +NicksPerRow=4 + +#Disable sending of edits to other bridges +#OPTIONAL (default false) +EditDisable=true + +#Message to be appended to every edited message +#OPTIONAL (default empty) +EditSuffix=" (edited)" + +#Whether to prefix messages from other bridges to mattermost with RemoteNickFormat +#Useful if username overrides for incoming webhooks isn't enabled on the +#slack server. If you set PrefixMessagesWithNick to true, each message +#from bridge to Slack will by default be prefixed by "bridge-" + nick. You can, +#however, modify how the messages appear, by setting (and modifying) RemoteNickFormat +#OPTIONAL (default false) +PrefixMessagesWithNick=false + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="ircspammer1 ircspammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#Do not send joins/parts to other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack +#OPTIONAL (default false) +NoSendJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +#Opportunistically preserve threaded replies between Slack channels. +#This only works if the parent message is still in the cache. +#Cache is flushed between restarts. +#Note: Not currently working on gateways with mixed bridges of +# both slack and slack-legacy type. Context in issue #624. +#OPTIONAL (default false) +PreserveThreading=false + +#Enable showing "user_typing" events from across gateway when available. +#Protip: Set your bot/user's "Full Name" to be "Someone (over chat bridge)", +#and so the message will say "Someone (over chat bridge) is typing". +#OPTIONAL (default false) +ShowUserTyping=false + +################################################################### +#discord section +################################################################### +[discord] + +# You can configure multiple servers "[discord.name]" or "[discord.name2]" +# In this example we use [discord.game] +#REQUIRED +[discord.game] +# Token (REQUIRED) is the token to connect with Discord API +# You can get your token by following the instructions on +# https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token +# If you want roles/groups mentions to be shown with names instead of ID, you'll need to give your bot the "Manage Roles" permission. +Token="Yourtokenhere" + +# Server (REQUIRED) is the ID or name of the guild to connect to, selected from the guilds the bot has been invited to +Server="yourservername" + +## RELOADABLE SETTINGS +## All settings below can be reloaded by editing the file. +## They are also all optional. + +# ShowEmbeds shows the title, description and URL of embedded messages (sent by other bots) +ShowEmbeds=false + +# UseLocalAvatar specifies source bridges for which an avatar should be 'guessed' when an incoming message has no avatar. +# This works by comparing the username of the message to an existing Discord user, and using the avatar of the Discord user. +# +# This only works if WebhookURL is set (AND the message has no avatar). +# Example: ["irc"] +UseLocalAvatar=[] + +# UseUserName shows the username instead of the server nickname +UseUserName=false + +# UseDiscriminator appends the `#xxxx` discriminator when used with UseUserName +UseDiscriminator=false + +# AutoWebhooks automatically configures message sending in the style of puppets. +# This is an easier alternative to manually configuring "WebhookURL" for each gateway, +# as turning this on will automatically load or create webhooks for each channel. +# This feature requires the "Manage Webhooks" permission (either globally or as per-channel). +AutoWebhooks=false + +# EditDisable disables sending of edits to other bridges +EditDisable=false + +# EditSuffix specifies the message to be appended to every edited message +# Example: " (edited)" +EditSuffix="" + +# IgnoreNicks mutes outgoing messages from certain users. +# Messages from these users will not be transmitted to other bridges. +# Regular expressions are also supported. +# Example: "ircspammer1 ircspammer2" +IgnoreNicks="" + +# IgnoreMessages mutes outgoing messages of a certain format. +# Messages matching this regular expression will not be transmitted sent to other bridges +# See https://regex-golang.appspot.com/assets/html/index.html for more regex info +# +# Example that ignores messages starting with ~~ or messages containing badword: +# IgnoreMessages="^~~ badword" +IgnoreMessages="" + +# ReplaceMessages replaces substrings of messages in outgoing messages. +# Regular expressions are supported. +# +# Example that replaces 'cat' => 'dog' and 'sleep' => 'awake': +# ReplaceMessages=[ ["cat","dog"], ["sleep","awake"] ] +# Example that replaces all digits with the letter 'X', so 'hello123' becomes 'helloXXX': +# ReplaceMessages=[ ["[0-9]","X"] ] +ReplaceMessages=[] + +# ReplaceNicks replaces substrings of usernames in outgoing messages. +# See the ReplaceMessages setting for examples. +# Example: [ ["user--","user"] ] +ReplaceNicks=[] + +# ExtractNicks allows for interoperability with other bridge software by rewriting messages and extracting usernames. +# +# Recommended reading: +# - https://github.com/42wim/matterbridge/issues/466 +# - https://github.com/42wim/matterbridge/issues/713 +# +# This example translates the following message +# "Relaybot: something interesting" +# into this message +# "relayeduser: something interesting" +# like so: +# ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +# +# This example translates the following message +# "otherbot: (relayeduser) something else" +# into this message +# "relayeduser: something else" +# like so: +# ExtractNicks=[ [ "otherbot","\\((.*?)\\)\\s+" ] ] +# +# This example combines both of the above examples into one: +# ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +# +ExtractNicks=[] + +# Label is as an extra identifier for use in the RemoteNickFormat setting. +Label="" + +# RemoteNickFormat formats how remote users appear on this bridge. +# See the [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +# ShowJoinPart emits messages that show joins/parts from other bridges +# Supported from the following bridges: irc, mattermost, slack, discord +ShowJoinPart=false + +# StripNick strips non-alphanumeric characters from nicknames. +# Recommended reading: https://github.com/42wim/matterbridge/issues/285 +StripNick=false + +# ShowTopicChange emits messages that show topic/purpose updates from other bridges +# Supported from the following bridges: slack +ShowTopicChange=false + +# SyncTopic synchronises topic/purpose updates from other bridges +# Supported from the following bridges: slack +SyncTopic=false + +################################################################### +#telegram section +################################################################### +[telegram] + +#You can configure multiple servers "[telegram.name]" or "[telegram.name2]" +#In this example we use [telegram.secure] +#REQUIRED +[telegram.secure] +#Token to connect with telegram API +#See https://core.telegram.org/bots#6-botfather and https://www.linkedin.com/pulse/telegram-bots-beginners-marco-frau +#REQUIRED +Token="Yourtokenhere" + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#OPTIONAL (default empty) +#Supported formats are: +#"HTML" https://core.telegram.org/bots/api#html-style +#"Markdown" https://core.telegram.org/bots/api#markdown-style - deprecated, doesn't display links with underscores correctly +#"MarkdownV2" https://core.telegram.org/bots/api#markdownv2-style +#"HTMLNick" - only allows HTML for the nick, the message itself will be html-escaped +MessageFormat="" + +#OPTIONAL (default false) +#Disables link previews for links in messages +DisableWebPagePreview=false + +#If enabled use the "First Name" as username. If this is empty use the Username +#If disabled use the "Username" as username. If this is empty use the First Name +#If all names are empty, username will be "unknown" +#OPTIONAL (default false) +UseFirstName=false + +#WARNING! If enabled this will relay GIF/stickers/documents and other attachments as URLs +#Those URLs will contain your bot-token. This may not be what you want. +#For now there is no secure way to relay GIF/stickers/documents without seeing your token. +#OPTIONAL (default false) +UseInsecureURL=false + +#Disable quoted/reply messages +#OPTIONAL (default false) +QuoteDisable=false + +#Set the max. quoted length if 0 the whole message will be quoted +#OPTIONAL (default 0) +QuoteLengthLimit=0 + +#Format quoted/reply messages +#OPTIONAL (default "{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})") +QuoteFormat="{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})" + +#Convert WebP images to PNG before upload. +#https://github.com/42wim/matterbridge/issues/398 +#OPTIONAL (default false) +MediaConvertWebPToPNG=false + +#Disable sending of edits to other bridges +#OPTIONAL (default false) +EditDisable=false + +#Message to be appended to every edited message +#OPTIONAL (default empty) +EditSuffix=" (edited)" + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="spammer1 spammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +# +#WARNING: if you have set MessageFormat="HTML" be sure that this format matches the guidelines +#on https://core.telegram.org/bots/api#html-style otherwise the message will not go through to +#telegram! eg <{NICK}> should be <{NICK}> +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +################################################################### +#rocketchat section +################################################################### +[rocketchat] +#You can configure multiple servers "[rocketchat.name]" or "[rocketchat.name2]" +#In this example we use [rocketchat.work] +#REQUIRED + +[rocketchat.rockme] +#The rocketchat hostname. (prefix it with http or https) +#REQUIRED (when not using webhooks) +Server="https://yourrocketchatserver.domain.com:443" + +#login/pass of your bot. +#login needs to be the login with email address! user@domain.com +#Use a dedicated user for this and not your own! +#REQUIRED (when not using webhooks) +Login="yourlogin@domain.com" +Password="yourpass" +# When using access token set Login to the User ID associated with your token and Token to your token. +# When Token is set Password is ignored. +# Login="yOurUSerID" +# Token="YoUrUsER_toKEN" + + +#### Settings for webhook matterbridge. +#USE DEDICATED BOT USER WHEN POSSIBLE! This allows you to use advanced features like message editing/deleting and uploads +#You don't need to configure this, if you have configured the settings +#above. + +#Url is your incoming webhook url as specified in rocketchat +#Read #https://rocket.chat/docs/administrator-guides/integrations/#how-to-create-a-new-incoming-webhook +#See administration - integrations - new integration - incoming webhook +#REQUIRED +WebhookURL="https://yourdomain/hooks/yourhookkey" + +#Address to listen on for outgoing webhook requests from rocketchat. +#See administration - integrations - new integration - outgoing webhook +#REQUIRED +WebhookBindAddress="0.0.0.0:9999" + +#Your nick/username as specified in your incoming webhook "Post as" setting +#REQUIRED +Nick="matterbot" + +#Enable this to make a http connection (instead of https) to your rocketchat +#OPTIONAL (default false) +NoTLS=false + +#Enable to not verify the certificate on your rocketchat server. +#e.g. when using selfsigned certificates +#OPTIONAL (default false) +SkipTLSVerify=true + +#### End settings for webhook matterbridge. + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#Whether to prefix messages from other bridges to rocketchat with the sender's nick. +#Useful if username overrides for incoming webhooks isn't enabled on the +#rocketchat server. If you set PrefixMessagesWithNick to true, each message +#from bridge to rocketchat will by default be prefixed by the RemoteNickFormat setting. i +#if you're using login/pass you can better enable because of this bug: +#https://github.com/RocketChat/Rocket.Chat/issues/7549 +#OPTIONAL (default false) +PrefixMessagesWithNick=false + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="ircspammer1 ircspammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +################################################################### +#matrix section +################################################################### +[matrix] +#You can configure multiple servers "[matrix.name]" or "[matrix.name2]" +#In this example we use [matrix.neo] +#REQUIRED + +[matrix.neo] +#Server is your homeserver (eg https://matrix.org) +#REQUIRED +Server="https://matrix.org" + +#login/pass of your bot. +#Use a dedicated user for this and not your own! +#Messages sent from this user will not be relayed to avoid loops. +#REQUIRED +Login="yourlogin" +Password="yourpass" + +#Whether to send the homeserver suffix. eg ":matrix.org" in @username:matrix.org +#to other bridges, or only send "username".(true only sends username) +#OPTIONAL (default false) +NoHomeServerSuffix=false + +#Whether to disable sending of HTML content to matrix +#See https://github.com/42wim/matterbridge/issues/1022 +#OPTIONAL (default false) +HTMLDisable=false + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +# UseUserName shows the username instead of the server nickname +UseUserName=false + +#Whether to prefix messages from other bridges to matrix with the sender's nick. +#Useful if username overrides for incoming webhooks isn't enabled on the +#matrix server. If you set PrefixMessagesWithNick to true, each message +#from bridge to matrix will by default be prefixed by the RemoteNickFormat setting. i +#OPTIONAL (default false) +PrefixMessagesWithNick=false + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="spammer1 spammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +################################################################### +#steam section +################################################################### +[steam] +#You can configure multiple servers "[steam.name]" or "[steam.name2]" +#In this example we use [steam.gamechat] +#REQUIRED + +[steam.gamechat] +#login/pass of your bot. +#Use a dedicated user for this and not your own account! +#REQUIRED +Login="yourlogin" +Password="yourpass" + +#steamguard mail authcode (not the 2FA code) +#OPTIONAL +Authcode="ABCE12" + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#Whether to prefix messages from other bridges to matrix with the sender's nick. +#Useful if username overrides for incoming webhooks isn't enabled on the +#matrix server. If you set PrefixMessagesWithNick to true, each message +#from bridge to matrix will by default be prefixed by the RemoteNickFormat setting. i +#OPTIONAL (default false) +PrefixMessagesWithNick=false + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="spammer1 spammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +################################################################### +# +# NCTalk (Nextcloud Talk) +# +################################################################### + +[nctalk.bridge] + +# Url of your Nextcloud server +Server = "https://cloud.youdomain.me" + +# Enable to not verify the certificate on your Nextcloud server. +# e.g. when using selfsigned certificates +# OPTIONAL (default false) +SkipTLSVerify=true + +# Username of the bot +Login = "talkuser" + +# Password of the bot +Password = "talkuserpass" + +# Suffix for Guest Users +GuestSuffix = " (Guest)" + +################################################################### +# +# Mumble +# +################################################################### + +[mumble.bridge] + +# Host and port of your Mumble server +Server = "mumble.yourdomain.me:64738" + +# Nickname to log in as +Nick = "matterbridge" + +# Some servers require a password +# OPTIONAL (default empty) +Password = "serverpasswordhere" + +# User comment to set on the Mumble user, visible to other users. +# OPTIONAL (default empty) +UserComment="I am bridging text messages between this channel and #general on irc.yourdomain.me" + +# Self-signed TLS client certificate + private key used to connect to +# Mumble. This is required if you want to register the matterbridge +# user on your Mumble server, so its nick becomes reserved. +# You can generate a keypair using e.g. +# +# openssl req -x509 -newkey rsa:2048 -nodes -days 10000 \ +# -keyout mumble.key -out mumble.crt +# +# To actually register the matterbridege user, connect to Mumble as an +# admin, right click on the user and click "Register". +# +# OPTIONAL (default empty) +TLSClientCertificate="mumble.crt" +TLSClientKey="mumble.key" + +# TLS CA certificate used to validate the Mumble server. +# OPTIONAL (defaults to Go system CA) +TLSCACertificate="mumble-ca.crt" + +# Enable to not verify the certificate on your Mumble server. +# e.g. when using selfsigned certificates +# OPTIONAL (default false) +SkipTLSVerify=false + +################################################################### +# +# WhatsApp +# +################################################################### + +[whatsapp.bridge] + +# Number you will use as a relay bot. Tip: Get some disposable sim card, don't rely on your own number. +Number="+48111222333" + +# First time that you login you will need to scan QR code, then credentials willl be saved in a session file +# If you won't set SessionFile then you will need to scan QR code on every restart +# optional (by default the session is stored only in memory, till restarting matterbridge) +SessionFile="session-48111222333.gob" + +# If your terminal is white we need to invert QR code in order for it to be scanned properly +# optional (default false) +QrOnWhiteTerminal=true + +# Messages will be seen by other WhatsApp contacts as coming from the bridge. Original nick will be part of the message. +RemoteNickFormat="@{NICK}: " + +# extra label that can be used in the RemoteNickFormat +# optional (default empty) +Label="Organization" + + + +################################################################### +# +# zulip +# +################################################################### + +[zulip] + +#You can configure multiple servers "[zulip.name]" or "[zulip.name2]" +#In this example we use [zulip.streamchat] +#REQUIRED + +[zulip.streamchat] +#Token to connect with zulip API (called bot API key in Settings - Your bots) +#REQUIRED +Token="Yourtokenhere" + +#Username of the bot, normally called yourbot-bot@yourserver.zulipchat.com +#See username in Settings - Your bots +#REQUIRED +Login="yourbot-bot@yourserver.zulipchat.com" + +#Servername of your zulip instance +#REQUIRED +Server="https://yourserver.zulipchat.com" + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#Nicks you want to ignore. +#Regular expressions supported +#Messages from those users will not be sent to other bridges. +#OPTIONAL +IgnoreNicks="spammer1 spammer2" + +#Messages you want to ignore. +#Messages matching these regexp will be ignored and not sent to other bridges +#See https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword +IgnoreMessages="^~~ badword" + +#messages you want to replace. +#it replaces outgoing messages from the bridge. +#so you need to place it by the sending bridge definition. +#regular expressions supported +#some examples: +#this replaces cat => dog and sleep => awake +#replacemessages=[ ["cat","dog"], ["sleep","awake"] ] +#this replaces every number with number. 123 => numbernumbernumber +#replacemessages=[ ["[0-9]","number"] ] +#optional (default empty) +ReplaceMessages=[ ["cat","dog"] ] + +#nicks you want to replace. +#see replacemessages for syntaxa +#optional (default empty) +ReplaceNicks=[ ["user--","user"] ] + +#Extractnicks is used to for example rewrite messages from other relaybots +#See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 +#some examples: +#this replaces a message like "Relaybot: something interesting" to "relayeduser: something interesting" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] +#you can use multiple entries for multiplebots +#this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" +#ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] +#OPTIONAL (default empty) +ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#Enable to show users joins/parts from other bridges +#Currently works for messages from the following bridges: irc, mattermost, slack, discord +#OPTIONAL (default false) +ShowJoinPart=false + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + +#Enable to show topic changes from other bridges +#Only works hiding/show topic changes from slack bridge for now +#OPTIONAL (default false) +ShowTopicChange=false + +################################################################### +#API +################################################################### +[api] +#You can configure multiple API hooks +#In this example we use [api.local] +#REQUIRED + +[api.local] +#Address to listen on for API +#REQUIRED +BindAddress="127.0.0.1:4242" + +#Amount of messages to keep in memory +#OPTIONAL (library default 10) +Buffer=1000 + +#Bearer token used for authentication +#curl -H "Authorization: Bearer token" http://localhost:4242/api/messages +# https://github.com/vi/websocat +# websocat -H="Authorization: Bearer token" ws://127.0.0.1:4242/api/websocket +#OPTIONAL (no authorization if token is empty) +Token="mytoken" + +#extra label that can be used in the RemoteNickFormat +#optional (default empty) +Label="" + +#RemoteNickFormat defines how remote users appear on this bridge +#See [general] config section for default options +RemoteNickFormat="{NICK}" + + + +################################################################### +#General configuration +################################################################### +# Settings here are defaults that each protocol can override +[general] + +## RELOADABLE SETTINGS +## Settings below can be reloaded by editing the file + +#RemoteNickFormat defines how remote users appear on this bridge +#The string "{NICK}" (case sensitive) will be replaced by the actual nick. +#The string "{USERID}" (case sensitive) will be replaced by the user ID. +#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge +#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge +#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge +#The string "{GATEWAY}" (case sensitive) will be replaced by the origin gateway name that is replicating the message. +#The string "{CHANNEL}" (case sensitive) will be replaced by the origin channel name used by the bridge +#The string "{TENGO}" (case sensitive) will be replaced by the output of the RemoteNickFormat script under [tengo] +#OPTIONAL (default empty) +RemoteNickFormat="[{PROTOCOL}] <{NICK}> " + +#StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 +#It will strip other characters from the nick +#OPTIONAL (default false) +StripNick=false + + +#MediaServerUpload (or MediaDownloadPath) and MediaServerDownload are used for uploading +#images/files/video to a remote "mediaserver" (a webserver like caddy for example). +#When configured images/files uploaded on bridges like mattermost, slack, telegram will be +#downloaded and uploaded again to MediaServerUpload URL +#MediaDownloadPath is the filesystem path where the media file will be placed, instead of uploaded, +#for if Matterbridge has write access to the directory your webserver is serving. +#It is an alternative to MediaServerUpload. +#The MediaServerDownload will be used so that bridges without native uploading support: +#gitter, irc and xmpp will be shown links to the files on MediaServerDownload +# +#More information https://github.com/42wim/matterbridge/wiki/Mediaserver-setup-%5Badvanced%5D +#OPTIONAL (default empty) +MediaServerUpload="https://user:pass@yourserver.com/upload" +#OPTIONAL (default empty) +MediaDownloadPath="/srv/http/yourserver.com/public/download" +#OPTIONAL (default empty) +MediaServerDownload="https://youserver.com/download" + +#MediaDownloadSize is the maximum size of attachments, videos, images +#matterbridge will download and upload this file to bridges that also support uploading files. +#eg downloading from slack to upload it to mattermost +# +#It will only download from bridges that don't have public links available, which are for the moment +#slack, telegram, matrix and mattermost +# +#OPTIONAL (default 1000000 (1 megabyte)) +MediaDownloadSize=1000000 + +#MediaDownloadBlacklist allows you to blacklist specific files from being downloaded. +#Filenames matching these regexp will not be download/uploaded to the mediaserver +#You can use regex for this, see https://regex-golang.appspot.com/assets/html/index.html for more regex info +#OPTIONAL (default empty) +MediaDownloadBlacklist=[".html$",".htm$"] + +#IgnoreFailureOnStart allows you to ignore failing bridges on startup. +#Matterbridge will disable the failed bridge and continue with the other ones. +#Context: https://github.com/42wim/matterbridge/issues/455 +#OPTIONAL (default false) +IgnoreFailureOnStart=false + +#LogFile defines the location of a file to write logs into, rather +#than stdout. +#Logging will still happen on stdout if the file cannot be open for +#writing, or if the value is empty. Note that the log won't roll, so +#you might want to use logrotate(8) with this feature. +#OPTIONAL (default empty) +LogFile="/var/log/matterbridge.log" + +################################################################### +#Tengo configuration +################################################################### +#More information about tengo on: https://github.com/d5/tengo/blob/master/docs/tutorial.md and +#https://github.com/d5/tengo/blob/master/docs/stdlib.md + +[tengo] +#InMessage allows you to specify the location of a tengo (https://github.com/d5/tengo/) script. +#This script will receive every incoming message and can be used to modify the Username and the Text of that message. +#The script will have the following global variables: +#to modify: msgUsername and msgText +#to read: msgUserID, msgChannel, msgAccount +# +#The script is reloaded on every message, so you can modify the script on the fly. +# +#Example script can be found in https://github.com/42wim/matterbridge/tree/master/gateway/bench.tengo +#and https://github.com/42wim/matterbridge/tree/master/contrib/example.tengo +# +#The example below will check if the text contains blah and if so, it'll replace the text and the username of that message. +#text := import("text") +#if text.re_match("blah",msgText) { +# msgText="replaced by this" +# msgUsername="fakeuser" +#} +#OPTIONAL (default empty) +InMessage="example.tengo" + +#OutMessage allows you to specify the location of the script that +#will be invoked on each message being sent to a bridge and can be used to modify the Username +#and the Text of that message. +# +#The script will have the following global variables: +#read-only: +#inAccount, inProtocol, inChannel, inGateway, inEvent +#outAccount, outProtocol, outChannel, outGateway, outEvent +#msgUserID +# +#read-write: +#msgText, msgUsername, msgDrop +# +#msgDrop is a bool which is default false, when set true this message will be dropped +# +#The script is reloaded on every message, so you can modify the script on the fly. +# +#The default script in https://github.com/42wim/matterbridge/tree/master/internal/tengo/outmessage.tengo +#is compiled in and will be executed if no script is specified. +#OPTIONAL (default empty) +OutMessage="example.tengo" + + +#RemoteNickFormat allows you to specify the location of a tengo (https://github.com/d5/tengo/) script. +#The script will have the following global variables: +#to modify: result +#to read: channel, bridge, gateway, protocol, nick, msgUserID +# +#The result will be set in {TENGO} in the RemoteNickFormat key of every bridge where {TENGO} is specified +# +#The script is reloaded on every message, so you can modify the script on the fly. +# +#Example script can be found in https://github.com/42wim/matterbridge/tree/master/contrib/remotenickformat.tengo +# +#OPTIONAL (default empty) +RemoteNickFormat="remotenickformat.tengo" + +################################################################### +#Gateway configuration +################################################################### + +#You can specify multiple gateways using [[gateway]] +#Each gateway has a [[gateway.in]] and a [[gateway.out]] +#[[gateway.in]] specifies the account and channels we will receive messages from. +#[[gateway.out]] specifies the account and channels we will send the messages +#from [[gateway.in]] to. +# +#Most of the time [[gateway.in]] and [[gateway.out]] are the same if you +#want bidirectional bridging. You can then use [[gateway.inout]] +# + +[[gateway]] +#REQUIRED and UNIQUE +name="gateway1" +#Enable enables this gateway +##OPTIONAL (default false) +enable=true + + # [[gateway.in]] specifies the account and channels we will receive messages from. + # The following example bridges between mattermost and irc + [[gateway.in]] + + # account specified above + # REQUIRED + account="irc.freenode" + + # The channel key in each gateway is mapped to a similar group chat ID on the chat platform + # To find the group chat ID for different platforms, refer to the table below + # + # Platform | Identifier name | Example | Description + # ------------------------------------------------------------------------------------------------------------------------------------- + # | channel | general | Do not include the # symbol + # discord | channel id | ID:123456789 | See https://github.com/42wim/matterbridge/issues/57 + # | category/channel | Media/gaming | Without # symbol. If you're using discord categories to group your channels + # ------------------------------------------------------------------------------------------------------------------------------------- + # gitter | username/room | general | As seen in the gitter.im URL + # ------------------------------------------------------------------------------------------------------------------------------------- + # hipchat | id_channel | example needed | See https://www.hipchat.com/account/xmpp for the correct channel + # ------------------------------------------------------------------------------------------------------------------------------------- + # irc | channel | #general | The # symbol is required and should be lowercase! + # ------------------------------------------------------------------------------------------------------------------------------------- + # mattermost | channel | general | This is the channel name as seen in the URL, not the display name + # ------------------------------------------------------------------------------------------------------------------------------------- + # matrix | #channel:server | #yourchannel:matrix.org | Encrypted rooms are not supported in matrix + # ------------------------------------------------------------------------------------------------------------------------------------- + # msteams | threadId | 19:82abcxx@thread.skype | You'll find the threadId in the URL + # ------------------------------------------------------------------------------------------------------------------------------------- + # mumble | channel id | 42 | The channel ID, as shown in the channel's "Edit" window + # ------------------------------------------------------------------------------------------------------------------------------------- + # rocketchat | channel | #channel | # is required for private channels too + # ------------------------------------------------------------------------------------------------------------------------------------- + # slack | channel name | general | Do not include the # symbol + # | channel id | ID:C123456 | The underlying ID of a channel. This doesn't work with + # ------------------------------------------------------------------------------------------------------------------------------------- + # steam | chatid | example needed | The number in the URL when you click "enter chat room" in the browser + # ------------------------------------------------------------------------------------------------------------------------------------- + # nctalk | token | xs25tz5y | The token in the URL when you are in a chat. It will be the last part of the URL. + # ------------------------------------------------------------------------------------------------------------------------------------- + # telegram | chatid | -123456789 | A large negative number. see https://www.linkedin.com/pulse/telegram-bots-beginners-marco-frau + # ------------------------------------------------------------------------------------------------------------------------------------- + # whatsapp | group JID | 48111222333-123455678999@g.us | A unique group JID. If you specify an empty string, bridge will list all the possibilities + # | "Group Name" | "Family Chat" | if you specify a group name, the bridge will find hint the JID to specify. Names can change over time and are not stable. + # ------------------------------------------------------------------------------------------------------------------------------------- + # xmpp | channel | general | The room name + # ------------------------------------------------------------------------------------------------------------------------------------- + # zulip | stream/topic:topic | general/off-topic:food | Do not use the # when specifying a topic + # ------------------------------------------------------------------------------------------------------------------------------------- + + # + # REQUIRED + channel="#testing" + + #OPTIONAL - only used for IRC and XMPP protocols at the moment + [gateway.in.options] + #OPTIONAL - your irc / xmpp channel key + key="yourkey" + + + #[[gateway.out]] specifies the account and channels we will sent messages to. + [[gateway.out]] + account="irc.freenode" + channel="#testing" + + #OPTIONAL - only used for IRC and XMPP protocols at the moment + [gateway.out.options] + #OPTIONAL - your irc / xmpp channel key + key="yourkey" + + #[[gateway.inout]] can be used when then channel will be used to receive from + #and send messages to + [[gateway.inout]] + account="mattermost.work" + channel="off-topic" + + #OPTIONAL - only used for IRC and XMPP protocols at the moment + [gateway.inout.options] + #OPTIONAL - your irc / xmpp channel key + key="yourkey" + + # Discord specific gateway options + [[gateway.inout]] + account="discord.game" + channel="mygreatgame" + + [gateway.inout.options] + # WebhookURL sends messages in the style of "puppets". You must configure a webhook URL for each channel you want to bridge. + # If you have more than one channel and don't wnat to configure each channel manually, see the "AutoWebhooks" option in the gateway config. + # Example: "https://discord.com/api/webhooks/1234/abcd_xyzw" + WebhookURL="" + + [[gateway.inout]] + account="zulip.streamchat" + channel="general/topic:mytopic" + + #API example + #[[gateway.inout]] + #account="api.local" + #channel="api" + #To send data to the api: + #curl -XPOST -H 'Content-Type: application/json' -d '{"text":"test","username":"randomuser","gateway":"gateway1"}' http://localhost:4242/api/message + #To read from the api: + #curl http://localhost:4242/api/messages + +#If you want to do a 1:1 mapping between protocols where the channelnames are the same +#e.g. slack and mattermost you can use the samechannelgateway configuration +#the example configuration below send messages from channel testing on mattermost to +#channel testing on slack and vice versa. (and for the channel testing2 and testing3) + +[[samechannelgateway]] + name="samechannel1" + enable = false + accounts = [ "mattermost.work","slack.hobby" ] + channels = [ "testing","testing2","testing3"] diff --git a/manifest.json b/manifest.json index e947480..4b2bb64 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "id": "matterbridge", "packaging_format": 1, "description": { - "en": "Bridge between a series of chat protocols", + "en": "Multi-protocols bridge for online communications", "fr": "Pont entre une série de protocoles de discussion" }, "version": "1.21.0~ynh1",