-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbotnix.normal.conf
367 lines (270 loc) · 11.4 KB
/
botnix.normal.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
// +-------------------------------------------------------------------------+
// | BOTNIX EXAMPLE CONFIGURATION FILE |
// +-------------------------------------------------------------------------+
// | |
// | PLEASE EDIT BEFORE USING! |
// | |
// | The botnix configuration is constructed of two |
// | components, networks and channels. Both can be considered 'containers', |
// | which must obey the structural rules laid out below: |
// | |
// | * A network block may contain channel blocks, or network commands |
// | * A channel block may contain channel options, but not network commands |
// | or network blocks |
// | * A channel block may be outside of a network block, in which case it |
// | is considered to be global to all networks. |
// | * Certain commands global to the entire bot (such as modules) may be |
// | outside of both network AND channel blocks. |
// | |
// +-------------------------------------------------------------------------+
// Please include this text with any bug reports
// $Id: botnix.example.conf 2311 2005-12-10 17:46:54Z brentd $
// A network block represents a network to connect to
network "ChatSpike" {
// there may be multiple servers to try on a network.
address "irc.chatspike.net/6667"
// Use ssl on this network?
// if not defined, defaults to 'no'.
usessl "no"
// To use a HTTP proxy for connecting your bot to IRC, define one or both of
// these instructions. The proxyauth instruction is optional and not required
// if you do not require authentication to use the proxy server.
// proxyaddress "proxy.lan/8080"
// proxyauth "student" "0penSeseme"
// the bot will think of an alternate nickname itself if its primary nickname
// is not available for use
nickname "Sporks"
ident "spoon"
fullname "New Improved ChatSpike Brand Spork, (C) 2002-2008"
// If you want to use a vhost, put the IP of the vhost you want to use here.
// Remember you cannot just make this up, the host has to be bound to
// an IP on the machine. You can bind to both ipv4 and ipv6 IPs.
// bind "1.2.3.4"
// define the password for the server, if one is used, by using this
// instruction. Remember passwords are usually case sensitive.
// password "letmein"
// Define a nickserv password if your bot's nickname is registered and
// you have the modules/irc/nickserv.pm module loaded.
nickservpass "32768"
// maximum number of modes we can queue and send at once on this network.
// this value is optional, and if omitted defaults to the ircnet default
// of three modes maximum per line.
maxmodes "10"
// Maximum amount of bytes that may be sent per second to this network.
// This value is optional and if omitted the default is 256, or 0.25kb/sec.
// This is an approximation and depending on traffic the maximum may
// temporarily exceed this value or short amounts of time. If you randomly
// get excess flood quits, lower this value. If your bot appears slow,
// first try increasing this value.
throttlebps "10"
// This optional value indicates how many seconds to wait before reconnecting
// to the network, if it becomes disconnected for some reason. Be aware that
// setting this too low can cause IRC servers to ban you with klines or worse!
reconnect "60"
// A channel block inside a network block exists only on that network
channel "#inspircd" {
rejoin
logfile "logs/inspircd.log"
timestamps "yes"
}
channel "#darkempire" {
rejoin
logfile "logs/darkempire.log"
timestamps "yes"
}
channel "#galgen" {
rejoin
logfile "logs/galgen.log"
timestamps "yes"
}
channel "#trillian" {
rejoin
logfile "logs/trillian.log"
timestamps "yes"
}
channel "#nintendo" {
rejoin
logfile "logs/nintendo.log"
timestamps "yes"
}
channel "#trivia" {
rejoin
logfile "logs/trivia.log"
timestamps "yes"
}
channel "#opa" {
rejoin
logfile "logs/opa.log"
timestamps "yes"
}
channel "#logcabin" {
rejoin
logfile "logs/logcabin.log"
timestamps "yes"
}
channel "#botnix" {
rejoin
logfile "logs/botnix.log"
timestamps "yes"
}
channel "#coding" {
rejoin
logfile "logs/coding.log"
timestamps "yes"
}
channel "#jatowire" {
rejoin
logfile "logs/jatowire.log"
timestamps "yes"
}
channel "#FESpritez" {
rejoin
logfile "logs/fespritez.log"
timestamps "yes"
}
channel "#NS2" {
rejoin
logfile "logs/ns2.log"
timestamps "yes"
}
// These commands are read by the ctcp module (modules/irc/ctcp.pm)
// there are four usable configuration commands for this module, each
// settable on a per-network basis:
// This command indicates that ctcp ping should be answered on this
// network. The default is not to answer ctcp ping, for security.
ctcpping
// This command indicates that ctcp time requests should be answered
// on this network. The default is not to answer any time requests.
ctcptime
// This command indicates a change to the standard version reply.
// Botnix will always return a version reply, however this instruction
// allows you to change it however you wish.
// If you do not want botnix to answer version requests, do not load
// the ctcp module.
versionreply "Got botnix? -- http://www.botnix.org/"
// This command indicates a change to the standard finger reply.
// Botnix will always return a finger reply, however this instruction
// allows you to change it however you wish.
// If you do not want botnix to answer finger requests, do not load
// the ctcp module.
fingerreply "Get your finger out of my socket."
// Use this command to enable support for the ERRMSG ctcpreply.
// this is not recommended as it can be used to flood the bot.
// answererror
}
// This command is implemented by the modules/log/file.pm module. If
// you are using the file logger module you *must* define this logfile
// directive outside of all channels and networks, as this 'main' logfile
// will capture all log messages not directed at a channel or server
// which has its own log. If you define a logfile for a server, but do
// not put it within a channel, channel messages will NOT appear in that
// log, they will most likely appear here.
logfile "logs/servers.log"
timestamps "yes"
// This instruction defines the filename for the userfile. If you do not
// specify a name for your userfile, then the default 'botnix.uf' is used.
userfile "botnix.uf"
// This instruction defines the filename used for the storefile. If you
// do not specify a name for the storefile, then thedefault of 'botnix.store'
// is used. The storefile holds all persistent settings for the bot and any
// modules it loads, except for the user data, such as auto kicks, etc.
storefile "botnix.store"
// This command is implemented by the modules/irc/cli.pm module. If you do not
// load this module and define this instruction, you will not be able to give
// your bot ANY commands via message or on a channel. To specify where you can
// issue commands, put either or both of message and channel into the paremeter
// as shown below.
//
// NB: If you specify the 'channel' option here, the default is to reply to the
// channel with a public channel notice. If you'd rather the bot reply in person
// to you EVEN WHEN IT IS COMMANDED ON CHANNEL, then use the token channelprivate
// instead of channel. You may not use both channel and channelprivate at the same
// time.
allowcommands "message,channelprivate"
// You must load modules into your bot to make it function on more than
// just a primative level. The modules shown below should be self explainitory
// and will add support for various IRC features considered 'normal' for
// an IRC client.
// CTCP support
module "modules/irc/ctcp.pm"
// DCC support (not dependent on CTCP support)
module "modules/irc/dcc.pm"
module "modules/irc/telnet.pm"
telnet "*/12006" "ipv4"
// Speech (.ACT and .SAY commands)
module "modules/irc/speech.pm"
// File logger (for logging to text files)
module "modules/log/file.pm"
// Channel Operator actions
module "modules/irc/chanop.pm"
// Channel mode actions
module "modules/irc/chanmode.pm"
// Channel and private message command support
module "modules/irc/cli.pm"
// Public flood checking module
module "modules/irc/flood.pm"
module "modules/irc/auto.pm"
// Channel relay block
// relay "FriendlyName" {
// SourceInfo "SourceNetwork" "#SourceChannel"
// DestInfo "DestinationNetwork" "#DestinationNetwork"
// [DestInfo "DestinationNetwork" "#DestinationNetwork"]
// [DestInfo "DestinationNetwork" "#DestinationNetwork"]
// [...]
// }
// Non relay'd Nicks. REGEX of the users not to relay.
// norelaynicks "nick!*\@*"
// module "modules/irc/relay.pm"
// Nickserv module (allows identifying to services)
module "modules/irc/nickserv.pm"
module "modules/db/sql.pm"
module "modules/irc/infobot.pm"
db "braindb" {
engine "mysql"
name "brain"
user "brain"
pass "5010251048275"
}
module "modules/irc/seen.pm"
inf-replies "I heard %k %w %v"
inf-replies "They say %k %w %v"
inf-replies "%k %w %v... I think"
inf-replies "someone said %k %w %v"
inf-replies "%k %w like, %v"
inf-replies "%k %w %v"
inf-replies "%k %w %v, maybe?"
inf-replies "%s once said %k %w %v"
inf-dontknow "Sorry %n I don't know what %k is."
inf-dontknow "%k? no idea %n."
inf-dontknow "I'm not a genius, %n..."
inf-dontknow "Its best to ask a real person about %k."
inf-dontknow "Not a clue."
inf-dontknow "Don't you know, %n?"
inf-notnew "but %k %w %v :("
inf-notnew "fool, %k %w %v :p"
inf-notnew "%k already %w %v..."
inf-notnew "Are you sure, %n? I am sure that %k %w %v!"
inf-heard "%s told me about %k on %d"
inf-heard "I learned that on %d, and i think it was %s that told me it."
inf-heard "I think it was %n who said that, way back on %d..."
inf-confirm "Ok, %n"
inf-confirm "Your wish is my command."
inf-confirm "Okay."
inf-confirm "Whatever..."
inf-confirm "Gotcha."
inf-confirm "Ok."
inf-confirm "Right."
inf-loggedout "You're a mild idiot %n, log in and try again"
inf-loggedout "I can't do that %n because you dont have the power!"
inf-loggedout "I would do what you ask, but you are not logged in!"
inf-loggedout "Oh dear, someone locked that. log in and try again %n."
inf-locked "You can't edit that! Log into the bot, and do '%m, unlock %k'"
inf-forgot "I forgot %k"
inf-forgot "%k is gone from my mind, %n"
inf-forgot "As you wish."
inf-forgot "It's history."
inf-forget "Done."
inf-forget "Gotcha."
inf-forget "%s's phraase is gone."
inf-forget "%k? Nevermore."
module "modules/irc/karma.pm"