#interface:port to bind to. (default "127.0.0.1:6667")
bind = "0.0.0.0:6667"
#enable debug logging (default false)
debug = false
#enable trace logging (default false)
trace = false
#enable gops agent (https://github.com/google/gops)
#used to track down memory leaks/cpu profiling
#default false
gops = false
#TLS interface:port to bind to. (e.g 127.0.0.1:6697) (deault "")
#
#TLSBind = "127.0.0.1:6697"
#directory to look for key.pem and cert.pem. (default ".")
#
#TLSDir = "/etc/pki/tls/matterircd/"
# Specify the full path for your key and cert
#TLSKey = "/etc/pki/tls/matterircd/key.pem"
#TLSCert = "/etc/pki/tls/matterircd/cer.pem"
# Override handshake timeout (in seconds)
#HandshakeTimeout = 10
# Override client timeout (in seconds)
#ClientTimeout = 10
#PasteBufferTimeout specifies the amount of time in milliseconds that
#messages get kept in matterircd internal buffer before being sent to
#mattermost or slack.
#Messages that will be received in this time will be concatenated together
#So this can be used to paste stuff like ansi-art or code.
#Default 0 (is disabled)
#Depending on how fast you type 2500 is a good number
PasteBufferTimeout = 2500
##################################
##### MATTERMOST EXAMPLE #########
##################################
[mattermost]
#specify default mattermost server/instance (default "")
#
DefaultServer = "community.mattermost.com"
#specify default mattermost team (default "")
#
#DefaultTeam = "mycompany"
#use http connection to mattermost (default false)
Insecure = false
#an array of channels that only will be joined on IRC. JoinExlude and JoinInclude will not be checked
#regexp is supported
#If it's empty, it means all channels get joined (except those defined in JoinExclude)
#Messages that get sent to unjoined channels (but you're joined on mattermost) will
#get sent to the &messages channel.
#default ""
#
#JoinOnly = ["#onlythischannel"]
#an array of channels that won't be joined on IRC.
#regexp is supported
#Messages that get sent to unjoined channels (but you're joined on mattermost) will
#get sent to the &messages channel.
#You can still /JOIN exclude channels.
#default ""
#
#JoinExclude = ["#town-square","#boringchannel","#.*marketing.*"]
#an array of channels that will override the settings in JoinExclude
#regexp is supported
#If it's empty, it means all channels get joined (except those defined in JoinExclude)
#Messages that get sent to unjoined channels (but you're joined on mattermost) will
#get sent to the &messages channel.
#default ""
#
#JoinInclude = ["#devops","#myteam-marketing"]
#PartFake: a bool that defines if you do a /LEAVE or /PART on IRC it will also
#actually leave the channel on mattermost.
#if false it actually leaves the channel on mattermost
#if true it removes the channel from irc, but you're still joined on mattermost, messages
#of this channel will be sent to &messages channel
#Default false
#
PartFake = true
#only allow connection to specified mattermost server/instances.
#Array, default empty
#
#Restrict = ["chat.mycompany.com"]
#skip verification of mattermost certificate chain and hostname (default false)
SkipTLSVerify = false
#also add the main team prefix to the channel name #team/channel (default false)
PrefixMainTeam = false
#Only mark a conversation as viewed when you reply to that conversation or
#channel. This prevents Mattermost from clearing mobile app notifications
#instantly. Note that this prevents you from always appearing as online
#(anti-idle support is turned off unless ForceAntiIdle) (default false)
DisableAutoView = false
# Force and enable anti-idle. Useful for when DisableAutoView.
# ForceAntiIdle = true
# AntiIdleChannel = "town-square"
# AntiIdleInterval = 60
# If users set a Nickname, matterircd could either choose that or the Username
# to display in the IRC client. The option PreferNickname controls that, the
# default being to show the Username. (default false)
PreferNickname = false
# Disable showing parent post / replies
HideReplies = false
# Shorten replies to approximately this length
ShortenRepliesTo = 0
# Enable Unicode.
Unicode = true
# Disable showing reactions
HideReactions = false
#Only join direct/group messages when someone talks. This stops from cluttering your
#irc client with lots of windows.
#If set to true dm/group messages will be joined on startup and not only on talk in the channel.
JoinDM = false
#This will add a number between 000 and fff to each message
#This number will be referenced when a message is edited/deleted/threaded/reaction
#For more information see prefixcontext.md
PrefixContext = false
# Same as PrefixContext but with the message context at the end.
SuffixContext = false
# If either PrefixContext or SuffixContext specify which thread ID to use. Default is the
# matterircd generated @@([0-9][a-f]){3}. Uncomment to use Mattermost's message/parent thread IDs instead.
#ThreadContext = "mattermost"
# Similar to the above, but also show the message post IDs in addition to the parent thread ID.
#ThreadContext = "mattermost+post"
#Show Context for multi-line messages and only show it at the end.
ShowContextMulti = false
#This will show (mention yournick) after a message if it contains one of the words configured
#in your mattermost "word that trigger mentions" notifications.
ShowMentions = false
# Channel wide default mentions @channel, @all, and @here are shown as IRC NOTICEs.
# This disables that making them appear as normal PRIVMSGs.
#DisableDefaultMentions = true
# Enable syntax highlighting for code blocks.
# Formatter and Style are passed through to the chroma v2 package.
# https://github.com/alecthomas/chroma/blob/master/formatters/tty_indexed.go#L262
# terminal/terminal8 for 8-colors, terminal16, terminal256, terminal16m (16M true-colour).
# https://github.com/alecthomas/chroma/tree/master/styles
# These are different colour schemes/styles. E.g. pygments, emacs, autumn, etc.
SyntaxHighlighting = "terminal256:pygments"
# Path to file to store last viewed information. This is useful for replying only
# the messages missed.
LastViewedSaveFile = "matterircd-lastsaved.db"
#############################
##### SLACK EXAMPLE #########
#############################
[slack]
#deny specific users from connecting.
#As we only connect using tokens, this will first do a ccnnection to see what username the token is from. If this
#username is on the DenyUsers the user will be disconnected.
#Array, default empty
#
#DenyUsers = ["username"]
#https://get.slack.help/hc/en-us/articles/212281468-Direct-messages-and-group-DMs
#Only join direct/group messages when someone talks. This stops from cluttering your
#irc client with lots of windows.
#If set to true dm/group messages will be joined on startup and not only on talk in the channel.
JoinDM = false
#only allow connection to specific slack sites. (eg for myslack.slack.com just specify myslack)
#As we only connect using tokens, this will first do a ccnnection to see what team the token is from. If this
#team isn't in the Restrict list, the user will be disconnected.
#Array, default empty
#
#Restrict = ["myslack"]
# This will add the slack DisplayName as prefix to every message if the DisplayName differs from the Username
# More info about username/displayname see https://api.slack.com/changelog/2017-09-the-one-about-usernames
# Default false
UseDisplayName = false
#an array of channels that only will be joined on IRC. JoinExlude and JoinInclude will not be checked
#regexp is supported
#If it's empty, it means all channels get joined (except those defined in JoinExclude)
#Messages that get sent to unjoined channels (but you're joined on mattermost) will
#get sent to the &messages channel.
#default ""
#
#JoinOnly = ["#onlythischannel"]
#an array of channels that won't be joined on IRC.
#regexp is supported
#Messages that get sent to unjoined channels (but you're joined on mattermost) will
#get sent to the &messages channel.
#You can still /JOIN exclude channels.
#default ""
#
#JoinExclude = ["#town-square","#boringchannel","#.*marketing.*"]
#an array of channels that will override the settings in JoinExclude
#regexp is supported
#If it's empty, it means all channels get joined (except those defined in JoinExclude)
#Messages that get sent to unjoined channels (but you're joined on mattermost) will
#get sent to the &messages channel.
#default ""
#
#JoinInclude = ["#devops","#myteam-marketing"]
#This will add a number between 000 and fff to each message
#This number will be referenced when a message is edited/deleted/threaded/reaction
PrefixContext = false
#############################
##### MASTODON EXAMPLE ######
#############################
[mastodon]
#Go to https://yourmastodonserver/settings/applications/new
#Use matterircd as application name (default read/write/follow scopes are ok)
#Click on submit
#After submitting it'll show you the Client Key (we call it clientID),
#the client secret and Your access token
#
#Fill those in below with your server
#Connect to matterircd and /msg mastodon login
#
#server="https://mastodon.social"
#clientID="clientidstring"
#clientSecret="clientsecretstring" #pragma: allowlist secret
#accessToken="accesstokenstring"