--- /dev/null
+#interface:port to bind to. (default "127.0.0.1:6667")
+bind = "127.0.0.1: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 = "chat.mycompany.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 = false
+# 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"
+#accessToken="accesstokenstring"