1 #interface:port to bind to. (default "127.0.0.1:6667")
2 bind = "127.0.0.1:6667"
4 #enable debug logging (default false)
7 #enable trace logging (default false)
10 #enable gops agent (https://github.com/google/gops)
11 #used to track down memory leaks/cpu profiling
15 #TLS interface:port to bind to. (e.g 127.0.0.1:6697) (deault "")
17 #TLSBind = "127.0.0.1:6697"
19 #directory to look for key.pem and cert.pem. (default ".")
21 #TLSDir = "/etc/pki/tls/matterircd/"
23 # Specify the full path for your key and cert
24 #TLSKey = "/etc/pki/tls/matterircd/key.pem"
25 #TLSCert = "/etc/pki/tls/matterircd/cer.pem"
27 # Override handshake timeout (in seconds)
28 #HandshakeTimeout = 10
29 # Override client timeout (in seconds)
32 #PasteBufferTimeout specifies the amount of time in milliseconds that
33 #messages get kept in matterircd internal buffer before being sent to
35 #Messages that will be received in this time will be concatenated together
36 #So this can be used to paste stuff like ansi-art or code.
37 #Default 0 (is disabled)
38 #Depending on how fast you type 2500 is a good number
39 PasteBufferTimeout = 2500
41 ##################################
42 ##### MATTERMOST EXAMPLE #########
43 ##################################
45 #specify default mattermost server/instance (default "")
47 #DefaultServer = "chat.mycompany.com"
49 #specify default mattermost team (default "")
51 #DefaultTeam = "mycompany"
53 #use http connection to mattermost (default false)
56 #an array of channels that only will be joined on IRC. JoinExlude and JoinInclude will not be checked
58 #If it's empty, it means all channels get joined (except those defined in JoinExclude)
59 #Messages that get sent to unjoined channels (but you're joined on mattermost) will
60 #get sent to the &messages channel.
63 #JoinOnly = ["#onlythischannel"]
65 #an array of channels that won't be joined on IRC.
67 #Messages that get sent to unjoined channels (but you're joined on mattermost) will
68 #get sent to the &messages channel.
69 #You can still /JOIN exclude channels.
72 #JoinExclude = ["#town-square","#boringchannel","#.*marketing.*"]
74 #an array of channels that will override the settings in JoinExclude
76 #If it's empty, it means all channels get joined (except those defined in JoinExclude)
77 #Messages that get sent to unjoined channels (but you're joined on mattermost) will
78 #get sent to the &messages channel.
81 #JoinInclude = ["#devops","#myteam-marketing"]
83 #PartFake: a bool that defines if you do a /LEAVE or /PART on IRC it will also
84 #actually leave the channel on mattermost.
85 #if false it actually leaves the channel on mattermost
86 #if true it removes the channel from irc, but you're still joined on mattermost, messages
87 #of this channel will be sent to &messages channel
92 #only allow connection to specified mattermost server/instances.
95 #Restrict = ["chat.mycompany.com"]
97 #skip verification of mattermost certificate chain and hostname (default false)
100 #also add the main team prefix to the channel name #team/channel (default false)
101 PrefixMainTeam = false
103 #Only mark a conversation as viewed when you reply to that conversation or
104 #channel. This prevents Mattermost from clearing mobile app notifications
105 #instantly. Note that this prevents you from always appearing as online
106 #(anti-idle support is turned off unless ForceAntiIdle) (default false)
107 DisableAutoView = false
108 # Force and enable anti-idle. Useful for when DisableAutoView.
109 # ForceAntiIdle = true
110 # AntiIdleChannel = "town-square"
111 # AntiIdleInterval = 60
113 # If users set a Nickname, matterircd could either choose that or the Username
114 # to display in the IRC client. The option PreferNickname controls that, the
115 # default being to show the Username. (default false)
116 PreferNickname = false
118 # Disable showing parent post / replies
120 # Shorten replies to approximately this length
124 # Disable showing reactions
125 HideReactions = false
127 #Only join direct/group messages when someone talks. This stops from cluttering your
128 #irc client with lots of windows.
129 #If set to true dm/group messages will be joined on startup and not only on talk in the channel.
132 #This will add a number between 000 and fff to each message
133 #This number will be referenced when a message is edited/deleted/threaded/reaction
134 #For more information see prefixcontext.md
135 PrefixContext = false
136 # Same as PrefixContext but with the message context at the end.
137 SuffixContext = false
138 # If either PrefixContext or SuffixContext specify which thread ID to use. Default is the
139 # matterircd generated @@([0-9][a-f]){3}. Uncomment to use Mattermost's message/parent thread IDs instead.
140 #ThreadContext = "mattermost"
141 # Similar to the above, but also show the message post IDs in addition to the parent thread ID.
142 #ThreadContext = "mattermost+post"
143 #Show Context for multi-line messages and only show it at the end.
144 ShowContextMulti = false
146 #This will show (mention yournick) after a message if it contains one of the words configured
147 #in your mattermost "word that trigger mentions" notifications.
149 # Channel wide default mentions @channel, @all, and @here are shown as IRC NOTICEs.
150 # This disables that making them appear as normal PRIVMSGs.
151 #DisableDefaultMentions = true
153 # Enable syntax highlighting for code blocks.
154 # Formatter and Style are passed through to the chroma v2 package.
155 # https://github.com/alecthomas/chroma/blob/master/formatters/tty_indexed.go#L262
156 # terminal/terminal8 for 8-colors, terminal16, terminal256, terminal16m (16M true-colour).
157 # https://github.com/alecthomas/chroma/tree/master/styles
158 # These are different colour schemes/styles. E.g. pygments, emacs, autumn, etc.
159 SyntaxHighlighting = "terminal256:pygments"
161 # Path to file to store last viewed information. This is useful for replying only
162 # the messages missed.
163 LastViewedSaveFile = "matterircd-lastsaved.db"
165 #############################
166 ##### SLACK EXAMPLE #########
167 #############################
169 #deny specific users from connecting.
170 #As we only connect using tokens, this will first do a ccnnection to see what username the token is from. If this
171 #username is on the DenyUsers the user will be disconnected.
172 #Array, default empty
174 #DenyUsers = ["username"]
176 #https://get.slack.help/hc/en-us/articles/212281468-Direct-messages-and-group-DMs
177 #Only join direct/group messages when someone talks. This stops from cluttering your
178 #irc client with lots of windows.
179 #If set to true dm/group messages will be joined on startup and not only on talk in the channel.
182 #only allow connection to specific slack sites. (eg for myslack.slack.com just specify myslack)
183 #As we only connect using tokens, this will first do a ccnnection to see what team the token is from. If this
184 #team isn't in the Restrict list, the user will be disconnected.
185 #Array, default empty
187 #Restrict = ["myslack"]
189 # This will add the slack DisplayName as prefix to every message if the DisplayName differs from the Username
190 # More info about username/displayname see https://api.slack.com/changelog/2017-09-the-one-about-usernames
192 UseDisplayName = false
194 #an array of channels that only will be joined on IRC. JoinExlude and JoinInclude will not be checked
196 #If it's empty, it means all channels get joined (except those defined in JoinExclude)
197 #Messages that get sent to unjoined channels (but you're joined on mattermost) will
198 #get sent to the &messages channel.
201 #JoinOnly = ["#onlythischannel"]
203 #an array of channels that won't be joined on IRC.
205 #Messages that get sent to unjoined channels (but you're joined on mattermost) will
206 #get sent to the &messages channel.
207 #You can still /JOIN exclude channels.
210 #JoinExclude = ["#town-square","#boringchannel","#.*marketing.*"]
212 #an array of channels that will override the settings in JoinExclude
214 #If it's empty, it means all channels get joined (except those defined in JoinExclude)
215 #Messages that get sent to unjoined channels (but you're joined on mattermost) will
216 #get sent to the &messages channel.
219 #JoinInclude = ["#devops","#myteam-marketing"]
221 #This will add a number between 000 and fff to each message
222 #This number will be referenced when a message is edited/deleted/threaded/reaction
223 PrefixContext = false
226 #############################
227 ##### MASTODON EXAMPLE ######
228 #############################
230 #Go to https://yourmastodonserver/settings/applications/new
231 #Use matterircd as application name (default read/write/follow scopes are ok)
233 #After submitting it'll show you the Client Key (we call it clientID),
234 #the client secret and Your access token
236 #Fill those in below with your server
237 #Connect to matterircd and /msg mastodon login
239 #server="https://mastodon.social"
240 #clientID="clientidstring"
241 #clientSecret="clientsecretstring"
242 #accessToken="accesstokenstring"