mirror of
https://github.com/42wim/matterbridge.git
synced 2024-11-25 04:02:03 -08:00
374 lines
12 KiB
Plaintext
374 lines
12 KiB
Plaintext
#This is configuration for matterbridge.
|
|
###################################################################
|
|
#IRC section
|
|
###################################################################
|
|
#REQUIRED to start IRC section
|
|
[irc]
|
|
|
|
#You can configure multiple servers "[irc.name]" or "[irc.name2]"
|
|
#In this example we use [irc.freenode]
|
|
#REQUIRED
|
|
[irc.freenode]
|
|
#irc server to connect to.
|
|
#REQUIRED
|
|
Server="irc.freenode.net:6667"
|
|
|
|
#Enable to use TLS connection to your irc server.
|
|
#OPTIONAL (default false)
|
|
UseTLS=false
|
|
|
|
#Enable SASL (PLAIN) authentication. (freenode requires this from eg AWS hosts)
|
|
#It uses NickServNick and NickServPassword as login and password
|
|
#OPTIONAL (default false)
|
|
UseSASL=false
|
|
|
|
#Enable to not verify the certificate on your irc server. i
|
|
#e.g. when using selfsigned certificates
|
|
#OPTIONAL (default false)
|
|
SkipTLSVerify=true
|
|
|
|
#Your nick on irc.
|
|
#REQUIRED
|
|
Nick="matterbot"
|
|
|
|
#If you registered your bot with a service like Nickserv on freenode.
|
|
#Also being used when UseSASL=true
|
|
#OPTIONAL
|
|
NickServNick="nickserv"
|
|
NickServPassword="secret"
|
|
|
|
#RemoteNickFormat defines how remote users appear on this bridge
|
|
#The string "{NICK}" (case sensitive) will be replaced by the actual nick / username.
|
|
#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge
|
|
#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge
|
|
#OPTIONAL (default empty)
|
|
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
|
|
|
|
#Nicks you want to ignore.
|
|
#Messages from those users will not be sent to other bridges.
|
|
#OPTIONAL
|
|
IgnoreNicks="ircspammer1 ircspammer2"
|
|
|
|
#Flood control
|
|
#Delay in milliseconds between each message send to the IRC server
|
|
#OPTIONAL (default 1300)
|
|
MessageDelay=1300
|
|
|
|
#Maximum amount of messages to hold in queue. If queue is full
|
|
#messages will be dropped.
|
|
#<clipped> will be add to the message that fills the queue.
|
|
#OPTIONAL (default 30)
|
|
MessageQueue=30
|
|
|
|
###################################################################
|
|
#XMPP section
|
|
###################################################################
|
|
[xmpp]
|
|
|
|
#You can configure multiple servers "[xmpp.name]" or "[xmpp.name2]"
|
|
#In this example we use [xmpp.jabber]
|
|
#REQUIRED
|
|
[xmpp.jabber]
|
|
#xmpp server to connect to.
|
|
#REQUIRED
|
|
Server="jabber.example.com:5222"
|
|
|
|
#Jid
|
|
#REQUIRED
|
|
Jid="user@example.com"
|
|
|
|
#Password
|
|
#REQUIRED
|
|
Password="yourpass"
|
|
|
|
#MUC
|
|
#REQUIRED
|
|
Muc="conference.jabber.example.com"
|
|
|
|
#Your nick in the rooms
|
|
#REQUIRED
|
|
Nick="xmppbot"
|
|
|
|
|
|
###################################################################
|
|
#mattermost section
|
|
###################################################################
|
|
[mattermost]
|
|
#You can configure multiple servers "[mattermost.name]" or "[mattermost.name2]"
|
|
#In this example we use [mattermost.work]
|
|
#REQUIRED
|
|
|
|
[mattermost.work]
|
|
#### Settings for webhook matterbridge.
|
|
#### These settings will not be used when useAPI is enabled
|
|
|
|
#Url is your incoming webhook url as specified in mattermost.
|
|
#See account settings - integrations - incoming webhooks on mattermost.
|
|
#REQUIRED (unless useAPI=true)
|
|
URL="https://yourdomain/hooks/yourhookkey"
|
|
|
|
#Address to listen on for outgoing webhook requests from mattermost.
|
|
#See account settings - integrations - outgoing webhooks on mattermost.
|
|
#This setting will not be used when using -plus switch which doesn't use
|
|
#webhooks
|
|
#REQUIRED (unless useAPI=true)
|
|
BindAddress="0.0.0.0:9999"
|
|
|
|
#Icon that will be showed in mattermost.
|
|
#OPTIONAL
|
|
IconURL="http://youricon.png"
|
|
|
|
#### Settings for matterbridge -plus
|
|
#### Thse settings will only be used when using the -plus switch.
|
|
|
|
#### Settings for using matterbridge API
|
|
#OPTIONAL
|
|
useAPI=false
|
|
|
|
#The mattermost hostname.
|
|
#REQUIRED (when useAPI=true)
|
|
Server="yourmattermostserver.domain"
|
|
|
|
#Your team on mattermost.
|
|
#REQUIRED (when useAPI=true)
|
|
Team="yourteam"
|
|
|
|
#login/pass of your bot.
|
|
#Use a dedicated user for this and not your own!
|
|
#REQUIRED (when useAPI=true)
|
|
Login="yourlogin"
|
|
Password="yourpass"
|
|
|
|
#Enable this to make a http connection (instead of https) to your mattermost.
|
|
#OPTIONAL (default false)
|
|
NoTLS=false
|
|
|
|
#### Shared settings for matterbridge and -plus
|
|
|
|
#Enable to not verify the certificate on your mattermost server.
|
|
#e.g. when using selfsigned certificates
|
|
#OPTIONAL (default false)
|
|
SkipTLSVerify=true
|
|
|
|
#Enable to show IRC joins/parts in mattermost.
|
|
#OPTIONAL (default false)
|
|
ShowJoinPart=false
|
|
|
|
#Whether to prefix messages from other bridges to mattermost with the sender's nick.
|
|
#Useful if username overrides for incoming webhooks isn't enabled on the
|
|
#mattermost server. If you set PrefixMessagesWithNick to true, each message
|
|
#from bridge to Mattermost will by default be prefixed by "bridge-" + nick. You can,
|
|
#however, modify how the messages appear, by setting (and modifying) RemoteNickFormat
|
|
#OPTIONAL (default false)
|
|
PrefixMessagesWithNick=false
|
|
|
|
#RemoteNickFormat defines how remote users appear on this bridge
|
|
#The string "{NICK}" (case sensitive) will be replaced by the actual nick / username.
|
|
#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge
|
|
#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge
|
|
#OPTIONAL (default empty)
|
|
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
|
|
|
|
#how to format the list of IRC nicks when displayed in mattermost.
|
|
#Possible options are "table" and "plain"
|
|
#OPTIONAL (default plain)
|
|
NickFormatter="plain"
|
|
#How many nicks to list per row for formatters that support this.
|
|
#OPTIONAL (default 4)
|
|
NicksPerRow=4
|
|
|
|
#Nicks you want to ignore. Messages from those users will not be bridged.
|
|
#OPTIONAL
|
|
IgnoreNicks="mmbot spammer2"
|
|
|
|
###################################################################
|
|
#Gitter section
|
|
#Best to make a dedicated gitter account for the bot.
|
|
###################################################################
|
|
|
|
[gitter]
|
|
|
|
#You can configure multiple servers "[gitter.name]" or "[gitter.name2]"
|
|
#In this example we use [gitter.myproject]
|
|
#REQUIRED
|
|
[gitter.myproject]
|
|
#Token to connect with Gitter API
|
|
#You can get your token by going to https://developer.gitter.im/docs/welcome and SIGN IN
|
|
#REQUIRED
|
|
Token="Yourtokenhere"
|
|
|
|
#Nicks you want to ignore. Messages of those users will not be bridged.
|
|
#OPTIONAL
|
|
IgnoreNicks="spammer1 spammer2"
|
|
|
|
#RemoteNickFormat defines how remote users appear on this bridge
|
|
#The string "{NICK}" (case sensitive) will be replaced by the actual nick / username.
|
|
#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge
|
|
#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge
|
|
#OPTIONAL (default empty)
|
|
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
|
|
|
|
###################################################################
|
|
#slack section
|
|
###################################################################
|
|
[slack]
|
|
|
|
#You can configure multiple servers "[slack.name]" or "[slack.name2]"
|
|
#In this example we use [slack.hobby]
|
|
#REQUIRED
|
|
[slack.hobby]
|
|
#### Settings for webhook matterbridge.
|
|
#### These settings will not be used when useAPI is enabled
|
|
|
|
#Url is your incoming webhook url as specified in slack
|
|
#See account settings - integrations - incoming webhooks on slack
|
|
#REQUIRED (unless useAPI=true)
|
|
URL="https://hooks.slack.com/services/yourhook"
|
|
|
|
#Address to listen on for outgoing webhook requests from slack
|
|
#See account settings - integrations - outgoing webhooks on slack
|
|
#This setting will not be used when useAPI is eanbled
|
|
#webhooks
|
|
#REQUIRED (unless useAPI=true)
|
|
BindAddress="0.0.0.0:9999"
|
|
|
|
#### Settings for using slack API
|
|
#OPTIONAL
|
|
useAPI=false
|
|
|
|
#Token to connect with the Slack API
|
|
#REQUIRED (when useAPI=true)
|
|
Token="yourslacktoken"
|
|
|
|
#### Shared settings for webhooks and API
|
|
|
|
#Icon that will be showed in slack
|
|
#The string "{NICK}" (case sensitive) will be replaced by the actual nick / username.
|
|
#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge
|
|
#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge
|
|
#OPTIONAL
|
|
IconURL="https://robohash.org/{NICK}.png?size=48x48"
|
|
|
|
#Whether to prefix messages from other bridges to mattermost with RemoteNickFormat
|
|
#Useful if username overrides for incoming webhooks isn't enabled on the
|
|
#slack server. If you set PrefixMessagesWithNick to true, each message
|
|
#from bridge to Slack will by default be prefixed by "bridge-" + nick. You can,
|
|
#however, modify how the messages appear, by setting (and modifying) RemoteNickFormat
|
|
#OPTIONAL (default false)
|
|
PrefixMessagesWithNick=false
|
|
|
|
#RemoteNickFormat defines how remote users appear on this bridge
|
|
#The string "{NICK}" (case sensitive) will be replaced by the actual nick / username.
|
|
#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge
|
|
#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge
|
|
#OPTIONAL (default empty)
|
|
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
|
|
|
|
#how to format the list of IRC nicks when displayed in slack
|
|
#Possible options are "table" and "plain"
|
|
#OPTIONAL (default plain)
|
|
NickFormatter="plain"
|
|
#How many nicks to list per row for formatters that support this.
|
|
#OPTIONAL (default 4)
|
|
NicksPerRow=4
|
|
|
|
#Nicks you want to ignore. Messages from those users will not be bridged.
|
|
#OPTIONAL
|
|
IgnoreNicks="mmbot spammer2"
|
|
|
|
###################################################################
|
|
#discord section
|
|
###################################################################
|
|
[discord]
|
|
|
|
#You can configure multiple servers "[discord.name]" or "[discord.name2]"
|
|
#In this example we use [discord.game]
|
|
#REQUIRED
|
|
[discord.game]
|
|
#Token to connect with Discord API
|
|
#You can get your token by following the instructions on
|
|
#https://github.com/reactiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token
|
|
#The "Bot" tag needs to be added before the token
|
|
#REQUIRED
|
|
Token="Bot Yourtokenhere"
|
|
|
|
#REQUIRED
|
|
Server="yourservername"
|
|
|
|
#Nicks you want to ignore. Messages of those users will not be bridged.
|
|
#OPTIONAL
|
|
IgnoreNicks="spammer1 spammer2"
|
|
|
|
#RemoteNickFormat defines how remote users appear on this bridge
|
|
#The string "{NICK}" (case sensitive) will be replaced by the actual nick / username.
|
|
#The string "{BRIDGE}" (case sensitive) will be replaced by the sending bridge
|
|
#The string "{PROTOCOL}" (case sensitive) will be replaced by the protocol used by the bridge
|
|
#OPTIONAL (default empty)
|
|
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
|
|
|
|
|
|
###################################################################
|
|
#Gateway configuration
|
|
###################################################################
|
|
|
|
#You can specify multiple gateways using [[gateway]]
|
|
#Each gateway has a [[gateway.in]] and a [[gateway.out]]
|
|
#[[gateway.in]] specifies the account and channels we will receive messages from.
|
|
#[[gateway.out]] specifies the account and channels we will send the messages
|
|
#from [[gateway.in]] to.
|
|
#
|
|
#Most of the time [[gateway.in]] and [[gateway.out]] are the same if you
|
|
#want bidirectional bridging.
|
|
#
|
|
|
|
[[gateway]]
|
|
#OPTIONAL (not used for now)
|
|
name="gateway1"
|
|
#Enable enables this gateway
|
|
##OPTIONAL (default false)
|
|
enable=true
|
|
|
|
#[[gateway.in]] specifies the account and channels we will receive messages from.
|
|
#The following example bridges between mattermost and irc
|
|
[[gateway.in]]
|
|
|
|
#account specified above
|
|
#REQUIRED
|
|
account="irc.freenode"
|
|
#channel to connect on that account
|
|
#How to specify them for the different bridges:
|
|
#
|
|
#irc - #channel (# is required)
|
|
#mattermost - channel (the channel name as seen in the URL, not the displayname)
|
|
#gitter - username/room
|
|
#xmpp - channel
|
|
#slack - channel (the channel name as seen in the URL, not the displayname)
|
|
#discord - channel (without the #)
|
|
# - ID:123456789 (where 123456789 is the channel ID)
|
|
# (https://github.com/42wim/matterbridge/issues/57)
|
|
#REQUIRED
|
|
channel="#testing"
|
|
|
|
[[gateway.in]]
|
|
account="mattermost.work"
|
|
channel="off-topic"
|
|
|
|
[[gateway.out]]
|
|
account="irc.freenode"
|
|
channel="#testing"
|
|
|
|
[[gateway.out]]
|
|
account="mattermost.work"
|
|
channel="off-topic"
|
|
|
|
|
|
#If you want to do a 1:1 mapping between protocols where the channelnames are the same
|
|
#e.g. slack and mattermost you can use the samechannelgateway configuration
|
|
#the example configuration below send messages from channel testing on mattermost to
|
|
#channel testing on slack and vice versa. (and for the channel testing2 and testing3)
|
|
|
|
[[samechannelgateway]]
|
|
enable = false
|
|
accounts = [ "mattermost.work","slack.hobby" ]
|
|
channels = [ "testing","testing2","testing3"]
|