#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"