-
Notifications
You must be signed in to change notification settings - Fork 2
/
config.py.example
332 lines (299 loc) · 10.7 KB
/
config.py.example
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
#!/usr/bin/env python
# _ ________ #
# _________ (_) __/ __/__ __ #
# / ___/ __ \/ / /_/ /_ / / / / #
# (__ ) /_/ / / __/ __// /_/ / #
# /____/ .___/_/_/ /_/ \__, / #
# /_/ /____/ #
# #
#-#-#-#-#-#-#-#-#-#-#-#-# GENERAL #-#-#-#-#-#-#-#-#-#-#-#-#
# #
# nick - The nickname and alternative nicknames to use when
# connecting to an IRC server
#
# If nick is a list the first nickname in the list will be the
# primary nickname and the rest alternative nicknames.
#
# Use 'spiffy' as your primary nickname and 'yffips' if someone
# else is already using 'spiffy' on the network:
# nick = ['spiffy', 'yffips']
#
# The default nickname is 'spiffy'.
#
nick = 'spiffy'
#
# user - The username that is sent to the IRC server
#
# If no username is specified the value of nick is used.
#
user = 'spiffy'
#
# password - The password sent to the server when connecting
#
# Most servers don't require a password, it's probably safe to set
# the password to None.
#
password = None
#
# name - The 'real name' of the user
#
# If no name is specified the value of nick is used.
#
name = "spiffy - http://github.com/liato/spiffy"
#
# channels - A list of channels to join.
#
# Separate the channel key with a space.
#
channels = ['#spiffy secretpassword', '#help']
#
# versionreply - The text to send back when a user sends a
# version request using CTCP
#
# To disable version reply:
# versionreply = None
#
versionreply = "I'm spiffy!"
#
# ownermask - A regular expression matching the bots owners hostmask
#
# When a user attempts to execute an 'admin-only' command ownermask
# is matched against this users nick!user@host.
#
# To let anyone with the nickname 'spaffy' execute admin commands:
# ownermask = 'spaffy!'
#
# To let anyone with a username starting with
# 'foo' execute admin commands:
# ownermask = '.+!~?foo[^@]+'
#
# To let anyone connecting from sweden execute admin commands:
# ownermask = r'\.se$'
#
# If the ownermask is set to None no admin commands will execute:
# ownermask = None
#
ownermask = '@(127.0.0.1|localhost)'
#
# prefix - A singe character used to trigger commands
#
# The first word after the prefix will be matched against known
# commands and thereafter the command, if found, will be executed.
#
# !help args
# / | \-- args to the command
# prefix = ! --/ |
# |-- command = help
#
# Execute the help command by writing !help in a channel:
# prefix = '!'
#
# Execute the commands command by writing @commands in a channel:
# prefix = '@'
#
# The default prefix is !:
prefix = '!'
#
# chandebug - Print error messages to channel
#
# Set to False if you don't want error messages from plugins
# to be sent to the channel where the command was issued:
# chandebug = False
#
# The default setting is to enable error printing:
chandebug = True
#
# silent - Make the bot act like an observer
#
# This option essentially disables any error messages (even user invoked)
# and makes the bot look like a regular user.
#
# Note that setting this option to True supresses error printing even if
# chandebug is set to True. This option also disables the -h switch for
# all plugins.
#
# The default setting is to enable error printing:
silent = False
# #
#-#-#-#-#-#-#-#-#-#-#-#-##-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#-#-#-#-#-#-#-#-#-#-#-#-# PLUGINS #-#-#-#-#-#-#-#-#-#-#-#-#
# #
# plugins_exclude - A list of plugins to exclude
#
# Normally all plugins from the 'plugins' directory are loaded.
# If you wish to prevent some of the plugins to load you need
# to include the filenames in plugins_exclude.
# If not file extension is specified '.py' is assumed.
# Prevent the imdb and cmd plugin from loading:
# plugins_exclude = ['imdb', 'cmd']
# or
# plugins_exclude = ['imdb.py', 'cmd.py']
#
# The default setting is to load all plugins:
plugins_exclude = []
#
# plugins_include - A list of plugins to load
#
# Normally all plugins from the 'plugins' directory are loaded.
# If you only want specific plugins to load you have to put all
# the filenames in plugins_include.
# Note that this setting takes precedence over all other plugins
# settings.
# If no file extension is specified '.py' is assumed.
# Don't load any plugins:
# plugins_include = []
#
# Only load the imdb and cmd plugin:
# plugins_include = ['imdb', 'cmd']
# or
# plugins_include = ['imdb.py', 'cmd.py']
#
# Disable this setting:
# plugins_include = False
#
# The default setting is to load all plugins:
plugins_include = False
#
# timezone - Timezone to use instead of the local timezone.
#
# This setting requires the pytz library from:
# http://pypi.python.org/pypi/pytz/
#
# If a valid timezone is set the plugins will be able to get the
# the datetime of the specified timezone by using self.localtime()
# instead of datetime.datetime.now().
# This setting is useful if your server is located in a different
# timezone than you.
# A list of all valid timezones can be found in pytz.all_timezones
#
# The default setting is to use the local timezone:
timezone = None
# #
#-#-#-#-#-#-#-#-#-#-#-#-##-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#-#-#-#-#-#-#-#-#-#-#-#-# LOGGING #-#-#-#-#-#-#-#-#-#-#-#-#
# #
# pathname - The path to the log files/database
#
# For plain text logging logpath can be a relative
# or absolute path:
# logpath = "logfiles/"
# or
# logpath = "C:\Windows\logs\irc\"
# or
# logpath = "/home/spiffy/logs/"
#
# For sqlite logging logpath should start with sqlite://.
# If the optional filename is not specified 'logs.s3db'
# will be used:
# logpath = "sqlite://logfiles/"
# or
# logpath = "sqlite://C:\Windows\logs\irc\"
# or
# logpath = "sqlite:///home/spiffy/logs/logs.db"
# or
# logpath = "sqlite://mylogs.db"
#
# For mysql logging logpath should use the following format:
# mysql://user:password@host[:port]/database
# logpath = "mysql://spiffy:omfg@mysql.mywebhost.com:3306/logs"
# or
# logpath = "mysql://irc:passlord@localhost/spiffy"
#
# To disable logging completly set logpath to None:
# logpath = None
#
# The default is plaintext logging to the logs directory:
logpath = 'logs/'
#
# logevents - A list of events to log
#
# For anything to be logged a list of events has to be specified.
# Avaiable events are:
# 332 - Channel topic is received.
# 333 - Nick and set date for channel topic is received.
# JOIN - A user joins a channel.
# KICK - A user is kicked from a channel.
# MODE - Channel modes are changed.
# NICK - A user changes nickname.
# NOTICE - A user sends a notice to a channel or user.
# PART - A user parts a channel.
# PRIVMSG - A user sends a message to a channel or user.
# QUIT - A user quits IRC.
# TOPIC - A user changes the topic in a channel.
#
# To only log what is being said in a channel:
# logevents = ['PRIVMSG', 'NOTICE']
#
# To only log topic changes:
# logevents = ['TOPIC']
#
# The default is to log all available events:
logevents = ['332', '333', 'JOIN', 'KICK', 'MODE', 'NICK',
'NOTICE', 'PART', 'PRIVMSG', 'QUIT', 'TOPIC']
# #
#-#-#-#-#-#-#-#-#-#-#-#-##-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#-#-#-#-#-#-#-#-#-#-#-#-# NETWORK SETTINGS #-#-#-#-#-#-#-#-#-#-#-#-#
# #
# networks - A dict of networks to connect to
#
# The networks setting should contain atleast one network with
# atleast one host with an optional port.
#
# Server specific settings can be made here by giving a key in
# a network dict the same name as a setting variable.
# Settings are first loaded from the config file and then
# overwritten by network specific settings specified bellow.
#
# Connect to QuakeNet on port 6667 with the defaults settings:
# networks = {
# 'quakenet': {
# 'host': 'irc.quakenet.org'
# }
# }
#
# To connect using SSL you need to prefix the port with a '+'.
# Connect to ChatSpike using SSL and default settings:
# networks = {
# 'chatspike': {
# 'host': 'irc.chatspike.net:+6668'
# }
# }
#
# The 'host' key can also be a list of hosts, when the bot fails
# to connect or disconnects from one server it automatically
# jumps to the next one.
# The list of servers can not contain both SSL and non SSL
# servers at the same time:
# networks = {
# 'quakenet': {
# 'host': ['jubii.dk.quakenet.org',
# 'euroserv.fr.quakenet.org:6667']
# }
# }
#
# Connect to QuakeNet with a different nickname and different
# channels to join:
# networks = {
# 'quakenet': {
# 'host': 'irc.quakenet.org',
# 'nick': 'yffips',
# 'channels': ['#halflife', '#idlers']
# }
# }
#
# Connect to QuakeNet and freenode with a different settings:
# networks = {
# 'quakenet': {
# 'host': 'irc.quakenet.org',
# 'nick': 'gamer',
# 'channels': ['#halflife', '#idlers']
# 'freenode': {
# 'host': ['kornbluth.freenode.net', 'orwell.freenode.net'],
# 'nick': 'coder',
# 'channels': ['#spiffy', '#python', '#help'],
# 'logpath': 'sqlite://logs/freenode.db',
# 'logevents': ['JOIN', 'KICK','NOTICE', 'PART', 'PRIVMSG']
# }
# }
# #
#-#-#-#-#-#-#-#-#-#-#-#-##-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#