2019-12-31 18:41:23 +00:00
|
|
|
###################################################################
|
|
|
|
#IRC section
|
|
|
|
###################################################################
|
|
|
|
|
|
|
|
[irc]
|
2021-02-01 21:47:09 +00:00
|
|
|
[irc.{{ matterbridge_config['bridge_name'] }}]
|
|
|
|
Server="{{ matterbridge_config['irc']['server'] }}"
|
|
|
|
UseTLS={{ matterbridge_config['irc']['use_tls'] }}
|
|
|
|
SkipTLSVerify={{ matterbridge_config['irc']['skip_tls_verify'] }}
|
|
|
|
|
|
|
|
Nick="{{ matterbridge_config['bot_nick'] }}"
|
|
|
|
UseSASL={{ matterbridge_config['use_sasl'] }}
|
|
|
|
NickServNick="{{ matterbridge_config['bot_nick'] }}"
|
2020-05-04 17:06:10 +00:00
|
|
|
NickServPassword="{{ mbridge_irc_bot_pass }}"
|
2021-02-01 21:47:09 +00:00
|
|
|
Label="{{ matterbridge_config['irc']['label'] }}"
|
|
|
|
|
|
|
|
StripMarkdown="{{ matterbridge_config['irc']['strip_markdown'] }}"
|
2019-12-31 18:41:23 +00:00
|
|
|
|
|
|
|
## RELOADABLE SETTINGS
|
|
|
|
## Settings below can be reloaded by editing the file
|
|
|
|
|
|
|
|
#Split messages on MessageLength instead of showing the <message clipped>
|
|
|
|
#WARNING: this could lead to flooding
|
|
|
|
#OPTIONAL (default false)
|
2021-02-01 21:47:09 +00:00
|
|
|
MessageSplit={{ matterbridge_config['irc']['message_split'] }}
|
2019-12-31 18:41:23 +00:00
|
|
|
|
|
|
|
#ColorNicks will show each nickname in a different color.
|
|
|
|
#Only works in IRC right now.
|
2021-02-01 21:47:09 +00:00
|
|
|
ColorNicks={{ matterbridge_config['irc']['color_nicks'] }}
|
2019-12-31 18:41:23 +00:00
|
|
|
|
|
|
|
#Nicks you want to ignore.
|
|
|
|
#Messages from those users will not be sent to other bridges.
|
|
|
|
#OPTIONAL
|
2021-02-01 21:47:09 +00:00
|
|
|
IgnoreNicks="{{ matterbridge_config['irc']['ignore_nicks'] | join(',') }}"
|
2019-12-31 18:41:23 +00:00
|
|
|
|
|
|
|
#Enable to show users joins/parts from other bridges
|
|
|
|
#Currently works for messages from the following bridges: irc, mattermost, slack
|
|
|
|
#OPTIONAL (default false)
|
2021-02-01 21:47:09 +00:00
|
|
|
ShowJoinPart={{ matterbridge_config['irc']['show_join_part'] }}
|
2019-12-31 18:41:23 +00:00
|
|
|
|
|
|
|
#Enable to show topic changes from other bridges
|
|
|
|
#Only works hiding/show topic changes from slack bridge for now
|
|
|
|
#OPTIONAL (default false)
|
2021-02-01 21:47:09 +00:00
|
|
|
ShowTopicChange={{ matterbridge_config['irc']['show_topic_change'] }}
|
2019-12-31 18:41:23 +00:00
|
|
|
|
|
|
|
|
2021-01-28 02:51:17 +00:00
|
|
|
###################################################################
|
|
|
|
#mattermost section
|
|
|
|
###################################################################
|
|
|
|
[mattermost]
|
|
|
|
#You can configure multiple servers "[mattermost.name]" or "[mattermost.name2]"
|
|
|
|
#In this example we use [mattermost.work]
|
|
|
|
#REQUIRED
|
|
|
|
|
2021-02-01 21:47:09 +00:00
|
|
|
[mattermost.{{ matterbridge_config['bridge_name'] }}]
|
|
|
|
Server="{{ matterbridge_config['mattermost']['server'] }}"
|
|
|
|
Team="{{ matterbridge_config['mattermost']['team'] }}"
|
2021-01-28 02:51:17 +00:00
|
|
|
Token="{{ mbridge_mattermost_token }}"
|
|
|
|
|
|
|
|
NoTLS=false
|
|
|
|
SkipTLSVerify=false
|
|
|
|
|
|
|
|
## 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="table "
|
|
|
|
#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=true
|
|
|
|
|
|
|
|
#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="{{ mbridge_mattermost_ignore_nicks }}"
|
|
|
|
|
|
|
|
#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
|
2021-02-01 21:47:09 +00:00
|
|
|
matterbridge_config['mattermost']['toke#OPTIONAL (example below ignores messages starting with ~~ or messages containing badword
|
2021-01-28 02:51:17 +00:00
|
|
|
IgnoreMessages=""
|
|
|
|
|
|
|
|
#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=[ ]
|
|
|
|
|
|
|
|
#nicks you want to replace.
|
|
|
|
#see replacemessages for syntaxa
|
|
|
|
#optional (default empty)
|
|
|
|
ReplaceNicks=[ ]
|
|
|
|
|
|
|
|
#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=[ ]
|
|
|
|
|
|
|
|
#extra label that can be used in the RemoteNickFormat
|
|
|
|
#optional (default empty)
|
2021-02-01 21:47:09 +00:00
|
|
|
Label="{{ matterbridge_config['mattermost']['label'] }}"
|
2021-01-28 02:51:17 +00:00
|
|
|
|
|
|
|
#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=true
|
|
|
|
|
|
|
|
#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
|
2019-12-31 18:41:23 +00:00
|
|
|
|
|
|
|
###################################################################
|
|
|
|
#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 / 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
|
|
|
|
#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
|
|
|
|
#OPTIONAL (default empty)
|
2021-01-28 02:51:17 +00:00
|
|
|
RemoteNickFormat="<{NICK}> "
|
2019-12-31 18:41:23 +00: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.
|
|
|
|
#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$"]
|
|
|
|
|
|
|
|
|
|
|
|
###################################################################
|
|
|
|
#Gateway configuration
|
|
|
|
###################################################################
|
2021-02-01 21:47:09 +00:00
|
|
|
{% for gateway in in matterbridge_config['gateways'] %}
|
2019-12-31 18:41:23 +00:00
|
|
|
[[gateway]]
|
2021-02-01 21:47:09 +00:00
|
|
|
name="{{ matterbridge_config['bridge_name'] }}.{{ gateway['mattermost_channel'] }}"
|
2019-12-31 18:41:23 +00:00
|
|
|
enable=true
|
|
|
|
|
|
|
|
[[gateway.inout]]
|
2021-02-01 21:47:09 +00:00
|
|
|
account="irc.{{ matterbridge_config['bridge_name'] }}"
|
|
|
|
channel="{{ gateway['irc_channel'] }}"
|
2020-05-04 17:06:10 +00:00
|
|
|
|
|
|
|
[[gateway.inout]]
|
2021-02-01 21:47:09 +00:00
|
|
|
account="mattermost.{{ matterbridge_config['bridge_name'] }}"
|
|
|
|
channel="{{ gateway['mattermost_channel'] }}"
|
|
|
|
|
|
|
|
{% endfor %}
|