2016-09-18 21:04:28 +02:00
#This is configuration for matterbridge.
2017-06-08 23:42:00 +02:00
#WARNING: as this file contains credentials, be sure to set correct file permissions
2019-04-14 23:54:05 +02:00
#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
2016-09-18 21:04:28 +02:00
###################################################################
#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]
2020-03-06 19:59:09 +01:00
#irc server to connect to.
2016-09-18 21:04:28 +02:00
#REQUIRED
Server="irc.freenode.net:6667"
2016-12-26 10:12:59 +01:00
#Password for irc server (if necessary)
#OPTIONAL (default "")
Password=""
2020-03-06 19:59:09 +01:00
#Enable to use TLS connection to your irc server.
2016-09-18 21:04:28 +02:00
#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
2019-04-15 23:28:47 +02:00
#Enable to not verify the certificate on your irc server.
2016-09-18 21:04:28 +02:00
#e.g. when using selfsigned certificates
#OPTIONAL (default false)
SkipTLSVerify=true
2020-03-06 19:59:09 +01:00
#If you know your charset, you can specify it manually.
2017-08-29 21:30:59 +02:00
#Otherwise it tries to detect this automatically. Select one below
2020-03-06 19:59:09 +01:00
# "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",
2017-08-29 21:30:59 +02:00
# "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=""
2020-03-06 19:59:09 +01:00
#Your nick on irc.
2016-09-18 21:04:28 +02:00
#REQUIRED
Nick="matterbot"
2020-03-06 19:59:09 +01:00
#If you registered your bot with a service like Nickserv on freenode.
2016-09-18 21:04:28 +02:00
#Also being used when UseSASL=true
2017-09-20 22:47:26 +02:00
#
#Note: if you want do to quakenet auth, set NickServNick="Q@CServe.quakenet.org"
2016-09-18 21:04:28 +02:00
#OPTIONAL
NickServNick="nickserv"
NickServPassword="secret"
2017-09-20 22:47:26 +02:00
#OPTIONAL only used for quakenet auth
NickServUsername="username"
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2016-11-01 23:10:29 +01:00
#Flood control
#Delay in milliseconds between each message send to the IRC server
#OPTIONAL (default 1300)
MessageDelay=1300
2020-03-06 19:59:09 +01:00
#Maximum amount of messages to hold in queue. If queue is full
#messages will be dropped.
2017-05-29 21:54:34 +02:00
#<message clipped> will be add to the message that fills the queue.
2016-11-01 23:10:29 +01:00
#OPTIONAL (default 30)
MessageQueue=30
2017-05-29 21:54:34 +02:00
#Maximum length of message sent to irc server. If it exceeds
#<message clipped> will be add to the message.
#OPTIONAL (default 400)
MessageLength=400
2017-11-24 23:27:13 +01:00
#Split messages on MessageLength instead of showing the <message clipped>
#WARNING: this could lead to flooding
#OPTIONAL (default false)
MessageSplit=false
2017-12-23 00:11:30 +01:00
#Delay in seconds to rejoin a channel when kicked
#OPTIONAL (default 0)
RejoinDelay=0
2018-05-11 23:02:43 +02:00
#ColorNicks will show each nickname in a different color.
#Only works in IRC right now.
ColorNicks=false
2018-11-25 19:32:16 +01:00
#RunCommands allows you to send RAW irc commands after connection
#Array of strings
#OPTIONAL (default empty)
RunCommands=["PRIVMSG user hello","PRIVMSG chanserv something"]
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2016-11-14 22:53:06 +01:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="ircspammer1 ircspammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-18 01:08:11 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2017-05-30 00:11:53 +02:00
#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
2016-11-14 22:53:06 +01:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2016-11-14 22:53:06 +01:00
#OPTIONAL (default false)
ShowJoinPart=false
2019-04-18 23:56:05 +02:00
#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
2018-03-06 21:34:55 +01:00
#Do not send joins/parts to other bridges
#Currently works for messages from the following bridges: irc, mattermost, slack
#OPTIONAL (default false)
NoSendJoinPart=false
2017-10-27 00:07:33 +02:00
#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
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2016-09-18 21:04:28 +02:00
###################################################################
#XMPP section
###################################################################
[xmpp]
#You can configure multiple servers "[xmpp.name]" or "[xmpp.name2]"
#In this example we use [xmpp.jabber]
#REQUIRED
[xmpp.jabber]
2020-03-06 19:59:09 +01:00
#xmpp server to connect to.
2016-09-18 21:04:28 +02:00
#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"
2017-01-14 00:35:45 +01:00
#Enable to not verify the certificate on your xmpp server.
#e.g. when using selfsigned certificates
#OPTIONAL (default false)
SkipTLSVerify=true
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2016-11-14 22:53:06 +01:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="ircspammer1 ircspammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-18 01:08:11 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2016-11-14 22:53:06 +01:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2016-11-14 22:53:06 +01:00
#OPTIONAL (default false)
ShowJoinPart=false
2016-09-18 21:04:28 +02:00
2017-10-27 00:07:33 +02:00
#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
2016-11-26 00:40:21 +01:00
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2016-09-18 21:04:28 +02:00
###################################################################
#mattermost section
###################################################################
[mattermost]
#You can configure multiple servers "[mattermost.name]" or "[mattermost.name2]"
#In this example we use [mattermost.work]
#REQUIRED
[mattermost.work]
2017-04-19 21:57:40 +02:00
#The mattermost hostname. (do not prefix it with http or https)
2017-06-24 19:36:10 +02:00
#REQUIRED (when not using webhooks)
2020-03-06 19:59:09 +01:00
Server="yourmattermostserver.domain"
2016-09-18 21:04:28 +02:00
2020-03-06 19:59:09 +01:00
#Your team on mattermost.
2017-06-24 19:36:10 +02:00
#REQUIRED (when not using webhooks)
2016-09-18 21:04:28 +02:00
Team="yourteam"
2020-03-06 19:59:09 +01:00
#login/pass of your bot.
#Use a dedicated user for this and not your own!
2017-06-24 19:36:10 +02:00
#REQUIRED (when not using webhooks)
2016-09-18 21:04:28 +02:00
Login="yourlogin"
Password="yourpass"
2017-08-23 22:49:42 +02:00
#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"
2020-03-06 19:59:09 +01:00
#Enable this to make a http connection (instead of https) to your mattermost.
2016-09-18 21:04:28 +02:00
#OPTIONAL (default false)
NoTLS=false
2017-06-24 19:36:10 +02:00
#### Settings for webhook matterbridge.
#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE DEDICATED BOT USER WHEN POSSIBLE!
2020-03-06 19:59:09 +01:00
#You don't need to configure this, if you have configured the settings
2017-06-24 19:36:10 +02:00
#above.
2020-03-06 19:59:09 +01:00
#Url is your incoming webhook url as specified in mattermost.
2017-06-24 19:36:10 +02:00
#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)
2020-03-06 19:59:09 +01:00
#OPTIONAL
2017-06-24 19:36:10 +02:00
WebhookBindAddress="0.0.0.0:9999"
2020-03-06 19:59:09 +01:00
#Icon that will be showed in mattermost.
2017-06-24 19:36:10 +02:00
#This only works when WebhookURL is configured
#OPTIONAL
IconURL="http://youricon.png"
#### End settings for webhook matterbridge.
2016-09-18 21:04:28 +02:00
2020-03-06 19:59:09 +01:00
#Enable to not verify the certificate on your mattermost server.
2016-09-18 21:04:28 +02:00
#e.g. when using selfsigned certificates
#OPTIONAL (default false)
SkipTLSVerify=true
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2020-03-06 19:59:09 +01:00
#how to format the list of IRC nicks when displayed in mattermost.
2016-11-14 22:53:06 +01:00
#Possible options are "table" and "plain"
#OPTIONAL (default plain)
NickFormatter="plain"
2020-03-06 19:59:09 +01:00
#How many nicks to list per row for formatters that support this.
2016-11-14 22:53:06 +01:00
#OPTIONAL (default 4)
NicksPerRow=4
2016-09-18 21:04:28 +02:00
2019-06-16 16:32:06 +02:00
#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
2020-03-06 19:59:09 +01:00
#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
2016-09-18 21:04:28 +02:00
#OPTIONAL (default false)
PrefixMessagesWithNick=false
2017-04-15 20:21:57 +02:00
#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)"
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2016-11-14 22:53:06 +01:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="ircspammer1 ircspammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-18 01:08:11 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2016-09-30 20:35:16 +02:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2016-09-18 21:04:28 +02:00
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2016-11-14 22:53:06 +01:00
#OPTIONAL (default false)
ShowJoinPart=false
2016-09-18 21:04:28 +02:00
2018-03-06 21:34:55 +01:00
#Do not send joins/parts to other bridges
#Currently works for messages from the following bridges: irc, mattermost, slack
#OPTIONAL (default false)
NoSendJoinPart=false
2017-10-27 00:07:33 +02:00
#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
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2016-09-18 21:04:28 +02:00
###################################################################
#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"
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2016-11-14 22:53:06 +01:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="ircspammer1 ircspammer2"
2016-09-18 21:04:28 +02:00
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-18 01:08:11 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2016-09-30 20:35:16 +02:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2016-09-18 21:04:28 +02:00
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2016-11-14 22:53:06 +01:00
#OPTIONAL (default false)
ShowJoinPart=false
2017-10-27 00:07:33 +02:00
#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
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2019-08-26 21:00:31 +02:00
###################################################################
#
# 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]
2020-03-06 19:59:09 +01:00
# RemoteNickFormat defines how remote users appear on this bridge
2019-08-26 21:00:31 +02:00
# 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"
2020-03-21 23:30:22 +01:00
###################################################################
# 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: <relayeduser> 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
2016-09-18 21:04:28 +02:00
###################################################################
#slack section
###################################################################
[slack]
#You can configure multiple servers "[slack.name]" or "[slack.name2]"
#In this example we use [slack.hobby]
#REQUIRED
[slack.hobby]
2017-06-24 19:36:10 +02:00
#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"
2016-09-18 21:04:28 +02:00
2019-02-22 19:36:50 +01:00
#Extra slack specific debug info, warning this generates a lot of output.
#OPTIONAL (default false)
Debug="false"
2017-06-24 19:36:10 +02:00
#### Settings for webhook matterbridge.
2017-02-17 23:21:43 +01:00
#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE SLACK API
#AND DEDICATED BOT USER WHEN POSSIBLE!
2016-09-18 21:04:28 +02:00
#Url is your incoming webhook url as specified in slack
#See account settings - integrations - incoming webhooks on slack
2017-06-24 19:36:10 +02:00
#OPTIONAL
WebhookURL="https://hooks.slack.com/services/yourhook"
2016-09-18 21:04:28 +02:00
2017-02-17 23:21:43 +01:00
#NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE SLACK API
#AND DEDICATED BOT USER WHEN POSSIBLE!
2016-09-18 21:04:28 +02:00
#Address to listen on for outgoing webhook requests from slack
#See account settings - integrations - outgoing webhooks on slack
#webhooks
#OPTIONAL
2017-06-24 19:36:10 +02:00
WebhookBindAddress="0.0.0.0:9999"
2016-09-18 21:04:28 +02:00
2016-11-05 01:11:28 +01:00
#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
2018-02-20 18:57:46 +01:00
#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge
2016-11-05 01:11:28 +01:00
#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge
#OPTIONAL
IconURL="https://robohash.org/{NICK}.png?size=48x48"
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2016-11-14 22:53:06 +01:00
#how to format the list of IRC nicks when displayed in slack
#Possible options are "table" and "plain"
#OPTIONAL (default plain)
NickFormatter="plain"
2020-03-06 19:59:09 +01:00
#How many nicks to list per row for formatters that support this.
2016-11-14 22:53:06 +01:00
#OPTIONAL (default 4)
NicksPerRow=4
2017-04-16 00:16:24 +02:00
#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)"
2016-11-05 01:11:28 +01:00
#Whether to prefix messages from other bridges to mattermost with RemoteNickFormat
2020-03-06 19:59:09 +01:00
#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
2016-09-18 21:04:28 +02:00
#OPTIONAL (default false)
PrefixMessagesWithNick=false
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2016-11-14 22:53:06 +01:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="ircspammer1 ircspammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-18 01:08:11 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2016-09-30 20:35:16 +02:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2016-09-18 21:04:28 +02:00
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2016-11-14 22:53:06 +01:00
#OPTIONAL (default false)
ShowJoinPart=false
2016-09-18 21:04:28 +02:00
2018-03-06 21:34:55 +01:00
#Do not send joins/parts to other bridges
#Currently works for messages from the following bridges: irc, mattermost, slack
#OPTIONAL (default false)
NoSendJoinPart=false
2017-10-27 00:07:33 +02:00
#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
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2018-11-07 09:14:31 +01:00
#Opportunistically preserve threaded replies between Slack channels.
#This only works if the parent message is still in the cache.
#Cache is flushed between restarts.
2018-12-03 16:50:37 +01:00
#Note: Not currently working on gateways with mixed bridges of
# both slack and slack-legacy type. Context in issue #624.
2018-11-07 09:14:31 +01:00
#OPTIONAL (default false)
PreserveThreading=false
2018-11-08 20:45:40 +01:00
#Enable showing "user_typing" events from across gateway when available.
2018-11-09 21:52:37 +01:00
#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".
2018-11-08 20:45:40 +01:00
#OPTIONAL (default false)
ShowUserTyping=false
2016-09-19 20:53:26 +02:00
###################################################################
#discord section
###################################################################
[discord]
2020-03-06 19:59:04 +01:00
# You can configure multiple servers "[discord.name]" or "[discord.name2]"
# In this example we use [discord.game]
2016-09-19 20:53:26 +02:00
#REQUIRED
[discord.game]
2020-03-06 19:59:04 +01:00
# 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.
2016-11-14 16:30:43 +01:00
Token="Yourtokenhere"
2016-09-19 20:53:26 +02:00
2020-03-06 19:59:04 +01:00
# Server (REQUIRED) is the ID or name of the guild to connect to, selected from the guilds the bot has been invited to
2016-10-23 19:51:31 +02:00
Server="yourservername"
2016-09-19 20:53:26 +02:00
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
2020-03-06 19:59:04 +01:00
## All settings below can be reloaded by editing the file.
## They are also all optional.
2018-05-01 22:23:37 +02:00
2020-03-06 19:59:04 +01:00
# ShowEmbeds shows the title, description and URL of embedded messages (sent by other bots)
2017-06-24 23:17:57 +02:00
ShowEmbeds=false
2020-03-06 19:59:04 +01:00
# 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.
2020-02-09 22:07:26 +01:00
#
2020-03-06 19:59:04 +01:00
# This only works if WebhookURL is set (AND the message has no avatar).
# Example: ["irc"]
UseLocalAvatar=[]
2020-02-09 22:07:26 +01:00
2020-03-06 19:59:04 +01:00
# UseUserName shows the username instead of the server nickname
2017-08-01 18:18:55 +02:00
UseUserName=false
2020-03-06 19:59:04 +01:00
# UseDiscriminator appends the `#xxxx` discriminator when used with UseUserName
2019-02-22 14:28:27 +01:00
UseDiscriminator=false
2020-03-06 20:04:19 +01:00
# WebhookURL sends messages in the style of puppets.
2020-03-06 19:59:04 +01:00
# This only works if you have one discord channel, if you have multiple discord channels you'll have to specify it in the gateway config
# Example: "https://discordapp.com/api/webhooks/1234/abcd_xyzw"
WebhookURL=""
2017-06-26 20:07:27 +02:00
2020-03-06 20:04:19 +01:00
# EditDisable disables sending of edits to other bridges
2017-04-15 19:00:15 +02:00
EditDisable=false
2020-03-06 19:59:04 +01:00
# EditSuffix specifies the message to be appended to every edited message
# Example: " (edited)"
EditSuffix=""
2017-04-15 19:00:15 +02:00
2020-03-06 20:04:19 +01:00
# IgnoreNicks mutes outgoing messages from certain users.
2020-03-06 19:59:04 +01:00
# Messages from these users will not be transmitted to other bridges.
# Regular expressions are also supported.
# Example: "ircspammer1 ircspammer2"
IgnoreNicks=""
2017-11-24 23:45:00 +01:00
2020-03-06 20:04:19 +01:00
# IgnoreMessages mutes outgoing messages of a certain format.
2020-03-06 19:59:04 +01:00
# 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=""
2017-11-24 23:45:00 +01:00
2020-03-06 19:59:04 +01:00
# 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: <relayeduser> 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=[]
2019-02-23 16:35:54 +01:00
2020-03-06 20:04:19 +01:00
# Label is as an extra identifier for use in the RemoteNickFormat setting.
2018-02-20 18:57:46 +01:00
Label=""
2020-03-06 20:04:19 +01:00
# RemoteNickFormat formats how remote users appear on this bridge.
2020-03-06 19:59:04 +01:00
# See the [general] config section for default options
2016-09-30 20:35:16 +02:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2016-09-19 20:53:26 +02:00
2020-03-06 20:04:19 +01:00
# ShowJoinPart emits messages that show joins/parts from other bridges
2020-03-06 19:59:04 +01:00
# Supported from the following bridges: irc, mattermost, slack, discord
2016-11-14 22:53:06 +01:00
ShowJoinPart=false
2016-09-18 21:04:28 +02:00
2020-03-06 20:04:19 +01:00
# StripNick strips non-alphanumeric characters from nicknames.
2020-03-06 19:59:04 +01:00
# Recommended reading: https://github.com/42wim/matterbridge/issues/285
2017-10-27 00:07:33 +02:00
StripNick=false
2020-03-06 20:04:19 +01:00
# ShowTopicChange emits messages that show topic/purpose updates from other bridges
2020-03-06 19:59:04 +01:00
# Supported from the following bridges: slack
2018-02-02 21:04:43 +01:00
ShowTopicChange=false
2020-03-06 20:04:19 +01:00
# SyncTopic synchronises topic/purpose updates from other bridges
2020-03-06 19:59:04 +01:00
# Supported from the following bridges: slack
2018-11-26 10:47:04 +01:00
SyncTopic=false
2016-11-20 17:01:53 +01:00
###################################################################
#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
2017-01-27 23:36:14 +01:00
#See https://core.telegram.org/bots#6-botfather and https://www.linkedin.com/pulse/telegram-bots-beginners-marco-frau
2016-11-20 17:01:53 +01:00
#REQUIRED
Token="Yourtokenhere"
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2017-02-24 18:49:52 +01:00
#OPTIONAL (default empty)
2020-03-18 22:43:11 +01:00
#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
2017-02-24 18:49:52 +01:00
MessageFormat=""
2020-02-02 18:53:04 +01:00
#OPTIONAL (default false)
#Disables link previews for links in messages
DisableWebPagePreview=false
2017-05-15 23:23:10 +02:00
#If enabled use the "First Name" as username. If this is empty use the Username
2020-03-06 19:59:09 +01:00
#If disabled use the "Username" as username. If this is empty use the First Name
2017-05-15 23:23:10 +02:00
#If all names are empty, username will be "unknown"
#OPTIONAL (default false)
UseFirstName=false
2017-07-04 01:34:02 +02:00
#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
2018-04-17 23:26:41 +02:00
#Disable quoted/reply messages
#OPTIONAL (default false)
QuoteDisable=false
2020-01-30 00:02:33 +01:00
#Set the max. quoted length if 0 the whole message will be quoted
#OPTIONAL (default 0)
QuoteLengthLimit=0
2018-05-11 20:59:15 +02:00
#Format quoted/reply messages
#OPTIONAL (default "{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})")
QuoteFormat="{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})"
2019-02-27 00:41:50 +01:00
#Convert WebP images to PNG before upload.
#https://github.com/42wim/matterbridge/issues/398
#OPTIONAL (default false)
MediaConvertWebPToPNG=false
2017-04-15 19:07:35 +02:00
#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)"
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2016-11-20 17:01:53 +01:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="spammer1 spammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-18 01:08:11 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2018-03-17 18:02:00 +01:00
#
#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}>
2016-11-20 17:01:53 +01:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2016-11-20 17:01:53 +01:00
#OPTIONAL (default false)
ShowJoinPart=false
2017-10-27 00:07:33 +02:00
#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
2016-12-03 00:10:29 +01:00
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2016-12-03 00:10:29 +01:00
###################################################################
#rocketchat section
###################################################################
[rocketchat]
#You can configure multiple servers "[rocketchat.name]" or "[rocketchat.name2]"
#In this example we use [rocketchat.work]
#REQUIRED
[rocketchat.rockme]
2019-02-10 17:00:11 +01:00
#The rocketchat hostname. (prefix it with http or https)
#REQUIRED (when not using webhooks)
Server="https://yourrocketchatserver.domain.com:443"
2020-03-06 19:59:09 +01:00
#login/pass of your bot.
2019-03-20 23:18:13 +01:00
#login needs to be the login with email address! user@domain.com
2020-03-06 19:59:09 +01:00
#Use a dedicated user for this and not your own!
2019-02-10 17:00:11 +01:00
#REQUIRED (when not using webhooks)
2019-03-20 23:18:13 +01:00
Login="yourlogin@domain.com"
2019-02-10 17:00:11 +01:00
Password="yourpass"
2019-09-13 23:41:02 +02:00
# 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"
2019-02-10 17:00:11 +01:00
#### Settings for webhook matterbridge.
#USE DEDICATED BOT USER WHEN POSSIBLE! This allows you to use advanced features like message editing/deleting and uploads
2020-03-06 19:59:09 +01:00
#You don't need to configure this, if you have configured the settings
2019-02-10 17:00:11 +01:00
#above.
2016-12-03 00:10:29 +01:00
#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
2017-06-24 19:36:10 +02:00
WebhookURL="https://yourdomain/hooks/yourhookkey"
2016-12-03 00:10:29 +01:00
#Address to listen on for outgoing webhook requests from rocketchat.
#See administration - integrations - new integration - outgoing webhook
2020-03-06 19:59:09 +01:00
#REQUIRED
2017-06-24 19:36:10 +02:00
WebhookBindAddress="0.0.0.0:9999"
2016-12-03 00:10:29 +01:00
#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
2020-03-06 19:59:09 +01:00
#Enable to not verify the certificate on your rocketchat server.
2016-12-03 00:10:29 +01:00
#e.g. when using selfsigned certificates
#OPTIONAL (default false)
SkipTLSVerify=true
2019-02-10 17:00:11 +01:00
#### End settings for webhook matterbridge.
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2020-03-06 19:59:09 +01:00
#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
2016-12-03 00:10:29 +01:00
#from bridge to rocketchat will by default be prefixed by the RemoteNickFormat setting. i
2019-03-21 21:05:27 +01:00
#if you're using login/pass you can better enable because of this bug:
#https://github.com/RocketChat/Rocket.Chat/issues/7549
2016-12-03 00:10:29 +01:00
#OPTIONAL (default false)
PrefixMessagesWithNick=false
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2016-12-03 00:10:29 +01:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="ircspammer1 ircspammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-18 01:08:11 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2016-12-03 00:10:29 +01:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2016-12-03 00:10:29 +01:00
#OPTIONAL (default false)
ShowJoinPart=false
2017-10-27 00:07:33 +02:00
#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
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2017-02-20 00:49:27 +01:00
###################################################################
#matrix section
###################################################################
[matrix]
#You can configure multiple servers "[matrix.name]" or "[matrix.name2]"
#In this example we use [matrix.neo]
#REQUIRED
[matrix.neo]
2017-03-14 00:26:05 +01:00
#Server is your homeserver (eg https://matrix.org)
2017-02-20 00:49:27 +01:00
#REQUIRED
2017-03-14 00:26:05 +01:00
Server="https://matrix.org"
2017-02-20 00:49:27 +01:00
2020-03-06 19:59:09 +01:00
#login/pass of your bot.
#Use a dedicated user for this and not your own!
2017-02-20 00:49:27 +01:00
#Messages sent from this user will not be relayed to avoid loops.
2020-03-06 19:59:09 +01:00
#REQUIRED
2017-02-20 00:49:27 +01:00
Login="yourlogin"
Password="yourpass"
2017-05-15 23:11:27 +02:00
#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
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2020-03-06 19:59:09 +01:00
#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
2017-02-20 00:49:27 +01:00
#from bridge to matrix will by default be prefixed by the RemoteNickFormat setting. i
#OPTIONAL (default false)
PrefixMessagesWithNick=false
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2017-02-20 00:49:27 +01:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="spammer1 spammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-18 01:08:11 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2017-02-20 00:49:27 +01:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2017-02-20 00:49:27 +01:00
#OPTIONAL (default false)
ShowJoinPart=false
2017-10-27 00:07:33 +02:00
#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
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2017-06-22 01:02:05 +02:00
###################################################################
#steam section
###################################################################
[steam]
#You can configure multiple servers "[steam.name]" or "[steam.name2]"
#In this example we use [steam.gamechat]
#REQUIRED
2017-06-22 01:10:15 +02:00
[steam.gamechat]
2020-03-06 19:59:09 +01:00
#login/pass of your bot.
#Use a dedicated user for this and not your own account!
#REQUIRED
2017-06-22 01:02:05 +02:00
Login="yourlogin"
Password="yourpass"
#steamguard mail authcode (not the 2FA code)
2020-03-06 19:59:09 +01:00
#OPTIONAL
2017-06-22 01:02:05 +02:00
Authcode="ABCE12"
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2020-03-06 19:59:09 +01:00
#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
2017-06-22 01:02:05 +02:00
#from bridge to matrix will by default be prefixed by the RemoteNickFormat setting. i
#OPTIONAL (default false)
PrefixMessagesWithNick=false
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2017-06-22 01:02:05 +02:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="spammer1 spammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2017-06-22 01:02:05 +02:00
#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"
2017-11-24 23:45:00 +01:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2017-06-22 01:02:05 +02:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2017-06-22 01:02:05 +02:00
#OPTIONAL (default false)
ShowJoinPart=false
2017-10-27 00:07:33 +02:00
#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
2017-02-20 00:49:27 +01:00
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-02-02 21:04:43 +01:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2019-02-21 20:28:13 +01:00
###################################################################
#
# 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"
2018-05-07 21:35:48 +02:00
###################################################################
2019-02-21 20:28:13 +01:00
#
# zulip
#
2018-05-07 21:35:48 +02:00
###################################################################
2019-02-21 20:28:13 +01:00
2018-05-07 21:35:48 +02:00
[zulip]
2019-02-21 20:28:13 +01:00
2018-05-07 21:35:48 +02:00
#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"
2020-03-06 19:59:09 +01:00
#Username of the bot, normally called yourbot-bot@yourserver.zulipchat.com
#See username in Settings - Your bots
2018-05-07 21:35:48 +02:00
#REQUIRED
Login="yourbot-bot@yourserver.zulipchat.com"
#Servername of your zulip instance
2020-03-06 19:59:09 +01:00
#REQUIRED
2018-05-07 21:35:48 +02:00
Server="https://yourserver.zulipchat.com"
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2020-03-06 19:59:09 +01:00
#Nicks you want to ignore.
2019-02-17 21:49:28 +01:00
#Regular expressions supported
2018-05-07 21:35:48 +02:00
#Messages from those users will not be sent to other bridges.
#OPTIONAL
IgnoreNicks="spammer1 spammer2"
2020-03-06 19:59:09 +01:00
#Messages you want to ignore.
2018-05-07 21:35:48 +02:00
#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"] ]
2019-02-23 16:35:54 +01:00
#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: <relayeduser> 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+" ] ]
2018-05-07 21:35:48 +02:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2018-05-07 21:35:48 +02:00
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2020-03-06 19:59:09 +01:00
#Enable to show users joins/parts from other bridges
2019-02-21 18:15:01 +01:00
#Currently works for messages from the following bridges: irc, mattermost, slack, discord
2018-05-07 21:35:48 +02:00
#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
2020-03-06 19:59:09 +01:00
#Enable to show topic changes from other bridges
2018-05-07 21:35:48 +02:00
#Only works hiding/show topic changes from slack bridge for now
#OPTIONAL (default false)
ShowTopicChange=false
2017-02-18 23:10:22 +01:00
###################################################################
#API
###################################################################
[api]
#You can configure multiple API hooks
#In this example we use [api.local]
#REQUIRED
[api.local]
#Address to listen on for API
2020-03-06 19:59:09 +01:00
#REQUIRED
2017-02-18 23:10:22 +01:00
BindAddress="127.0.0.1:4242"
#Amount of messages to keep in memory
2018-11-05 21:53:51 +01:00
#OPTIONAL (library default 10)
2017-02-18 23:10:22 +01:00
Buffer=1000
2017-06-06 00:05:32 +02:00
#Bearer token used for authentication
#curl -H "Authorization: Bearer token" http://localhost:4242/api/messages
#OPTIONAL (no authorization if token is empty)
Token="mytoken"
2018-02-20 18:57:46 +01:00
#extra label that can be used in the RemoteNickFormat
#optional (default empty)
Label=""
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2018-10-23 21:53:11 +02:00
#See [general] config section for default options
2017-02-18 23:10:22 +01:00
RemoteNickFormat="{NICK}"
2016-12-03 00:10:29 +01:00
2017-06-06 00:05:32 +02:00
2016-11-20 23:33:41 +01:00
###################################################################
#General configuration
###################################################################
2017-10-20 20:58:39 +02:00
# Settings here are defaults that each protocol can override
2016-11-20 23:33:41 +01:00
[general]
2018-05-01 22:23:37 +02:00
## RELOADABLE SETTINGS
## Settings below can be reloaded by editing the file
2020-03-06 19:59:09 +01:00
#RemoteNickFormat defines how remote users appear on this bridge
2016-11-20 23:33:41 +01:00
#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
2018-02-20 18:57:46 +01:00
#The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge
2016-11-20 23:33:41 +01:00
#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge
2018-10-23 21:53:11 +02:00
#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
2019-04-08 20:58:21 +02:00
#The string "{TENGO}" (case sensitive) will be replaced by the output of the RemoteNickFormat script under [tengo]
2016-11-20 23:33:41 +01:00
#OPTIONAL (default empty)
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
2017-10-27 00:07:33 +02:00
#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
2017-11-24 23:35:25 +01:00
2018-06-08 22:30:35 +02:00
#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.
2017-11-24 23:35:25 +01:00
#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)
2018-06-08 22:30:35 +02:00
MediaDownloadPath="/srv/http/yourserver.com/public/download"
#OPTIONAL (default empty)
2017-11-24 23:35:25 +01:00
MediaServerDownload="https://youserver.com/download"
2017-12-19 23:44:13 +01:00
#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
2018-02-02 20:23:55 +01:00
#slack, telegram, matrix and mattermost
2017-12-19 23:44:13 +01:00
#
2018-06-09 14:35:02 +02:00
#OPTIONAL (default 1000000 (1 megabyte))
2017-12-19 23:44:13 +01:00
MediaDownloadSize=1000000
2017-11-24 23:35:25 +01:00
2018-06-09 14:35:02 +02:00
#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$"]
2018-11-25 10:35:35 +01:00
#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
2019-04-08 20:58:21 +02:00
###################################################################
#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]
2019-04-19 18:27:31 +02:00
#InMessage allows you to specify the location of a tengo (https://github.com/d5/tengo/) script.
2019-04-08 20:58:21 +02:00
#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: msgChannel and 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)
2019-04-19 18:27:31 +02:00
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:
2019-04-24 22:47:37 +02:00
#inAccount, inProtocol, inChannel, inGateway, inEvent
#outAccount, outProtocol, outChannel, outGateway, outEvent
2019-04-19 18:27:31 +02:00
#
#read-write:
#msgText, msgUsername
#
#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"
2019-04-08 20:58:21 +02:00
#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
#
#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"
2016-09-18 21:04:28 +02:00
###################################################################
#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.
#
2020-03-06 19:59:09 +01:00
#Most of the time [[gateway.in]] and [[gateway.out]] are the same if you
2016-11-20 23:01:44 +01:00
#want bidirectional bridging. You can then use [[gateway.inout]]
2016-10-29 17:34:27 +02:00
#
2016-09-18 21:04:28 +02:00
[[gateway]]
2017-04-01 17:24:19 +02:00
#REQUIRED and UNIQUE
2016-09-18 21:04:28 +02:00
name="gateway1"
#Enable enables this gateway
##OPTIONAL (default false)
enable=true
2019-02-21 20:28:13 +01:00
# [[gateway.in]] specifies the account and channels we will receive messages from.
# The following example bridges between mattermost and irc
2016-09-18 21:04:28 +02:00
[[gateway.in]]
2019-02-21 20:28:13 +01:00
# account specified above
# REQUIRED
2016-09-18 21:04:28 +02:00
account="irc.freenode"
2019-02-21 20:28:13 +01:00
2020-04-08 23:52:38 +02:00
# 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
2016-10-23 19:51:31 +02:00
#
2020-04-08 23:52:38 +02:00
# 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
# -------------------------------------------------------------------------------------------------------------------------------------
# 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
# -------------------------------------------------------------------------------------------------------------------------------------
# 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
# -------------------------------------------------------------------------------------------------------------------------------------
2020-03-06 19:59:09 +01:00
#
2019-02-21 20:28:13 +01:00
# REQUIRED
2016-09-18 21:04:28 +02:00
channel="#testing"
2018-06-18 22:55:45 +02:00
#OPTIONAL - only used for IRC and XMPP protocols at the moment
2017-01-04 14:10:35 +01:00
[gateway.in.options]
2018-06-18 22:55:45 +02:00
#OPTIONAL - your irc / xmpp channel key
2017-01-04 14:10:35 +01:00
key="yourkey"
2016-09-18 21:04:28 +02:00
2016-11-20 23:01:44 +01:00
#[[gateway.out]] specifies the account and channels we will sent messages to.
2016-09-18 21:04:28 +02:00
[[gateway.out]]
account="irc.freenode"
channel="#testing"
2018-06-18 22:55:45 +02:00
#OPTIONAL - only used for IRC and XMPP protocols at the moment
2017-01-04 14:10:35 +01:00
[gateway.out.options]
2018-06-18 22:55:45 +02:00
#OPTIONAL - your irc / xmpp channel key
2017-01-04 14:10:35 +01:00
key="yourkey"
2020-03-06 19:59:09 +01:00
#[[gateway.inout]] can be used when then channel will be used to receive from
2016-11-20 23:01:44 +01:00
#and send messages to
[[gateway.inout]]
2016-09-18 21:04:28 +02:00
account="mattermost.work"
channel="off-topic"
2016-10-29 17:34:27 +02:00
2018-06-18 22:55:45 +02:00
#OPTIONAL - only used for IRC and XMPP protocols at the moment
2017-01-04 14:10:35 +01:00
[gateway.inout.options]
2018-06-18 22:55:45 +02:00
#OPTIONAL - your irc / xmpp channel key
2017-01-04 14:10:35 +01:00
key="yourkey"
2016-10-29 17:34:27 +02:00
2017-08-12 14:51:41 +02:00
[[gateway.inout]]
account="discord.game"
channel="mygreatgame"
#OPTIONAL - webhookurl only works for discord (it needs a different URL for each cahnnel)
[gateway.inout.options]
2018-11-25 10:37:14 +01:00
webhookurl="https://discordapp.com/api/webhooks/123456789123456789/C9WPqExYWONPDZabcdef-def1434FGFjstasJX9pYht73y"
2017-08-12 14:51:41 +02:00
2019-02-17 21:50:05 +01:00
[[gateway.inout]]
account="zulip.streamchat"
2019-03-02 20:31:38 +01:00
channel="general/topic:mytopic"
2019-02-17 21:50:05 +01:00
2017-02-18 23:10:22 +01:00
#API example
#[[gateway.inout]]
#account="api.local"
#channel="api"
#To send data to the api:
2017-06-08 00:03:06 +02:00
#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
2017-02-18 23:10:22 +01:00
2016-10-29 17:34:27 +02:00
#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]]
2017-04-01 17:24:19 +02:00
name="samechannel1"
2016-10-29 17:34:27 +02:00
enable = false
accounts = [ "mattermost.work","slack.hobby" ]
channels = [ "testing","testing2","testing3"]