| 1 | #This is configuration for matterbridge. |
| 2 | #WARNING: as this file contains credentials, be sure to set correct file permissions |
| 3 | #See https://github.com/42wim/matterbridge/wiki/How-to-create-your-config for how to create your config |
| 4 | #See https://github.com/42wim/matterbridge/wiki/Settings for all settings |
| 5 | ################################################################### |
| 6 | #IRC section |
| 7 | ################################################################### |
| 8 | #REQUIRED to start IRC section |
| 9 | [irc] |
| 10 | |
| 11 | #You can configure multiple servers "[irc.name]" or "[irc.name2]" |
| 12 | #In this example we use [irc.libera] |
| 13 | #REQUIRED |
| 14 | [irc.libera] |
| 15 | #irc server to connect to. |
| 16 | #REQUIRED |
| 17 | Server="irc.libera.chat:6667" |
| 18 | |
| 19 | #Password for irc server (if necessary) |
| 20 | #OPTIONAL (default "") |
| 21 | Password="" |
| 22 | |
| 23 | #Enable to use TLS connection to your irc server. |
| 24 | #OPTIONAL (default false) |
| 25 | UseTLS=false |
| 26 | |
| 27 | #Use client certificate - see CertFP https://libera.chat/guides/certfp.html |
| 28 | #Specify filename which contains private key and cert |
| 29 | #OPTIONAL (default "") |
| 30 | # |
| 31 | #TLSClientCertificate="cert.pem" |
| 32 | TLSClientCertificate="" |
| 33 | |
| 34 | #Enable SASL (PLAIN) authentication. (libera requires this from eg AWS hosts) |
| 35 | #It uses NickServNick and NickServPassword as login and password |
| 36 | #OPTIONAL (default false) |
| 37 | UseSASL=false |
| 38 | |
| 39 | #Enable to not verify the certificate on your irc server. |
| 40 | #e.g. when using selfsigned certificates |
| 41 | #OPTIONAL (default false) |
| 42 | SkipTLSVerify=true |
| 43 | |
| 44 | #Local address to use for server connection |
| 45 | #Note that Server and Bind must resolve to addresses of the same family. |
| 46 | #OPTIONAL (default "") |
| 47 | Bind="" |
| 48 | |
| 49 | #If you know your charset, you can specify it manually. |
| 50 | #Otherwise it tries to detect this automatically. Select one below |
| 51 | # "iso-8859-2:1987", "iso-8859-9:1989", "866", "latin9", "iso-8859-10:1992", "iso-ir-109", "hebrew", |
| 52 | # "cp932", "iso-8859-15", "cp437", "utf-16be", "iso-8859-3:1988", "windows-1251", "utf16", "latin6", |
| 53 | # "latin3", "iso-8859-1:1987", "iso-8859-9", "utf-16le", "big5", "cp819", "asmo-708", "utf-8", |
| 54 | # "ibm437", "iso-ir-157", "iso-ir-144", "latin4", "850", "iso-8859-5", "iso-8859-5:1988", "l3", |
| 55 | # "windows-31j", "utf8", "iso-8859-3", "437", "greek", "iso-8859-8", "l6", "l9-iso-8859-15", |
| 56 | # "iso-8859-2", "latin2", "iso-ir-100", "iso-8859-6", "arabic", "iso-ir-148", "us-ascii", "x-sjis", |
| 57 | # "utf16be", "iso-8859-8:1988", "utf16le", "l4", "utf-16", "iso-ir-138", "iso-8859-7", "iso-8859-7:1987", |
| 58 | # "windows-1252", "l2", "koi8-r", "iso8859-1", "latin1", "ecma-114", "iso-ir-110", "elot-928", |
| 59 | # "iso-ir-126", "iso-8859-1", "iso-ir-127", "cp850", "cyrillic", "greek8", "windows-1250", "iso-latin-1", |
| 60 | # "l5", "ibm866", "cp866", "ms-kanji", "ibm850", "ecma-118", "iso-ir-101", "ibm819", "l1", "iso-8859-6:1987", |
| 61 | # "latin5", "ascii", "sjis", "iso-8859-10", "iso-8859-4", "iso-8859-4:1988", "shift-jis |
| 62 | # The select charset will be converted to utf-8 when sent to other bridges. |
| 63 | #OPTIONAL (default "") |
| 64 | Charset="" |
| 65 | |
| 66 | #Your nick on irc. |
| 67 | #REQUIRED |
| 68 | Nick="matterbot" |
| 69 | |
| 70 | #Real name/gecos displayed in e.g. /WHOIS and /WHO |
| 71 | #OPTIONAL (defaults to the nick) |
| 72 | RealName="Matterbridge instance on IRC" |
| 73 | |
| 74 | #IRC username/ident preceding the hostname in hostmasks and /WHOIS |
| 75 | #OPTIONAL (defaults to the nick) |
| 76 | UserName="bridge" |
| 77 | |
| 78 | #If you registered your bot with a service like Nickserv on libera. |
| 79 | #Also being used when UseSASL=true |
| 80 | # |
| 81 | #Note: if you want do to quakenet auth, set NickServNick="Q@CServe.quakenet.org" |
| 82 | #OPTIONAL |
| 83 | NickServNick="nickserv" |
| 84 | NickServPassword="secret" |
| 85 | |
| 86 | #OPTIONAL only used for quakenet auth |
| 87 | NickServUsername="username" |
| 88 | |
| 89 | ## RELOADABLE SETTINGS |
| 90 | ## Settings below can be reloaded by editing the file |
| 91 | |
| 92 | #Flood control |
| 93 | #Delay in milliseconds between each message send to the IRC server |
| 94 | #OPTIONAL (default 1300) |
| 95 | MessageDelay=1300 |
| 96 | |
| 97 | #Maximum amount of messages to hold in queue. If queue is full |
| 98 | #messages will be dropped. |
| 99 | #<clipped message> will be add to the message that fills the queue. |
| 100 | #OPTIONAL (default 30) |
| 101 | MessageQueue=30 |
| 102 | |
| 103 | #Maximum length of message sent to irc server. If it exceeds |
| 104 | #<clipped message> will be add to the message. |
| 105 | #OPTIONAL (default 400) |
| 106 | MessageLength=400 |
| 107 | |
| 108 | #Split messages on MessageLength instead of showing the <clipped message> |
| 109 | #WARNING: this could lead to flooding |
| 110 | #OPTIONAL (default false) |
| 111 | MessageSplit=false |
| 112 | |
| 113 | #Message to show when a message is too big |
| 114 | #Default "<clipped message>" |
| 115 | MessageClipped="<clipped message>" |
| 116 | |
| 117 | #Delay in seconds to rejoin a channel when kicked |
| 118 | #OPTIONAL (default 0) |
| 119 | RejoinDelay=0 |
| 120 | |
| 121 | #ColorNicks will show each nickname in a different color. |
| 122 | #Only works in IRC right now. |
| 123 | ColorNicks=false |
| 124 | |
| 125 | #RunCommands allows you to send RAW irc commands after connection. |
| 126 | #The string {BOTNICK} (case sensitive) will be replaced with the bot's current nickname. |
| 127 | #Array of strings |
| 128 | #OPTIONAL (default empty) |
| 129 | RunCommands=["PRIVMSG user hello","PRIVMSG chanserv something", "MODE {BOTNICK} +B"] |
| 130 | |
| 131 | #PingDelay specifies how long to wait to send a ping to the irc server. |
| 132 | #You can use s for second, m for minute |
| 133 | #String |
| 134 | #OPTIONAL (default 1m) |
| 135 | PingDelay="1m" |
| 136 | |
| 137 | #StripMarkdown strips markdown from messages |
| 138 | #OPTIONAL (default false) |
| 139 | StripMarkdown=false |
| 140 | |
| 141 | #Nicks you want to ignore. |
| 142 | #Regular expressions supported |
| 143 | #Messages from those users will not be sent to other bridges. |
| 144 | #OPTIONAL |
| 145 | IgnoreNicks="ircspammer1 ircspammer2" |
| 146 | |
| 147 | #Messages you want to ignore. |
| 148 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 149 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 150 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 151 | IgnoreMessages="^~~ badword" |
| 152 | |
| 153 | #messages you want to replace. |
| 154 | #it replaces outgoing messages from the bridge. |
| 155 | #so you need to place it by the sending bridge definition. |
| 156 | #regular expressions supported |
| 157 | #some examples: |
| 158 | #this replaces cat => dog and sleep => awake |
| 159 | #replacemessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 160 | #this replaces every number with number. 123 => numbernumbernumber |
| 161 | #replacemessages=[ ["[0-9]","number"] ] |
| 162 | #optional (default empty) |
| 163 | ReplaceMessages=[ ["cat","dog"] ] |
| 164 | |
| 165 | #nicks you want to replace. |
| 166 | #see replacemessages for syntax |
| 167 | #optional (default empty) |
| 168 | ReplaceNicks=[ ["user--","user"] ] |
| 169 | |
| 170 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 171 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 172 | #some examples: |
| 173 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 174 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 175 | #you can use multiple entries for multiplebots |
| 176 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 177 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 178 | #OPTIONAL (default empty) |
| 179 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 180 | |
| 181 | #extra label that can be used in the RemoteNickFormat |
| 182 | #optional (default empty) |
| 183 | Label="" |
| 184 | |
| 185 | #RemoteNickFormat defines how remote users appear on this bridge |
| 186 | #See [general] config section for default options |
| 187 | #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 |
| 188 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 189 | |
| 190 | #Enable to show users joins/parts from other bridges |
| 191 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 192 | #OPTIONAL (default false) |
| 193 | ShowJoinPart=false |
| 194 | |
| 195 | #Enable to show verbose users joins/parts (ident@host) from other bridges |
| 196 | #Currently works for messages from the following bridges: irc |
| 197 | #OPTIONAL (default false) |
| 198 | VerboseJoinPart=false |
| 199 | |
| 200 | #Do not send joins/parts to other bridges |
| 201 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 202 | #OPTIONAL (default false) |
| 203 | NoSendJoinPart=false |
| 204 | |
| 205 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 206 | #It will strip other characters from the nick |
| 207 | #OPTIONAL (default false) |
| 208 | StripNick=false |
| 209 | |
| 210 | #Enable to show topic changes from other bridges |
| 211 | #Only works hiding/show topic changes from slack bridge for now |
| 212 | #OPTIONAL (default false) |
| 213 | ShowTopicChange=false |
| 214 | |
| 215 | #Delay in milliseconds between channel joins |
| 216 | #Only useful when you have a LOT of channels to join |
| 217 | #See https://github.com/42wim/matterbridge/issues/1084 |
| 218 | #OPTIONAL (default 0) |
| 219 | JoinDelay=0 |
| 220 | |
| 221 | #Use the optional RELAYMSG extension for username spoofing on IRC. |
| 222 | #This requires an IRCd that supports the draft/relaymsg specification: currently this includes |
| 223 | #Oragono 2.4.0+ and InspIRCd 3 with the m_relaymsg contrib module. |
| 224 | #See https://github.com/42wim/matterbridge/issues/667#issuecomment-634214165 for more details. |
| 225 | #Spoofed nicks will use the configured RemoteNickFormat, replacing reserved IRC characters |
| 226 | #(!+%@&#$:'"?*,.) with a hyphen (-). |
| 227 | #On most configurations, the RemoteNickFormat must include a separator character such as "/". |
| 228 | #You should make sure that the settings here match your IRCd. |
| 229 | #This option overrides ColorNicks. |
| 230 | #OPTIONAL (default false) |
| 231 | UseRelayMsg=false |
| 232 | #RemoteNickFormat="{NICK}/{PROTOCOL}" |
| 233 | |
| 234 | ################################################################### |
| 235 | #XMPP section |
| 236 | ################################################################### |
| 237 | [xmpp] |
| 238 | |
| 239 | #You can configure multiple servers "[xmpp.name]" or "[xmpp.name2]" |
| 240 | #In this example we use [xmpp.jabber] |
| 241 | #REQUIRED |
| 242 | [xmpp.jabber] |
| 243 | #xmpp server to connect to. |
| 244 | #REQUIRED |
| 245 | Server="jabber.example.com:5222" |
| 246 | |
| 247 | #Use anonymous MUC login |
| 248 | #OPTIONAL (default false) |
| 249 | Anonymous=false |
| 250 | |
| 251 | #Jid |
| 252 | #REQUIRED if Anonymous=false |
| 253 | Jid="user@example.com" |
| 254 | |
| 255 | #Password |
| 256 | #REQUIRED if Anonymous=false |
| 257 | Password="yourpass" |
| 258 | |
| 259 | #MUC |
| 260 | #REQUIRED |
| 261 | Muc="conference.jabber.example.com" |
| 262 | |
| 263 | #Your nick in the rooms |
| 264 | #REQUIRED |
| 265 | Nick="xmppbot" |
| 266 | |
| 267 | #Enable to not verify the certificate on your xmpp server. |
| 268 | #e.g. when using selfsigned certificates |
| 269 | #OPTIONAL (default false) |
| 270 | SkipTLSVerify=true |
| 271 | |
| 272 | #Enable to use plaintext connection to your XMPP server. |
| 273 | #OPTIONAL (default false) |
| 274 | NoTLS=true |
| 275 | |
| 276 | ## RELOADABLE SETTINGS |
| 277 | ## Settings below can be reloaded by editing the file |
| 278 | |
| 279 | #Nicks you want to ignore. |
| 280 | #Regular expressions supported |
| 281 | #Messages from those users will not be sent to other bridges. |
| 282 | #OPTIONAL |
| 283 | IgnoreNicks="ircspammer1 ircspammer2" |
| 284 | |
| 285 | #Messages you want to ignore. |
| 286 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 287 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 288 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 289 | IgnoreMessages="^~~ badword" |
| 290 | |
| 291 | #Messages you want to replace. |
| 292 | #It replaces outgoing messages from the bridge. |
| 293 | #So you need to place it by the sending bridge definition. |
| 294 | #Regular expressions supported |
| 295 | #Some examples: |
| 296 | #This replaces cat => dog and sleep => awake |
| 297 | #ReplaceMessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 298 | #This Replaces every number with number. 123 => numbernumbernumber |
| 299 | #ReplaceMessages=[ ["[0-9]","number"] ] |
| 300 | #OPTIONAL (default empty) |
| 301 | ReplaceMessages=[ ["cat","dog"] ] |
| 302 | |
| 303 | #Nicks you want to replace. |
| 304 | #See ReplaceMessages for syntax |
| 305 | #OPTIONAL (default empty) |
| 306 | ReplaceNicks=[ ["user--","user"] ] |
| 307 | |
| 308 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 309 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 310 | #some examples: |
| 311 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 312 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 313 | #you can use multiple entries for multiplebots |
| 314 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 315 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 316 | #OPTIONAL (default empty) |
| 317 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 318 | |
| 319 | #extra label that can be used in the RemoteNickFormat |
| 320 | #optional (default empty) |
| 321 | Label="" |
| 322 | |
| 323 | #RemoteNickFormat defines how remote users appear on this bridge |
| 324 | #See [general] config section for default options |
| 325 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 326 | |
| 327 | #Enable to show users joins/parts from other bridges |
| 328 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 329 | #OPTIONAL (default false) |
| 330 | ShowJoinPart=false |
| 331 | |
| 332 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 333 | #It will strip other characters from the nick |
| 334 | #OPTIONAL (default false) |
| 335 | StripNick=false |
| 336 | |
| 337 | #Enable to show topic changes from other bridges |
| 338 | #Only works hiding/show topic changes from slack bridge for now |
| 339 | #OPTIONAL (default false) |
| 340 | ShowTopicChange=false |
| 341 | |
| 342 | #Enable sending messages using a webhook instead of regular MUC messages. |
| 343 | #Only works with a prosody server using mod_slack_webhook. Does not support editing. |
| 344 | #OPTIONAL (default "") |
| 345 | WebhookURL="https://yourdomain/prosody/msg/someid" |
| 346 | |
| 347 | ################################################################### |
| 348 | #mattermost section |
| 349 | ################################################################### |
| 350 | [mattermost] |
| 351 | #You can configure multiple servers "[mattermost.name]" or "[mattermost.name2]" |
| 352 | #In this example we use [mattermost.work] |
| 353 | #REQUIRED |
| 354 | |
| 355 | [mattermost.work] |
| 356 | #The mattermost hostname. (do not prefix it with http or https) |
| 357 | #REQUIRED (when not using webhooks) |
| 358 | Server="yourmattermostserver.domain" |
| 359 | |
| 360 | #Your team on mattermost. |
| 361 | #REQUIRED (when not using webhooks) |
| 362 | Team="yourteam" |
| 363 | |
| 364 | #login/pass of your bot. |
| 365 | #Use a dedicated user for this and not your own! |
| 366 | #REQUIRED (when not using webhooks) |
| 367 | Login="yourlogin" |
| 368 | Password="yourpass" |
| 369 | |
| 370 | #personal access token of the bot. |
| 371 | #new feature since mattermost 4.1. See https://docs.mattermost.com/developer/personal-access-tokens.html |
| 372 | #OPTIONAL (you can use token instead of login/password) |
| 373 | #Token="abcdefghijklm" |
| 374 | |
| 375 | #Enable this to make a http connection (instead of https) to your mattermost. |
| 376 | #OPTIONAL (default false) |
| 377 | NoTLS=false |
| 378 | |
| 379 | #### Settings for webhook matterbridge. |
| 380 | #NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE DEDICATED BOT USER WHEN POSSIBLE! |
| 381 | #You don't need to configure this, if you have configured the settings |
| 382 | #above. |
| 383 | |
| 384 | #Url is your incoming webhook url as specified in mattermost. |
| 385 | #See account settings - integrations - incoming webhooks on mattermost. |
| 386 | #If specified, messages will be sent to mattermost using this URL |
| 387 | #OPTIONAL |
| 388 | WebhookURL="https://yourdomain/hooks/yourhookkey" |
| 389 | |
| 390 | #Address to listen on for outgoing webhook requests from mattermost. |
| 391 | #See account settings - integrations - outgoing webhooks on mattermost. |
| 392 | #If specified, messages will be received from mattermost on this ip:port |
| 393 | #(this will only work if WebhookURL above is also configured) |
| 394 | #OPTIONAL |
| 395 | WebhookBindAddress="0.0.0.0:9999" |
| 396 | |
| 397 | #Icon that will be showed in mattermost. |
| 398 | #This only works when WebhookURL is configured |
| 399 | #OPTIONAL |
| 400 | IconURL="http://youricon.png" |
| 401 | |
| 402 | #### End settings for webhook matterbridge. |
| 403 | |
| 404 | #Enable to not verify the certificate on your mattermost server. |
| 405 | #e.g. when using selfsigned certificates |
| 406 | #OPTIONAL (default false) |
| 407 | SkipTLSVerify=true |
| 408 | |
| 409 | ## RELOADABLE SETTINGS |
| 410 | ## Settings below can be reloaded by editing the file |
| 411 | |
| 412 | # UseUserName shows the username instead of the server nickname |
| 413 | # OPTIONAL (default false) |
| 414 | UseUserName=false |
| 415 | |
| 416 | #how to format the list of IRC nicks when displayed in mattermost. |
| 417 | #Possible options are "table" and "plain" |
| 418 | #OPTIONAL (default plain) |
| 419 | NickFormatter="plain" |
| 420 | #How many nicks to list per row for formatters that support this. |
| 421 | #OPTIONAL (default 4) |
| 422 | NicksPerRow=4 |
| 423 | |
| 424 | #Skip the Mattermost server version checks that are normally done when connecting. |
| 425 | #The usage scenario for this feature would be when the Mattermost instance is hosted behind a |
| 426 | #reverse proxy that suppresses "non-standard" response headers in flight. |
| 427 | #OPTIONAL (default false) |
| 428 | SkipVersionCheck=false |
| 429 | |
| 430 | #Whether to prefix messages from other bridges to mattermost with the sender's nick. |
| 431 | #Useful if username overrides for incoming webhooks isn't enabled on the |
| 432 | #mattermost server. If you set PrefixMessagesWithNick to true, each message |
| 433 | #from bridge to Mattermost will by default be prefixed by "bridge-" + nick. You can, |
| 434 | #however, modify how the messages appear, by setting (and modifying) RemoteNickFormat |
| 435 | #OPTIONAL (default false) |
| 436 | PrefixMessagesWithNick=false |
| 437 | |
| 438 | #Disable sending of edits to other bridges |
| 439 | #OPTIONAL (default false) |
| 440 | EditDisable=false |
| 441 | |
| 442 | #Message to be appended to every edited message |
| 443 | #OPTIONAL (default empty) |
| 444 | EditSuffix=" (edited)" |
| 445 | |
| 446 | #Nicks you want to ignore. |
| 447 | #Regular expressions supported |
| 448 | #Messages from those users will not be sent to other bridges. |
| 449 | #OPTIONAL |
| 450 | IgnoreNicks="ircspammer1 ircspammer2" |
| 451 | |
| 452 | #Messages you want to ignore. |
| 453 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 454 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 455 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 456 | IgnoreMessages="^~~ badword" |
| 457 | |
| 458 | #messages you want to replace. |
| 459 | #it replaces outgoing messages from the bridge. |
| 460 | #so you need to place it by the sending bridge definition. |
| 461 | #regular expressions supported |
| 462 | #some examples: |
| 463 | #this replaces cat => dog and sleep => awake |
| 464 | #replacemessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 465 | #this replaces every number with number. 123 => numbernumbernumber |
| 466 | #replacemessages=[ ["[0-9]","number"] ] |
| 467 | #optional (default empty) |
| 468 | ReplaceMessages=[ ["cat","dog"] ] |
| 469 | |
| 470 | #nicks you want to replace. |
| 471 | #see replacemessages for syntax |
| 472 | #optional (default empty) |
| 473 | ReplaceNicks=[ ["user--","user"] ] |
| 474 | |
| 475 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 476 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 477 | #some examples: |
| 478 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 479 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 480 | #you can use multiple entries for multiplebots |
| 481 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 482 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 483 | #OPTIONAL (default empty) |
| 484 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 485 | |
| 486 | #extra label that can be used in the RemoteNickFormat |
| 487 | #optional (default empty) |
| 488 | Label="" |
| 489 | |
| 490 | #RemoteNickFormat defines how remote users appear on this bridge |
| 491 | #See [general] config section for default options |
| 492 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 493 | |
| 494 | #Enable to show users joins/parts from other bridges |
| 495 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 496 | #OPTIONAL (default false) |
| 497 | ShowJoinPart=false |
| 498 | |
| 499 | #Do not send joins/parts to other bridges |
| 500 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 501 | #OPTIONAL (default false) |
| 502 | NoSendJoinPart=false |
| 503 | |
| 504 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 505 | #It will strip other characters from the nick |
| 506 | #OPTIONAL (default false) |
| 507 | StripNick=false |
| 508 | |
| 509 | #Enable to show topic changes from other bridges |
| 510 | #Only works hiding/show topic changes from slack bridge for now |
| 511 | #OPTIONAL (default false) |
| 512 | ShowTopicChange=false |
| 513 | |
| 514 | ################################################################### |
| 515 | <<<<<<< HEAD |
| 516 | # |
| 517 | # Keybase |
| 518 | # You should have a separate bridge account on Keybase |
| 519 | # (it also needs to be logged in on the system you're running the bridge on) |
| 520 | # |
| 521 | ################################################################### |
| 522 | |
| 523 | [keybase.myteam] |
| 524 | |
| 525 | # RemoteNickFormat defines how remote users appear on this bridge |
| 526 | # See [general] config section for default options |
| 527 | RemoteNickFormat="{NICK} ({PROTOCOL}): " |
| 528 | |
| 529 | # extra label that can be used in the RemoteNickFormat |
| 530 | # optional (default empty) |
| 531 | Label="" |
| 532 | |
| 533 | # Your team on Keybase. |
| 534 | # The bot user MUST be a member of this team |
| 535 | # REQUIRED |
| 536 | Team="myteam" |
| 537 | |
| 538 | ################################################################### |
| 539 | # |
| 540 | # Mastodon |
| 541 | # |
| 542 | ################################################################### |
| 543 | |
| 544 | [mastodon] |
| 545 | [mastodon.myaccount] |
| 546 | |
| 547 | # Your mastodon instance url. |
| 548 | # REQUIRED |
| 549 | Server="https://mastodon.social" |
| 550 | |
| 551 | # Application client key |
| 552 | # REQUIRED |
| 553 | ClientID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" |
| 554 | |
| 555 | # Application client secret |
| 556 | # REQUIRED |
| 557 | ClientSecret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" |
| 558 | |
| 559 | # Application access token |
| 560 | # REQUIRED |
| 561 | AccessToken="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" |
| 562 | |
| 563 | ################################################################### |
| 564 | # Microsoft teams section |
| 565 | # See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup |
| 566 | ################################################################### |
| 567 | |
| 568 | [msteams.myteam] |
| 569 | |
| 570 | # TenantID |
| 571 | # See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge |
| 572 | TenantID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
| 573 | |
| 574 | # ClientID |
| 575 | # See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge |
| 576 | ClientID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
| 577 | |
| 578 | # TeamID |
| 579 | # See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup#get-necessary-ids-for-matterbridge |
| 580 | TeamID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
| 581 | |
| 582 | ## RELOADABLE SETTINGS |
| 583 | ## Settings below can be reloaded by editing the file |
| 584 | |
| 585 | #Nicks you want to ignore. |
| 586 | #Regular expressions supported |
| 587 | #Messages from those users will not be sent to other bridges. |
| 588 | #OPTIONAL |
| 589 | IgnoreNicks="ircspammer1 ircspammer2" |
| 590 | |
| 591 | #Messages you want to ignore. |
| 592 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 593 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 594 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 595 | IgnoreMessages="^~~ badword" |
| 596 | |
| 597 | #messages you want to replace. |
| 598 | #it replaces outgoing messages from the bridge. |
| 599 | #so you need to place it by the sending bridge definition. |
| 600 | #regular expressions supported |
| 601 | #some examples: |
| 602 | #this replaces cat => dog and sleep => awake |
| 603 | #replacemessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 604 | #this replaces every number with number. 123 => numbernumbernumber |
| 605 | #replacemessages=[ ["[0-9]","number"] ] |
| 606 | #optional (default empty) |
| 607 | ReplaceMessages=[ ["cat","dog"] ] |
| 608 | |
| 609 | #nicks you want to replace. |
| 610 | #see replacemessages for syntax |
| 611 | #optional (default empty) |
| 612 | ReplaceNicks=[ ["user--","user"] ] |
| 613 | |
| 614 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 615 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 616 | #some examples: |
| 617 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 618 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 619 | #you can use multiple entries for multiplebots |
| 620 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 621 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 622 | #OPTIONAL (default empty) |
| 623 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 624 | |
| 625 | #extra label that can be used in the RemoteNickFormat |
| 626 | #optional (default empty) |
| 627 | Label="" |
| 628 | |
| 629 | #RemoteNickFormat defines how remote users appear on this bridge |
| 630 | #See [general] config section for default options |
| 631 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 632 | |
| 633 | #Enable to show users joins/parts from other bridges |
| 634 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 635 | #OPTIONAL (default false) |
| 636 | ShowJoinPart=false |
| 637 | |
| 638 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 639 | #It will strip other characters from the nick |
| 640 | #OPTIONAL (default false) |
| 641 | StripNick=false |
| 642 | |
| 643 | #Enable to show topic changes from other bridges |
| 644 | #Only works hiding/show topic changes from slack bridge for now |
| 645 | #OPTIONAL (default false) |
| 646 | ShowTopicChange=false |
| 647 | |
| 648 | #Opportunistically preserve threaded replies between bridges |
| 649 | #that support threading |
| 650 | #OPTIONAL (default false) |
| 651 | PreserveThreading=false |
| 652 | |
| 653 | ################################################################### |
| 654 | #slack section |
| 655 | ################################################################### |
| 656 | [slack] |
| 657 | |
| 658 | #You can configure multiple servers "[slack.name]" or "[slack.name2]" |
| 659 | #In this example we use [slack.hobby] |
| 660 | #REQUIRED |
| 661 | [slack.hobby] |
| 662 | #Token to connect with the Slack API |
| 663 | #You'll have to use a test/api-token using a dedicated user and not a bot token. |
| 664 | #See https://github.com/42wim/matterbridge/issues/75 for more info. |
| 665 | #Use https://api.slack.com/custom-integrations/legacy-tokens |
| 666 | #REQUIRED (when not using webhooks) |
| 667 | Token="yourslacktoken" |
| 668 | |
| 669 | #Extra slack specific debug info, warning this generates a lot of output. |
| 670 | #OPTIONAL (default false) |
| 671 | Debug="false" |
| 672 | |
| 673 | #### Settings for webhook matterbridge. |
| 674 | #NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE SLACK API |
| 675 | #AND DEDICATED BOT USER WHEN POSSIBLE! |
| 676 | #Url is your incoming webhook url as specified in slack |
| 677 | #See account settings - integrations - incoming webhooks on slack |
| 678 | #OPTIONAL |
| 679 | WebhookURL="https://hooks.slack.com/services/yourhook" |
| 680 | |
| 681 | #NOT RECOMMENDED TO USE INCOMING/OUTGOING WEBHOOK. USE SLACK API |
| 682 | #AND DEDICATED BOT USER WHEN POSSIBLE! |
| 683 | #Address to listen on for outgoing webhook requests from slack |
| 684 | #See account settings - integrations - outgoing webhooks on slack |
| 685 | #webhooks |
| 686 | #OPTIONAL |
| 687 | WebhookBindAddress="0.0.0.0:9999" |
| 688 | |
| 689 | #Icon that will be showed in slack |
| 690 | #The string "{NICK}" (case sensitive) will be replaced by the actual nick / username. |
| 691 | #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge |
| 692 | #The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge |
| 693 | #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge |
| 694 | #OPTIONAL |
| 695 | IconURL="https://robohash.org/{NICK}.png?size=48x48" |
| 696 | |
| 697 | ## RELOADABLE SETTINGS |
| 698 | ## Settings below can be reloaded by editing the file |
| 699 | |
| 700 | #how to format the list of IRC nicks when displayed in slack |
| 701 | #Possible options are "table" and "plain" |
| 702 | #OPTIONAL (default plain) |
| 703 | NickFormatter="plain" |
| 704 | #How many nicks to list per row for formatters that support this. |
| 705 | #OPTIONAL (default 4) |
| 706 | NicksPerRow=4 |
| 707 | |
| 708 | #Disable sending of edits to other bridges |
| 709 | #OPTIONAL (default false) |
| 710 | EditDisable=true |
| 711 | |
| 712 | #Message to be appended to every edited message |
| 713 | #OPTIONAL (default empty) |
| 714 | EditSuffix=" (edited)" |
| 715 | |
| 716 | #Whether to prefix messages from other bridges to mattermost with RemoteNickFormat |
| 717 | #Useful if username overrides for incoming webhooks isn't enabled on the |
| 718 | #slack server. If you set PrefixMessagesWithNick to true, each message |
| 719 | #from bridge to Slack will by default be prefixed by "bridge-" + nick. You can, |
| 720 | #however, modify how the messages appear, by setting (and modifying) RemoteNickFormat |
| 721 | #OPTIONAL (default false) |
| 722 | PrefixMessagesWithNick=false |
| 723 | |
| 724 | #Nicks you want to ignore. |
| 725 | #Regular expressions supported |
| 726 | #Messages from those users will not be sent to other bridges. |
| 727 | #OPTIONAL |
| 728 | IgnoreNicks="ircspammer1 ircspammer2" |
| 729 | |
| 730 | #Messages you want to ignore. |
| 731 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 732 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 733 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 734 | IgnoreMessages="^~~ badword" |
| 735 | |
| 736 | #messages you want to replace. |
| 737 | #it replaces outgoing messages from the bridge. |
| 738 | #so you need to place it by the sending bridge definition. |
| 739 | #regular expressions supported |
| 740 | #some examples: |
| 741 | #this replaces cat => dog and sleep => awake |
| 742 | #replacemessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 743 | #this replaces every number with number. 123 => numbernumbernumber |
| 744 | #replacemessages=[ ["[0-9]","number"] ] |
| 745 | #optional (default empty) |
| 746 | ReplaceMessages=[ ["cat","dog"] ] |
| 747 | |
| 748 | #nicks you want to replace. |
| 749 | #see replacemessages for syntax |
| 750 | #optional (default empty) |
| 751 | ReplaceNicks=[ ["user--","user"] ] |
| 752 | |
| 753 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 754 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 755 | #some examples: |
| 756 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 757 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 758 | #you can use multiple entries for multiplebots |
| 759 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 760 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 761 | #OPTIONAL (default empty) |
| 762 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 763 | |
| 764 | #extra label that can be used in the RemoteNickFormat |
| 765 | #optional (default empty) |
| 766 | Label="" |
| 767 | |
| 768 | #RemoteNickFormat defines how remote users appear on this bridge |
| 769 | #See [general] config section for default options |
| 770 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 771 | |
| 772 | #Enable to show users joins/parts from other bridges |
| 773 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 774 | #OPTIONAL (default false) |
| 775 | ShowJoinPart=false |
| 776 | |
| 777 | #Do not send joins/parts to other bridges |
| 778 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 779 | #OPTIONAL (default false) |
| 780 | NoSendJoinPart=false |
| 781 | |
| 782 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 783 | #It will strip other characters from the nick |
| 784 | #OPTIONAL (default false) |
| 785 | StripNick=false |
| 786 | |
| 787 | #Enable to show topic changes from other bridges |
| 788 | #Only works hiding/show topic changes from slack bridge for now |
| 789 | #OPTIONAL (default false) |
| 790 | ShowTopicChange=false |
| 791 | |
| 792 | #Opportunistically preserve threaded replies between Slack channels. |
| 793 | #This only works if the parent message is still in the cache. |
| 794 | #Cache is flushed between restarts. |
| 795 | #Note: Not currently working on gateways with mixed bridges of |
| 796 | # both slack and slack-legacy type. Context in issue #624. |
| 797 | #OPTIONAL (default false) |
| 798 | PreserveThreading=false |
| 799 | |
| 800 | #Enable showing "user_typing" events from across gateway when available. |
| 801 | #Protip: Set your bot/user's "Full Name" to be "Someone (over chat bridge)", |
| 802 | #and so the message will say "Someone (over chat bridge) is typing". |
| 803 | #OPTIONAL (default false) |
| 804 | ShowUserTyping=false |
| 805 | |
| 806 | #Message to show when a message is too big |
| 807 | #Default "<clipped message>" |
| 808 | MessageClipped="<clipped message>" |
| 809 | |
| 810 | #If enabled use the slack "Real Name" as username. |
| 811 | #OPTIONAL (default false) |
| 812 | UseFullName=false |
| 813 | |
| 814 | ################################################################### |
| 815 | #discord section |
| 816 | ################################################################### |
| 817 | [discord] |
| 818 | |
| 819 | # You can configure multiple servers "[discord.name]" or "[discord.name2]" |
| 820 | # In this example we use [discord.game] |
| 821 | #REQUIRED |
| 822 | [discord.game] |
| 823 | # Token (REQUIRED) is the token to connect with Discord API |
| 824 | # You can get your token by following the instructions on |
| 825 | # https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token |
| 826 | # 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. |
| 827 | Token="Yourtokenhere" |
| 828 | |
| 829 | # Server (REQUIRED) is the ID or name of the guild to connect to, selected from the guilds the bot has been invited to |
| 830 | Server="yourservername" |
| 831 | |
| 832 | ## RELOADABLE SETTINGS |
| 833 | ## All settings below can be reloaded by editing the file. |
| 834 | ## They are also all optional. |
| 835 | |
| 836 | # AllowMention controls which mentions are allowed. If not specified, all mentions are allowed. |
| 837 | # Note that even when a mention is not allowed, it will still be displayed nicely and be clickable. It just prevents the ping/notification. |
| 838 | # |
| 839 | # "everyone" allows @everyone and @here mentions |
| 840 | # "roles" allows @role mentions |
| 841 | # "users" allows @user mentions |
| 842 | AllowMention=["everyone", "roles", "users"] |
| 843 | |
| 844 | # ShowEmbeds shows the title, description and URL of embedded messages (sent by other bots) |
| 845 | ShowEmbeds=false |
| 846 | |
| 847 | # UseLocalAvatar specifies source bridges for which an avatar should be 'guessed' when an incoming message has no avatar. |
| 848 | # This works by comparing the username of the message to an existing Discord user, and using the avatar of the Discord user. |
| 849 | # |
| 850 | # This only works if WebhookURL is set (AND the message has no avatar). |
| 851 | # Example: ["irc"] |
| 852 | UseLocalAvatar=[] |
| 853 | |
| 854 | # UseUserName shows the username instead of the server nickname |
| 855 | UseUserName=false |
| 856 | |
| 857 | # UseDiscriminator appends the `#xxxx` discriminator when used with UseUserName |
| 858 | UseDiscriminator=false |
| 859 | |
| 860 | # AutoWebhooks automatically configures message sending in the style of puppets. |
| 861 | # This is an easier alternative to manually configuring "WebhookURL" for each gateway, |
| 862 | # as turning this on will automatically load or create webhooks for each channel. |
| 863 | # This feature requires the "Manage Webhooks" permission (either globally or as per-channel). |
| 864 | AutoWebhooks=false |
| 865 | |
| 866 | # EditDisable disables sending of edits to other bridges |
| 867 | EditDisable=false |
| 868 | |
| 869 | # EditSuffix specifies the message to be appended to every edited message |
| 870 | # Example: " (edited)" |
| 871 | EditSuffix="" |
| 872 | |
| 873 | # IgnoreNicks mutes outgoing messages from certain users. |
| 874 | # Messages from these users will not be transmitted to other bridges. |
| 875 | # Regular expressions are also supported. |
| 876 | # Example: "ircspammer1 ircspammer2" |
| 877 | IgnoreNicks="" |
| 878 | |
| 879 | # IgnoreMessages mutes outgoing messages of a certain format. |
| 880 | # Messages matching this regular expression will not be transmitted sent to other bridges |
| 881 | # See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 882 | # |
| 883 | # Example that ignores messages starting with ~~ or messages containing badword: |
| 884 | # IgnoreMessages="^~~ badword" |
| 885 | IgnoreMessages="" |
| 886 | |
| 887 | # ReplaceMessages replaces substrings of messages in outgoing messages. |
| 888 | # Regular expressions are supported. |
| 889 | # |
| 890 | # Example that replaces 'cat' => 'dog' and 'sleep' => 'awake': |
| 891 | # ReplaceMessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 892 | # Example that replaces all digits with the letter 'X', so 'hello123' becomes 'helloXXX': |
| 893 | # ReplaceMessages=[ ["[0-9]","X"] ] |
| 894 | ReplaceMessages=[] |
| 895 | |
| 896 | # ReplaceNicks replaces substrings of usernames in outgoing messages. |
| 897 | # See the ReplaceMessages setting for examples. |
| 898 | # Example: [ ["user--","user"] ] |
| 899 | ReplaceNicks=[] |
| 900 | |
| 901 | # ExtractNicks allows for interoperability with other bridge software by rewriting messages and extracting usernames. |
| 902 | # |
| 903 | # Recommended reading: |
| 904 | # - https://github.com/42wim/matterbridge/issues/466 |
| 905 | # - https://github.com/42wim/matterbridge/issues/713 |
| 906 | # |
| 907 | # This example translates the following message |
| 908 | # "Relaybot: <relayeduser> something interesting" |
| 909 | # into this message |
| 910 | # "relayeduser: something interesting" |
| 911 | # like so: |
| 912 | # ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 913 | # |
| 914 | # This example translates the following message |
| 915 | # "otherbot: (relayeduser) something else" |
| 916 | # into this message |
| 917 | # "relayeduser: something else" |
| 918 | # like so: |
| 919 | # ExtractNicks=[ [ "otherbot","\\((.*?)\\)\\s+" ] ] |
| 920 | # |
| 921 | # This example combines both of the above examples into one: |
| 922 | # ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 923 | # |
| 924 | ExtractNicks=[] |
| 925 | |
| 926 | # Label is as an extra identifier for use in the RemoteNickFormat setting. |
| 927 | Label="" |
| 928 | |
| 929 | # RemoteNickFormat formats how remote users appear on this bridge. |
| 930 | # See the [general] config section for default options |
| 931 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 932 | |
| 933 | # ShowJoinPart emits messages that show joins/parts from other bridges |
| 934 | # Supported from the following bridges: irc, mattermost, slack, discord |
| 935 | ShowJoinPart=false |
| 936 | |
| 937 | # StripNick strips non-alphanumeric characters from nicknames. |
| 938 | # Recommended reading: https://github.com/42wim/matterbridge/issues/285 |
| 939 | StripNick=false |
| 940 | |
| 941 | # ShowTopicChange emits messages that show topic/purpose updates from other bridges |
| 942 | # Supported from the following bridges: slack |
| 943 | ShowTopicChange=false |
| 944 | |
| 945 | # SyncTopic synchronises topic/purpose updates from other bridges |
| 946 | # Supported from the following bridges: slack |
| 947 | SyncTopic=false |
| 948 | |
| 949 | # Message to show when a message is too big |
| 950 | # Default "<clipped message>" |
| 951 | MessageClipped="<clipped message>" |
| 952 | |
| 953 | #Disable quoted/reply messages |
| 954 | #OPTIONAL (default false) |
| 955 | QuoteDisable=false |
| 956 | |
| 957 | #Set the max. quoted length if 0 the whole message will be quoted |
| 958 | #OPTIONAL (default 0) |
| 959 | QuoteLengthLimit=0 |
| 960 | |
| 961 | #Format quoted/reply messages |
| 962 | #OPTIONAL (default "{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})") |
| 963 | QuoteFormat="{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})" |
| 964 | |
| 965 | # Before clipping, try to split messages into at most this many parts. 0 is treated like 1. |
| 966 | # Be careful with large numbers, as this might cause flooding. |
| 967 | # Example: A maximum telegram message of 4096 bytes is received. This requires 3 Discord |
| 968 | # messages (each capped at a hardcoded 1950 bytes). |
| 969 | # Default 1 |
| 970 | MessageSplitMaxCount=3 |
| 971 | |
| 972 | ################################################################### |
| 973 | #telegram section |
| 974 | ################################################################### |
| 975 | [telegram] |
| 976 | |
| 977 | #You can configure multiple servers "[telegram.name]" or "[telegram.name2]" |
| 978 | #In this example we use [telegram.secure] |
| 979 | #REQUIRED |
| 980 | [telegram.secure] |
| 981 | #Token to connect with telegram API |
| 982 | #See https://core.telegram.org/bots#6-botfather and https://www.linkedin.com/pulse/telegram-bots-beginners-marco-frau |
| 983 | #REQUIRED |
| 984 | Token="Yourtokenhere" |
| 985 | |
| 986 | ## RELOADABLE SETTINGS |
| 987 | ## Settings below can be reloaded by editing the file |
| 988 | |
| 989 | #OPTIONAL (default empty) |
| 990 | #Supported formats are: |
| 991 | #"HTML" https://core.telegram.org/bots/api#html-style |
| 992 | #"Markdown" https://core.telegram.org/bots/api#markdown-style - deprecated, doesn't display links with underscores correctly |
| 993 | #"MarkdownV2" https://core.telegram.org/bots/api#markdownv2-style |
| 994 | #"HTMLNick" - only allows HTML for the nick, the message itself will be html-escaped |
| 995 | MessageFormat="" |
| 996 | |
| 997 | #OPTIONAL (default false) |
| 998 | #Disables link previews for links in messages |
| 999 | DisableWebPagePreview=false |
| 1000 | |
| 1001 | #If enabled use the "First Name" as username. If this is empty use the Username |
| 1002 | #If disabled use the "Username" as username. If this is empty use the First Name |
| 1003 | #If all names are empty, username will be "unknown" |
| 1004 | #OPTIONAL (default false) |
| 1005 | UseFirstName=false |
| 1006 | |
| 1007 | #If enabled use the "Full Name" as username. If this is empty use the Username |
| 1008 | #If disabled use the "Username" as username. If this is empty use the First Name and Last Name as Full Name |
| 1009 | #If all names are empty, username will be "unknown" |
| 1010 | #OPTIONAL (default false) |
| 1011 | UseFullName=false |
| 1012 | |
| 1013 | #WARNING! If enabled this will relay GIF/stickers/documents and other attachments as URLs |
| 1014 | #Those URLs will contain your bot-token. This may not be what you want. |
| 1015 | #For now there is no secure way to relay GIF/stickers/documents without seeing your token. |
| 1016 | #OPTIONAL (default false) |
| 1017 | UseInsecureURL=false |
| 1018 | |
| 1019 | #Disable quoted/reply messages |
| 1020 | #OPTIONAL (default false) |
| 1021 | QuoteDisable=false |
| 1022 | |
| 1023 | #Set the max. quoted length if 0 the whole message will be quoted |
| 1024 | #OPTIONAL (default 0) |
| 1025 | QuoteLengthLimit=0 |
| 1026 | |
| 1027 | #Format quoted/reply messages |
| 1028 | #OPTIONAL (default "{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})") |
| 1029 | QuoteFormat="{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})" |
| 1030 | |
| 1031 | #Convert WebP images to PNG before upload. |
| 1032 | #https://github.com/42wim/matterbridge/issues/398 |
| 1033 | #OPTIONAL (default false) |
| 1034 | MediaConvertWebPToPNG=false |
| 1035 | |
| 1036 | #Convert Tgs (Telegram animated sticker) images to PNG before upload. |
| 1037 | #This is useful when your bridge also contains platforms that do not support animated WebP files, like Discord. |
| 1038 | #This requires the external dependency `lottie`, which can be installed like this: |
| 1039 | #`pip install lottie cairosvg` |
| 1040 | #https://github.com/42wim/matterbridge/issues/874 |
| 1041 | #MediaConvertTgs="png" |
| 1042 | |
| 1043 | #Disable sending of edits to other bridges |
| 1044 | #OPTIONAL (default false) |
| 1045 | EditDisable=false |
| 1046 | |
| 1047 | #Message to be appended to every edited message |
| 1048 | #OPTIONAL (default empty) |
| 1049 | EditSuffix=" (edited)" |
| 1050 | |
| 1051 | #Nicks you want to ignore. |
| 1052 | #Regular expressions supported |
| 1053 | #Messages from those users will not be sent to other bridges. |
| 1054 | #OPTIONAL |
| 1055 | IgnoreNicks="spammer1 spammer2" |
| 1056 | |
| 1057 | #Messages you want to ignore. |
| 1058 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 1059 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 1060 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 1061 | IgnoreMessages="^~~ badword" |
| 1062 | |
| 1063 | #messages you want to replace. |
| 1064 | #it replaces outgoing messages from the bridge. |
| 1065 | #so you need to place it by the sending bridge definition. |
| 1066 | #regular expressions supported |
| 1067 | #some examples: |
| 1068 | #this replaces cat => dog and sleep => awake |
| 1069 | #replacemessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 1070 | #this replaces every number with number. 123 => numbernumbernumber |
| 1071 | #replacemessages=[ ["[0-9]","number"] ] |
| 1072 | #optional (default empty) |
| 1073 | ReplaceMessages=[ ["cat","dog"] ] |
| 1074 | |
| 1075 | #nicks you want to replace. |
| 1076 | #see replacemessages for syntax |
| 1077 | #optional (default empty) |
| 1078 | ReplaceNicks=[ ["user--","user"] ] |
| 1079 | |
| 1080 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 1081 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 1082 | #some examples: |
| 1083 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 1084 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 1085 | #you can use multiple entries for multiplebots |
| 1086 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 1087 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 1088 | #OPTIONAL (default empty) |
| 1089 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 1090 | |
| 1091 | #extra label that can be used in the RemoteNickFormat |
| 1092 | #optional (default empty) |
| 1093 | Label="" |
| 1094 | |
| 1095 | #RemoteNickFormat defines how remote users appear on this bridge |
| 1096 | #See [general] config section for default options |
| 1097 | # |
| 1098 | #WARNING: if you have set MessageFormat="HTML" be sure that this format matches the guidelines |
| 1099 | #on https://core.telegram.org/bots/api#html-style otherwise the message will not go through to |
| 1100 | #telegram! eg <{NICK}> should be <{NICK}> |
| 1101 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 1102 | |
| 1103 | #Enable to show users joins/parts from other bridges |
| 1104 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 1105 | #OPTIONAL (default false) |
| 1106 | ShowJoinPart=false |
| 1107 | |
| 1108 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 1109 | #It will strip other characters from the nick |
| 1110 | #OPTIONAL (default false) |
| 1111 | StripNick=false |
| 1112 | |
| 1113 | #Enable to show topic changes from other bridges |
| 1114 | #Only works hiding/show topic changes from slack bridge for now |
| 1115 | #OPTIONAL (default false) |
| 1116 | ShowTopicChange=false |
| 1117 | |
| 1118 | #Opportunistically preserve threaded replies between Telegram groups. |
| 1119 | #This only works if the parent message is still in the cache. |
| 1120 | #Cache is flushed between restarts. |
| 1121 | #OPTIONAL (default false) |
| 1122 | PreserveThreading=false |
| 1123 | |
| 1124 | ################################################################### |
| 1125 | #rocketchat section |
| 1126 | ################################################################### |
| 1127 | [rocketchat] |
| 1128 | #You can configure multiple servers "[rocketchat.name]" or "[rocketchat.name2]" |
| 1129 | #In this example we use [rocketchat.work] |
| 1130 | #REQUIRED |
| 1131 | |
| 1132 | [rocketchat.rockme] |
| 1133 | #The rocketchat hostname. (prefix it with http or https) |
| 1134 | #REQUIRED (when not using webhooks) |
| 1135 | Server="https://yourrocketchatserver.domain.com:443" |
| 1136 | |
| 1137 | #login/pass of your bot. |
| 1138 | #login needs to be the login with email address! user@domain.com |
| 1139 | #Use a dedicated user for this and not your own! |
| 1140 | #REQUIRED (when not using webhooks) |
| 1141 | Login="yourlogin@domain.com" |
| 1142 | Password="yourpass" |
| 1143 | # When using access token set Login to the User ID associated with your token and Token to your token. |
| 1144 | # When Token is set Password is ignored. |
| 1145 | # Login="yOurUSerID" |
| 1146 | # Token="YoUrUsER_toKEN" |
| 1147 | |
| 1148 | |
| 1149 | #### Settings for webhook matterbridge. |
| 1150 | #USE DEDICATED BOT USER WHEN POSSIBLE! This allows you to use advanced features like message editing/deleting and uploads |
| 1151 | #You don't need to configure this, if you have configured the settings |
| 1152 | #above. |
| 1153 | |
| 1154 | #Url is your incoming webhook url as specified in rocketchat |
| 1155 | #Read #https://rocket.chat/docs/administrator-guides/integrations/#how-to-create-a-new-incoming-webhook |
| 1156 | #See administration - integrations - new integration - incoming webhook |
| 1157 | #REQUIRED |
| 1158 | WebhookURL="https://yourdomain/hooks/yourhookkey" |
| 1159 | |
| 1160 | #Address to listen on for outgoing webhook requests from rocketchat. |
| 1161 | #See administration - integrations - new integration - outgoing webhook |
| 1162 | #REQUIRED |
| 1163 | WebhookBindAddress="0.0.0.0:9999" |
| 1164 | |
| 1165 | #Your nick/username as specified in your incoming webhook "Post as" setting |
| 1166 | #REQUIRED |
| 1167 | Nick="matterbot" |
| 1168 | |
| 1169 | #Enable this to make a http connection (instead of https) to your rocketchat |
| 1170 | #OPTIONAL (default false) |
| 1171 | NoTLS=false |
| 1172 | |
| 1173 | #Enable to not verify the certificate on your rocketchat server. |
| 1174 | #e.g. when using selfsigned certificates |
| 1175 | #OPTIONAL (default false) |
| 1176 | SkipTLSVerify=true |
| 1177 | |
| 1178 | #### End settings for webhook matterbridge. |
| 1179 | |
| 1180 | ## RELOADABLE SETTINGS |
| 1181 | ## Settings below can be reloaded by editing the file |
| 1182 | |
| 1183 | #Whether to prefix messages from other bridges to rocketchat with the sender's nick. |
| 1184 | #Useful if username overrides for incoming webhooks isn't enabled on the |
| 1185 | #rocketchat server. If you set PrefixMessagesWithNick to true, each message |
| 1186 | #from bridge to rocketchat will by default be prefixed by the RemoteNickFormat setting. i |
| 1187 | #if you're using login/pass you can better enable because of this bug: |
| 1188 | #https://github.com/RocketChat/Rocket.Chat/issues/7549 |
| 1189 | #OPTIONAL (default false) |
| 1190 | PrefixMessagesWithNick=false |
| 1191 | |
| 1192 | #Nicks you want to ignore. |
| 1193 | #Regular expressions supported |
| 1194 | #Messages from those users will not be sent to other bridges. |
| 1195 | #OPTIONAL |
| 1196 | IgnoreNicks="ircspammer1 ircspammer2" |
| 1197 | |
| 1198 | #Messages you want to ignore. |
| 1199 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 1200 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 1201 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 1202 | IgnoreMessages="^~~ badword" |
| 1203 | |
| 1204 | #messages you want to replace. |
| 1205 | #it replaces outgoing messages from the bridge. |
| 1206 | #so you need to place it by the sending bridge definition. |
| 1207 | #regular expressions supported |
| 1208 | #some examples: |
| 1209 | #this replaces cat => dog and sleep => awake |
| 1210 | #replacemessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 1211 | #this replaces every number with number. 123 => numbernumbernumber |
| 1212 | #replacemessages=[ ["[0-9]","number"] ] |
| 1213 | #optional (default empty) |
| 1214 | ReplaceMessages=[ ["cat","dog"] ] |
| 1215 | |
| 1216 | #nicks you want to replace. |
| 1217 | #see replacemessages for syntax |
| 1218 | #optional (default empty) |
| 1219 | ReplaceNicks=[ ["user--","user"] ] |
| 1220 | |
| 1221 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 1222 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 1223 | #some examples: |
| 1224 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 1225 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 1226 | #you can use multiple entries for multiplebots |
| 1227 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 1228 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 1229 | #OPTIONAL (default empty) |
| 1230 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 1231 | |
| 1232 | #extra label that can be used in the RemoteNickFormat |
| 1233 | #optional (default empty) |
| 1234 | Label="" |
| 1235 | |
| 1236 | #RemoteNickFormat defines how remote users appear on this bridge |
| 1237 | #See [general] config section for default options |
| 1238 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 1239 | |
| 1240 | #Enable to show users joins/parts from other bridges |
| 1241 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 1242 | #OPTIONAL (default false) |
| 1243 | ShowJoinPart=false |
| 1244 | |
| 1245 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 1246 | #It will strip other characters from the nick |
| 1247 | #OPTIONAL (default false) |
| 1248 | StripNick=false |
| 1249 | |
| 1250 | #Enable to show topic changes from other bridges |
| 1251 | #Only works hiding/show topic changes from slack bridge for now |
| 1252 | #OPTIONAL (default false) |
| 1253 | ShowTopicChange=false |
| 1254 | |
| 1255 | ################################################################### |
| 1256 | #matrix section |
| 1257 | ################################################################### |
| 1258 | [matrix] |
| 1259 | #You can configure multiple servers "[matrix.name]" or "[matrix.name2]" |
| 1260 | #In this example we use [matrix.neo] |
| 1261 | #REQUIRED |
| 1262 | |
| 1263 | [matrix.neo] |
| 1264 | #Server is your homeserver (eg https://matrix.org) |
| 1265 | #REQUIRED |
| 1266 | Server="https://matrix.org" |
| 1267 | |
| 1268 | #Authentication for your bot. |
| 1269 | #You can use either login/password OR mxid/token. The latter will be preferred if found. |
| 1270 | #Use a dedicated user for this and not your own! |
| 1271 | #Messages sent from this user will not be relayed to avoid loops. |
| 1272 | #REQUIRED |
| 1273 | Login="yourlogin" |
| 1274 | Password="yourpass" |
| 1275 | #OR |
| 1276 | MxID="@yourlogin:domain.tld" |
| 1277 | Token="tokenforthebotuser" |
| 1278 | |
| 1279 | #Whether to send the homeserver suffix. eg ":matrix.org" in @username:matrix.org |
| 1280 | #to other bridges, or only send "username".(true only sends username) |
| 1281 | #OPTIONAL (default false) |
| 1282 | NoHomeServerSuffix=false |
| 1283 | |
| 1284 | #Whether to disable sending of HTML content to matrix |
| 1285 | #See https://github.com/42wim/matterbridge/issues/1022 |
| 1286 | #OPTIONAL (default false) |
| 1287 | HTMLDisable=false |
| 1288 | |
| 1289 | ## RELOADABLE SETTINGS |
| 1290 | ## Settings below can be reloaded by editing the file |
| 1291 | |
| 1292 | # UseUserName shows the username instead of the server nickname |
| 1293 | UseUserName=false |
| 1294 | |
| 1295 | # Matrix quotes replies and as of matterbridge 1.24.0 we strip those as this causes |
| 1296 | # issues with bridges support threading and have PreserveThreading enabled. |
| 1297 | # But if you for example use mattermost or discord with webhooks you'll need to enable |
| 1298 | # this (and keep PreserveThreading disabled) if you want something that looks like a reply from matrix. |
| 1299 | # See issues: |
| 1300 | # - https://github.com/42wim/matterbridge/issues/1819 |
| 1301 | # - https://github.com/42wim/matterbridge/issues/1780 |
| 1302 | KeepQuotedReply=false |
| 1303 | |
| 1304 | #Nicks you want to ignore. |
| 1305 | #Regular expressions supported |
| 1306 | #Messages from those users will not be sent to other bridges. |
| 1307 | #OPTIONAL |
| 1308 | IgnoreNicks="spammer1 spammer2" |
| 1309 | |
| 1310 | #Messages you want to ignore. |
| 1311 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 1312 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 1313 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 1314 | IgnoreMessages="^~~ badword" |
| 1315 | |
| 1316 | #messages you want to replace. |
| 1317 | #it replaces outgoing messages from the bridge. |
| 1318 | #so you need to place it by the sending bridge definition. |
| 1319 | #regular expressions supported |
| 1320 | #some examples: |
| 1321 | #this replaces cat => dog and sleep => awake |
| 1322 | #replacemessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 1323 | #this replaces every number with number. 123 => numbernumbernumber |
| 1324 | #replacemessages=[ ["[0-9]","number"] ] |
| 1325 | #optional (default empty) |
| 1326 | ReplaceMessages=[ ["cat","dog"] ] |
| 1327 | |
| 1328 | #nicks you want to replace. |
| 1329 | #see replacemessages for syntax |
| 1330 | #optional (default empty) |
| 1331 | ReplaceNicks=[ ["user--","user"] ] |
| 1332 | |
| 1333 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 1334 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 1335 | #some examples: |
| 1336 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 1337 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 1338 | #you can use multiple entries for multiplebots |
| 1339 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 1340 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 1341 | #OPTIONAL (default empty) |
| 1342 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 1343 | |
| 1344 | #extra label that can be used in the RemoteNickFormat |
| 1345 | #optional (default empty) |
| 1346 | Label="" |
| 1347 | |
| 1348 | #RemoteNickFormat defines how remote users appear on this bridge |
| 1349 | #See [general] config section for default options |
| 1350 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 1351 | |
| 1352 | #Enable to show users joins/parts from other bridges |
| 1353 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 1354 | #OPTIONAL (default false) |
| 1355 | ShowJoinPart=false |
| 1356 | |
| 1357 | #Rename the bot in the current room to the username of the message |
| 1358 | #This will make an additional API request per message and will probably count towards rate limits |
| 1359 | #OPTIONAL (default false) |
| 1360 | SpoofUsername=false |
| 1361 | |
| 1362 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 1363 | #It will strip other characters from the nick |
| 1364 | #OPTIONAL (default false) |
| 1365 | StripNick=false |
| 1366 | |
| 1367 | #Enable to show topic changes from other bridges |
| 1368 | #Only works hiding/show topic changes from slack bridge for now |
| 1369 | #OPTIONAL (default false) |
| 1370 | ShowTopicChange=false |
| 1371 | |
| 1372 | ################################################################### |
| 1373 | # NCTalk (Nextcloud Talk) |
| 1374 | ################################################################### |
| 1375 | |
| 1376 | [nctalk.bridge] |
| 1377 | |
| 1378 | # Url of your Nextcloud server |
| 1379 | Server = "https://cloud.youdomain.me" |
| 1380 | |
| 1381 | # Enable to not verify the certificate on your Nextcloud server. |
| 1382 | # e.g. when using selfsigned certificates |
| 1383 | # OPTIONAL (default false) |
| 1384 | SkipTLSVerify=true |
| 1385 | |
| 1386 | # Username of the bot |
| 1387 | Login = "talkuser" |
| 1388 | |
| 1389 | # Password of the bot |
| 1390 | Password = "talkuserpass" |
| 1391 | |
| 1392 | # Suffix for Guest Users |
| 1393 | GuestSuffix = " (Guest)" |
| 1394 | |
| 1395 | # Separate display name (Note: needs to be configured from Nextcloud Talk to work) |
| 1396 | SeparateDisplayName=false |
| 1397 | |
| 1398 | ################################################################### |
| 1399 | # Mumble |
| 1400 | ################################################################### |
| 1401 | |
| 1402 | [mumble.bridge] |
| 1403 | |
| 1404 | # Host and port of your Mumble server |
| 1405 | Server = "mumble.yourdomain.me:64738" |
| 1406 | |
| 1407 | # Nickname to log in as |
| 1408 | Nick = "matterbridge" |
| 1409 | |
| 1410 | # Some servers require a password |
| 1411 | # OPTIONAL (default empty) |
| 1412 | Password = "serverpasswordhere" |
| 1413 | |
| 1414 | # User comment to set on the Mumble user, visible to other users. |
| 1415 | # OPTIONAL (default empty) |
| 1416 | UserComment="I am bridging text messages between this channel and #general on irc.yourdomain.me" |
| 1417 | |
| 1418 | # Self-signed TLS client certificate + private key used to connect to |
| 1419 | # Mumble. This is required if you want to register the matterbridge |
| 1420 | # user on your Mumble server, so its nick becomes reserved. |
| 1421 | # You can generate a keypair using e.g. |
| 1422 | # |
| 1423 | # openssl req -x509 -newkey rsa:2048 -nodes -days 10000 \ |
| 1424 | # -keyout mumble.key -out mumble.crt |
| 1425 | # |
| 1426 | # To actually register the matterbridege user, connect to Mumble as an |
| 1427 | # admin, right click on the user and click "Register". |
| 1428 | # |
| 1429 | # OPTIONAL (default empty) |
| 1430 | TLSClientCertificate="mumble.crt" |
| 1431 | TLSClientKey="mumble.key" |
| 1432 | |
| 1433 | # TLS CA certificate used to validate the Mumble server. |
| 1434 | # OPTIONAL (defaults to Go system CA) |
| 1435 | TLSCACertificate=mumble-ca.crt |
| 1436 | |
| 1437 | # Enable to not verify the certificate on your Mumble server. |
| 1438 | # e.g. when using selfsigned certificates |
| 1439 | # OPTIONAL (default false) |
| 1440 | SkipTLSVerify=false |
| 1441 | |
| 1442 | #Message to show when a message is too big |
| 1443 | #Default "<clipped message>" |
| 1444 | MessageClipped="<clipped message>" |
| 1445 | |
| 1446 | #Enable to show users joins/parts from other bridges |
| 1447 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 1448 | #OPTIONAL (default false) |
| 1449 | ShowJoinPart=false |
| 1450 | |
| 1451 | #Do not send joins/parts to other bridges |
| 1452 | #OPTIONAL (default false) |
| 1453 | NoSendJoinPart=false |
| 1454 | |
| 1455 | ################################################################### |
| 1456 | #VK |
| 1457 | ################################################################### |
| 1458 | # |
| 1459 | [vk.myvk] |
| 1460 | #Group access token |
| 1461 | #See https://vk.com/dev/bots_docs |
| 1462 | Token="Yourtokenhere" |
| 1463 | |
| 1464 | ################################################################### |
| 1465 | # WhatsApp |
| 1466 | ################################################################### |
| 1467 | |
| 1468 | [whatsapp.bridge] |
| 1469 | |
| 1470 | # Number you will use as a relay bot. Tip: Get some disposable sim card, don't rely on your own number. |
| 1471 | Number="+48111222333" |
| 1472 | |
| 1473 | # First time that you login you will need to scan QR code, then credentials willl be saved in a session file |
| 1474 | # If you won't set SessionFile then you will need to scan QR code on every restart |
| 1475 | # optional (by default the session is stored only in memory, till restarting matterbridge) |
| 1476 | SessionFile="session-48111222333.gob" |
| 1477 | |
| 1478 | # If your terminal is white we need to invert QR code in order for it to be scanned properly |
| 1479 | # optional (default false) |
| 1480 | QrOnWhiteTerminal=true |
| 1481 | |
| 1482 | # Messages will be seen by other WhatsApp contacts as coming from the bridge. Original nick will be part of the message. |
| 1483 | RemoteNickFormat="@{NICK}: " |
| 1484 | |
| 1485 | # extra label that can be used in the RemoteNickFormat |
| 1486 | # optional (default empty) |
| 1487 | Label="Organization" |
| 1488 | |
| 1489 | |
| 1490 | |
| 1491 | ################################################################### |
| 1492 | # zulip |
| 1493 | ################################################################### |
| 1494 | |
| 1495 | [zulip] |
| 1496 | |
| 1497 | #You can configure multiple servers "[zulip.name]" or "[zulip.name2]" |
| 1498 | #In this example we use [zulip.streamchat] |
| 1499 | #REQUIRED |
| 1500 | |
| 1501 | [zulip.streamchat] |
| 1502 | #Token to connect with zulip API (called bot API key in Settings - Your bots) |
| 1503 | #REQUIRED |
| 1504 | Token="Yourtokenhere" |
| 1505 | |
| 1506 | #Username of the bot, normally called yourbot-bot@yourserver.zulipchat.com |
| 1507 | #See username in Settings - Your bots |
| 1508 | #REQUIRED |
| 1509 | Login="yourbot-bot@yourserver.zulipchat.com" |
| 1510 | |
| 1511 | #Servername of your zulip instance |
| 1512 | #REQUIRED |
| 1513 | Server="https://yourserver.zulipchat.com" |
| 1514 | |
| 1515 | ## RELOADABLE SETTINGS |
| 1516 | ## Settings below can be reloaded by editing the file |
| 1517 | |
| 1518 | #Nicks you want to ignore. |
| 1519 | #Regular expressions supported |
| 1520 | #Messages from those users will not be sent to other bridges. |
| 1521 | #OPTIONAL |
| 1522 | IgnoreNicks="spammer1 spammer2" |
| 1523 | |
| 1524 | #Messages you want to ignore. |
| 1525 | #Messages matching these regexp will be ignored and not sent to other bridges |
| 1526 | #See https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 1527 | #OPTIONAL (example below ignores messages starting with ~~ or messages containing badword |
| 1528 | IgnoreMessages="^~~ badword" |
| 1529 | |
| 1530 | #messages you want to replace. |
| 1531 | #it replaces outgoing messages from the bridge. |
| 1532 | #so you need to place it by the sending bridge definition. |
| 1533 | #regular expressions supported |
| 1534 | #some examples: |
| 1535 | #this replaces cat => dog and sleep => awake |
| 1536 | #replacemessages=[ ["cat","dog"], ["sleep","awake"] ] |
| 1537 | #this replaces every number with number. 123 => numbernumbernumber |
| 1538 | #replacemessages=[ ["[0-9]","number"] ] |
| 1539 | #optional (default empty) |
| 1540 | ReplaceMessages=[ ["cat","dog"] ] |
| 1541 | |
| 1542 | #nicks you want to replace. |
| 1543 | #see replacemessages for syntax |
| 1544 | #optional (default empty) |
| 1545 | ReplaceNicks=[ ["user--","user"] ] |
| 1546 | |
| 1547 | #Extractnicks is used to for example rewrite messages from other relaybots |
| 1548 | #See https://github.com/42wim/matterbridge/issues/713 and https://github.com/42wim/matterbridge/issues/466 |
| 1549 | #some examples: |
| 1550 | #this replaces a message like "Relaybot: <relayeduser> something interesting" to "relayeduser: something interesting" |
| 1551 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ] ] |
| 1552 | #you can use multiple entries for multiplebots |
| 1553 | #this also replaces a message like "otherbot: (relayeduser) something else" to "relayeduser: something else" |
| 1554 | #ExtractNicks=[ [ "Relaybot", "<(.*?)>\\s+" ],[ "otherbot","\\((.*?)\\)\\s+" ] |
| 1555 | #OPTIONAL (default empty) |
| 1556 | ExtractNicks=[ ["otherbot","<(.*?)>\\s+" ] ] |
| 1557 | |
| 1558 | #extra label that can be used in the RemoteNickFormat |
| 1559 | #optional (default empty) |
| 1560 | Label="" |
| 1561 | |
| 1562 | #RemoteNickFormat defines how remote users appear on this bridge |
| 1563 | #See [general] config section for default options |
| 1564 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 1565 | |
| 1566 | #Enable to show users joins/parts from other bridges |
| 1567 | #Currently works for messages from the following bridges: irc, mattermost, mumble, slack, discord |
| 1568 | #OPTIONAL (default false) |
| 1569 | ShowJoinPart=false |
| 1570 | |
| 1571 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 1572 | #It will strip other characters from the nick |
| 1573 | #OPTIONAL (default false) |
| 1574 | StripNick=false |
| 1575 | |
| 1576 | #Enable to show topic changes from other bridges |
| 1577 | #Only works hiding/show topic changes from slack bridge for now |
| 1578 | #OPTIONAL (default false) |
| 1579 | ShowTopicChange=false |
| 1580 | |
| 1581 | ################################################################### |
| 1582 | #API |
| 1583 | ################################################################### |
| 1584 | [api] |
| 1585 | #You can configure multiple API hooks |
| 1586 | #In this example we use [api.local] |
| 1587 | #REQUIRED |
| 1588 | |
| 1589 | [api.local] |
| 1590 | #Address to listen on for API |
| 1591 | #REQUIRED |
| 1592 | BindAddress="127.0.0.1:4242" |
| 1593 | |
| 1594 | #Amount of messages to keep in memory |
| 1595 | #OPTIONAL (library default 10) |
| 1596 | Buffer=1000 |
| 1597 | |
| 1598 | #Bearer token used for authentication |
| 1599 | #curl -H "Authorization: Bearer token" http://localhost:4242/api/messages |
| 1600 | # https://github.com/vi/websocat |
| 1601 | # websocat -H="Authorization: Bearer token" ws://127.0.0.1:4242/api/websocket |
| 1602 | #OPTIONAL (no authorization if token is empty) |
| 1603 | Token="mytoken" |
| 1604 | |
| 1605 | #extra label that can be used in the RemoteNickFormat |
| 1606 | #optional (default empty) |
| 1607 | Label="" |
| 1608 | |
| 1609 | #RemoteNickFormat defines how remote users appear on this bridge |
| 1610 | #See [general] config section for default options |
| 1611 | RemoteNickFormat="{NICK}" |
| 1612 | |
| 1613 | |
| 1614 | |
| 1615 | ################################################################### |
| 1616 | #General configuration |
| 1617 | ################################################################### |
| 1618 | # Settings here are defaults that each protocol can override |
| 1619 | [general] |
| 1620 | |
| 1621 | ## RELOADABLE SETTINGS |
| 1622 | ## Settings below can be reloaded by editing the file |
| 1623 | |
| 1624 | #RemoteNickFormat defines how remote users appear on this bridge |
| 1625 | #The string "{NICK}" (case sensitive) will be replaced by the actual nick. |
| 1626 | #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. |
| 1627 | #The string "{USERID}" (case sensitive) will be replaced by the user ID. |
| 1628 | #The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge |
| 1629 | #The string "{LABEL}" (case sensitive) will be replaced by label= field of the sending bridge |
| 1630 | #The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge |
| 1631 | #The string "{GATEWAY}" (case sensitive) will be replaced by the origin gateway name that is replicating the message. |
| 1632 | #The string "{CHANNEL}" (case sensitive) will be replaced by the origin channel name used by the bridge |
| 1633 | #The string "{TENGO}" (case sensitive) will be replaced by the output of the RemoteNickFormat script under [tengo] |
| 1634 | #OPTIONAL (default empty) |
| 1635 | RemoteNickFormat="[{PROTOCOL}] <{NICK}> " |
| 1636 | |
| 1637 | #StripNick only allows alphanumerical nicks. See https://github.com/42wim/matterbridge/issues/285 |
| 1638 | #It will strip other characters from the nick |
| 1639 | #OPTIONAL (default false) |
| 1640 | StripNick=false |
| 1641 | |
| 1642 | |
| 1643 | #MediaDownloadPath is the filesystem path where the media file will be placed, instead of uploaded, |
| 1644 | #for if Matterbridge has write access to the directory your webserver is serving. |
| 1645 | #The MediaServerDownload will be used so that bridges without native uploading support: |
| 1646 | #irc and xmpp will be shown links to the files on MediaServerDownload |
| 1647 | # |
| 1648 | #More information https://github.com/42wim/matterbridge/wiki/Mediaserver-setup-%28advanced%29 |
| 1649 | #OPTIONAL (default empty) |
| 1650 | MediaDownloadPath="/srv/http/yourserver.com/public/download" |
| 1651 | #OPTIONAL (default empty) |
| 1652 | MediaServerDownload="https://youserver.com/download" |
| 1653 | |
| 1654 | #MediaDownloadSize is the maximum size of attachments, videos, images |
| 1655 | #matterbridge will download and upload this file to bridges that also support uploading files. |
| 1656 | #eg downloading from slack to upload it to mattermost |
| 1657 | # |
| 1658 | #It will only download from bridges that don't have public links available, which are for the moment |
| 1659 | #slack, telegram, matrix and mattermost |
| 1660 | # |
| 1661 | #OPTIONAL (default 1000000 (1 megabyte)) |
| 1662 | MediaDownloadSize=1000000 |
| 1663 | |
| 1664 | #MediaDownloadBlacklist allows you to blacklist specific files from being downloaded. |
| 1665 | #Filenames matching these regexp will not be download/uploaded to the mediaserver |
| 1666 | #You can use regex for this, see https://regex-golang.appspot.com/assets/html/index.html for more regex info |
| 1667 | #OPTIONAL (default empty) |
| 1668 | MediaDownloadBlacklist=[".html$",".htm$"] |
| 1669 | |
| 1670 | #IgnoreFailureOnStart allows you to ignore failing bridges on startup. |
| 1671 | #Matterbridge will disable the failed bridge and continue with the other ones. |
| 1672 | #Context: https://github.com/42wim/matterbridge/issues/455 |
| 1673 | #OPTIONAL (default false) |
| 1674 | IgnoreFailureOnStart=false |
| 1675 | |
| 1676 | #LogFile defines the location of a file to write logs into, rather |
| 1677 | #than stdout. |
| 1678 | #Logging will still happen on stdout if the file cannot be open for |
| 1679 | #writing, or if the value is empty. Note that the log won't roll, so |
| 1680 | #you might want to use logrotate(8) with this feature. |
| 1681 | #OPTIONAL (default empty) |
| 1682 | LogFile="/var/log/matterbridge.log" |
| 1683 | |
| 1684 | ################################################################### |
| 1685 | #Tengo configuration |
| 1686 | ################################################################### |
| 1687 | #More information about tengo on: https://github.com/d5/tengo/blob/master/docs/tutorial.md and |
| 1688 | #https://github.com/d5/tengo/blob/master/docs/stdlib.md |
| 1689 | |
| 1690 | [tengo] |
| 1691 | #InMessage allows you to specify the location of a tengo (https://github.com/d5/tengo/) script. |
| 1692 | #This script will receive every incoming message and can be used to modify the Username and the Text of that message. |
| 1693 | #The script will have the following global variables: |
| 1694 | #to modify: msgUsername and msgText |
| 1695 | #to read: msgUserID, msgChannel, msgAccount |
| 1696 | # |
| 1697 | #The script is reloaded on every message, so you can modify the script on the fly. |
| 1698 | # |
| 1699 | #Example script can be found in https://github.com/42wim/matterbridge/tree/master/gateway/bench.tengo |
| 1700 | #and https://github.com/42wim/matterbridge/tree/master/contrib/example.tengo |
| 1701 | # |
| 1702 | #The example below will check if the text contains blah and if so, it'll replace the text and the username of that message. |
| 1703 | #text := import("text") |
| 1704 | #if text.re_match("blah",msgText) { |
| 1705 | # msgText="replaced by this" |
| 1706 | # msgUsername="fakeuser" |
| 1707 | #} |
| 1708 | #OPTIONAL (default empty) |
| 1709 | InMessage="example.tengo" |
| 1710 | |
| 1711 | #OutMessage allows you to specify the location of the script that |
| 1712 | #will be invoked on each message being sent to a bridge and can be used to modify the Username |
| 1713 | #and the Text of that message. |
| 1714 | # |
| 1715 | #The script will have the following global variables: |
| 1716 | #read-only: |
| 1717 | #inAccount, inProtocol, inChannel, inGateway, inEvent |
| 1718 | #outAccount, outProtocol, outChannel, outGateway, outEvent |
| 1719 | #msgUserID |
| 1720 | # |
| 1721 | #read-write: |
| 1722 | #msgText, msgUsername, msgDrop |
| 1723 | # |
| 1724 | #msgDrop is a bool which is default false, when set true this message will be dropped |
| 1725 | # |
| 1726 | #The script is reloaded on every message, so you can modify the script on the fly. |
| 1727 | # |
| 1728 | #The default script in https://github.com/42wim/matterbridge/tree/master/internal/tengo/outmessage.tengo |
| 1729 | #is compiled in and will be executed if no script is specified. |
| 1730 | #OPTIONAL (default empty) |
| 1731 | OutMessage="example.tengo" |
| 1732 | |
| 1733 | |
| 1734 | #RemoteNickFormat allows you to specify the location of a tengo (https://github.com/d5/tengo/) script. |
| 1735 | #The script will have the following global variables: |
| 1736 | #to modify: result |
| 1737 | #to read: channel, bridge, gateway, protocol, nick, msgUserID |
| 1738 | # |
| 1739 | #The result will be set in {TENGO} in the RemoteNickFormat key of every bridge where {TENGO} is specified |
| 1740 | # |
| 1741 | #The script is reloaded on every message, so you can modify the script on the fly. |
| 1742 | # |
| 1743 | #Example script can be found in https://github.com/42wim/matterbridge/tree/master/contrib/remotenickformat.tengo |
| 1744 | # |
| 1745 | #OPTIONAL (default empty) |
| 1746 | RemoteNickFormat="remotenickformat.tengo" |
| 1747 | |
| 1748 | ################################################################### |
| 1749 | #Gateway configuration |
| 1750 | ################################################################### |
| 1751 | |
| 1752 | #You can specify multiple gateways using [[gateway]] |
| 1753 | #Each gateway has a [[gateway.in]] and a [[gateway.out]] |
| 1754 | #[[gateway.in]] specifies the account and channels we will receive messages from. |
| 1755 | #[[gateway.out]] specifies the account and channels we will send the messages |
| 1756 | #from [[gateway.in]] to. |
| 1757 | # |
| 1758 | #Most of the time [[gateway.in]] and [[gateway.out]] are the same if you |
| 1759 | #want bidirectional bridging. You can then use [[gateway.inout]] |
| 1760 | # |
| 1761 | |
| 1762 | [[gateway]] |
| 1763 | #REQUIRED and UNIQUE |
| 1764 | name="gateway1" |
| 1765 | #Enable enables this gateway |
| 1766 | ##OPTIONAL (default false) |
| 1767 | enable=true |
| 1768 | |
| 1769 | # [[gateway.in]] specifies the account and channels we will receive messages from. |
| 1770 | # The following example bridges between mattermost and irc |
| 1771 | [[gateway.in]] |
| 1772 | |
| 1773 | # account specified above |
| 1774 | # REQUIRED |
| 1775 | account="irc.libera" |
| 1776 | |
| 1777 | # The channel key in each gateway is mapped to a similar group chat ID on the chat platform |
| 1778 | # To find the group chat ID for different platforms, refer to the table below |
| 1779 | # |
| 1780 | # Platform | Identifier name | Example | Description |
| 1781 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1782 | # | channel | general | Do not include the # symbol |
| 1783 | # discord | channel id | ID:123456789 | See https://github.com/42wim/matterbridge/issues/57 |
| 1784 | # | category/channel | Media/gaming | Without # symbol. If you're using discord categories to group your channels |
| 1785 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1786 | # hipchat | id_channel | example needed | See https://www.hipchat.com/account/xmpp for the correct channel |
| 1787 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1788 | # irc | channel | #general | The # symbol is required and should be lowercase! |
| 1789 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1790 | # mastodon | channel | home | The channel can be home or local or @name@mastodon.social |
| 1791 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1792 | # | channel | general | This is the channel name as seen in the URL, not the display name |
| 1793 | # mattermost | channel id | ID:oc4wifyuojgw5f3nsuweesmz8w | This is the channel ID (only use if you know what you're doing) |
| 1794 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1795 | # matrix | #channel:server | #yourchannel:matrix.org | Encrypted rooms are not supported in matrix |
| 1796 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1797 | # msteams | threadId | 19:82abcxx@thread.skype | You'll find the threadId in the URL |
| 1798 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1799 | # mumble | channel id | 42 | The channel ID, as shown in the channel's "Edit" window |
| 1800 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1801 | # rocketchat | channel | #channel | # is required for private channels too |
| 1802 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1803 | # slack | channel name | general | Do not include the # symbol |
| 1804 | # | channel id | ID:C123456 | The underlying ID of a channel. This doesn't work with webhooks. |
| 1805 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1806 | # nctalk | token | xs25tz5y | The token in the URL when you are in a chat. It will be the last part of the URL. |
| 1807 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1808 | # telegram | chatid | -123456789 | A large negative number. see https://www.linkedin.com/pulse/telegram-bots-beginners-marco-frau |
| 1809 | # | chatid/topicid | -123456789/12 | A large negative number/number. |
| 1810 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1811 | # vk | peerid | 2000000002 | A number that starts form 2000000000. Use --debug and send any message in chat to get PeerID in the logs |
| 1812 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1813 | # whatsapp | group JID | 48111222333-123455678999@g.us | A unique group JID. If you specify an empty string, bridge will list all the possibilities |
| 1814 | # | "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. |
| 1815 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1816 | # xmpp | channel | general | The room name |
| 1817 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1818 | # zulip | stream/topic:topic | general/topic:food | Do not use the # when specifying a topic |
| 1819 | # ------------------------------------------------------------------------------------------------------------------------------------- |
| 1820 | |
| 1821 | # |
| 1822 | # REQUIRED |
| 1823 | channel="#testing" |
| 1824 | |
| 1825 | #OPTIONAL - only used for IRC and XMPP protocols at the moment |
| 1826 | [gateway.in.options] |
| 1827 | #OPTIONAL - your irc / xmpp channel key |
| 1828 | key="yourkey" |
| 1829 | |
| 1830 | |
| 1831 | #[[gateway.out]] specifies the account and channels we will sent messages to. |
| 1832 | [[gateway.out]] |
| 1833 | account="irc.libera" |
| 1834 | channel="#testing" |
| 1835 | |
| 1836 | #OPTIONAL - only used for IRC and XMPP protocols at the moment |
| 1837 | [gateway.out.options] |
| 1838 | #OPTIONAL - your irc / xmpp channel key |
| 1839 | key="yourkey" |
| 1840 | |
| 1841 | #[[gateway.inout]] can be used when then channel will be used to receive from |
| 1842 | #and send messages to |
| 1843 | [[gateway.inout]] |
| 1844 | account="mattermost.work" |
| 1845 | channel="off-topic" |
| 1846 | |
| 1847 | #OPTIONAL - only used for IRC and XMPP protocols at the moment |
| 1848 | [gateway.inout.options] |
| 1849 | #OPTIONAL - your irc / xmpp channel key |
| 1850 | key="yourkey" |
| 1851 | |
| 1852 | # Discord specific gateway options |
| 1853 | [[gateway.inout]] |
| 1854 | account="discord.game" |
| 1855 | channel="mygreatgame" |
| 1856 | |
| 1857 | [gateway.inout.options] |
| 1858 | # WebhookURL sends messages in the style of "puppets". You must configure a webhook URL for each channel you want to bridge. |
| 1859 | # If you have more than one channel and don't wnat to configure each channel manually, see the "AutoWebhooks" option in the gateway config. |
| 1860 | # Example: "https://discord.com/api/webhooks/1234/abcd_xyzw" |
| 1861 | WebhookURL="" |
| 1862 | |
| 1863 | [[gateway.inout]] |
| 1864 | account="zulip.streamchat" |
| 1865 | channel="general/topic:mytopic" |
| 1866 | |
| 1867 | #API example |
| 1868 | #[[gateway.inout]] |
| 1869 | #account="api.local" |
| 1870 | #channel="api" |
| 1871 | #To send data to the api: |
| 1872 | #curl -XPOST -H 'Content-Type: application/json' -d '{"text":"test","username":"randomuser","gateway":"gateway1"}' http://localhost:4242/api/message |
| 1873 | #To read from the api: |
| 1874 | #curl http://localhost:4242/api/messages |
| 1875 | |
| 1876 | #If you want to do a 1:1 mapping between protocols where the channelnames are the same |
| 1877 | #e.g. slack and mattermost you can use the samechannelgateway configuration |
| 1878 | #the example configuration below send messages from channel testing on mattermost to |
| 1879 | #channel testing on slack and vice versa. (and for the channel testing2 and testing3) |
| 1880 | |
| 1881 | [[samechannelgateway]] |
| 1882 | name="samechannel1" |
| 1883 | enable = false |
| 1884 | accounts = [ "mattermost.work","slack.hobby" ] |
| 1885 | channels = [ "testing","testing2","testing3"] |
| 1886 | |