################################################################### #IRC section ################################################################### [irc] [irc.{{ mbridge_bridge_name }}] Server="{{ mbridge_irc_network_server }}" UseTLS=true SkipTLSVerify=false Nick="{{ mbridge_bot_nick }}" UseSASL=true NickServNick="{{ mbridge_bot_nick }}" NickServPassword="{{ mbridge_irc_bot_pass }}" Label="{{ mbridge_irc_label }}" # StripMarkdown=true ## RELOADABLE SETTINGS ## Settings below can be reloaded by editing the file #Split messages on MessageLength instead of showing the #WARNING: this could lead to flooding #OPTIONAL (default false) MessageSplit=true #ColorNicks will show each nickname in a different color. #Only works in IRC right now. ColorNicks=true #Nicks you want to ignore. #Messages from those users will not be sent to other bridges. #OPTIONAL IgnoreNicks="{{ mbridge_irc_ignore_nicks }}" #Enable to show users joins/parts from other bridges #Currently works for messages from the following bridges: irc, mattermost, slack #OPTIONAL (default false) ShowJoinPart=false #Enable to show topic changes from other bridges #Only works hiding/show topic changes from slack bridge for now #OPTIONAL (default false) ShowTopicChange=true ################################################################### #mattermost section ################################################################### [mattermost] #You can configure multiple servers "[mattermost.name]" or "[mattermost.name2]" #In this example we use [mattermost.work] #REQUIRED [mattermost.{{ mbridge_bridge_name }}] Server="{{ mbridge_mattermost_server }}" Team="{{ mbridge_mattermost_team }}" 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 #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword 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: 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) Label="{{ mbridge_mattermost_label }}" #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 ################################################################### #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) RemoteNickFormat="<{NICK}> " #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 ################################################################### [[gateway]] name="{{ mbridge_bridge_name }}" enable=true [[gateway.inout]] account="irc.{{ mbridge_bridge_name }}" channel="{{ mbridge_irc_channel }}" [[gateway.inout]] account="mattermost.{{ mbridge_bridge_name }}" channel="{{ mbridge_mattermost_channel }}"