@@ -204,6 +204,8 @@ def __init__(self, configfile=None, nspass=None, backupcfg=False):
204
204
if 'about' not in self .txtcmds .keys ():
205
205
self .addtxtcmd ('about' , {})
206
206
207
+ self .updateConfig ()
208
+
207
209
def clone (self ):
208
210
return BotBase (self .configfile , self .nspass , self .backupcfg )
209
211
@@ -259,7 +261,7 @@ def useradd(self, bot, sender, dest, cmd, args):
259
261
group = args [1 ].lower ()
260
262
261
263
if not group in self .groups :
262
- bot .sendNotice (sender .nick , "Group %s does not exist" % args [1 ])
264
+ bot .sendNotice (sender .nick , "Group %s does not exist" % args [1 ])
263
265
return
264
266
265
267
if not user in self .authUsers :
@@ -274,15 +276,15 @@ def userrm(self, bot, sender, dest, cmd, args):
274
276
group = args [1 ].lower ()
275
277
276
278
if not group in self .groups :
277
- bot .sendNotice (sender .nick , "Group %s does not exist" % group )
279
+ bot .sendNotice (sender .nick , "Group %s does not exist" % group )
278
280
return
279
281
280
282
if not user in self .authUsers :
281
- bot .sendNotice (sender .nick , "User %s is not registered" % args [0 ])
283
+ bot .sendNotice (sender .nick , "User %s is not registered" % args [0 ])
282
284
return
283
285
284
286
if not group in self .authUsers [user ]:
285
- bot .sendNotice (sender .nick , "User %s in not part of group %s" % (args [0 ],group ))
287
+ bot .sendNotice (sender .nick , "User %s in not part of group %s" % (args [0 ],group ))
286
288
return
287
289
288
290
self .authUsers [user ].remove (group )
@@ -293,10 +295,10 @@ def userget(self, bot, sender, dest, cmd, args):
293
295
user = args [0 ].lower ()
294
296
295
297
if not user in self .authUsers :
296
- bot .sendNotice (sender .nick , "User %s is not registered" % args [0 ])
298
+ bot .sendNotice (sender .nick , "User %s is not registered" % args [0 ])
297
299
return
298
300
299
- msg = "%s : %s" % (args [0 ], ", " .join (self .authUsers [user ]))
301
+ msg = "%s : %s" % (args [0 ], ", " .join (self .authUsers [user ]))
300
302
bot .sendNotice (sender .nick , msg )
301
303
302
304
def userall (self , bot , sender , dest , cmd , args ):
@@ -308,10 +310,10 @@ def userall(self, bot, sender, dest, cmd, args):
308
310
groups [group ].add (user )
309
311
310
312
maxlen = len (max (groups .keys (), key = len ))
311
- formatstr = "%%%ds : %%s" % (maxlen * - 1 )
313
+ formatstr = "%%%ds : %%s" % (maxlen * - 1 )
312
314
313
315
for k ,v in groups .items ():
314
- bot .sendNotice (sender .nick , formatstr % (k ,list (v )))
316
+ bot .sendNotice (sender .nick , formatstr % (k ,list (v )))
315
317
316
318
# Ban handling
317
319
def banadd (self , bot , sender , dest , cmd , args ):
@@ -329,10 +331,10 @@ def banget(self, bot, sender, dest, cmd, args):
329
331
user = args [0 ].lower ()
330
332
331
333
if not user in self .banList :
332
- bot .sendNotice (sender .nick , "User %s is not banned" % args [0 ])
334
+ bot .sendNotice (sender .nick , "User %s is not banned" % args [0 ])
333
335
return
334
336
335
- msg = "%s : %s" % (args [0 ], ", " .join (self .banList [user ]))
337
+ msg = "%s : %s" % (args [0 ], ", " .join (self .banList [user ]))
336
338
bot .sendNotice (sender .nick , msg )
337
339
338
340
def banall (self , bot , sender , dest , cmd , args ):
@@ -345,11 +347,11 @@ def banrm(self, bot, sender, dest, cmd, args):
345
347
command = args [1 ].lower ()
346
348
347
349
if not user in self .banList :
348
- bot .sendNotice (sender .nick , "User %s is not registered" % args [0 ])
350
+ bot .sendNotice (sender .nick , "User %s is not registered" % args [0 ])
349
351
return
350
352
351
353
if not command in self .banList [user ]:
352
- bot .sendNotice (sender .nick , "User %s in not banned from using %s" % (args [0 ],command ))
354
+ bot .sendNotice (sender .nick , "User %s in not banned from using %s" % (args [0 ],command ))
353
355
return
354
356
355
357
self .banList [user ].remove (command )
@@ -374,11 +376,11 @@ def grouprm(self, bot, sender, dest, cmd, args):
374
376
cmd = args [1 ].lower ()
375
377
376
378
if not group in self .groups :
377
- bot .sendNotice (sender .nick , "Group %s does not exist" % group )
379
+ bot .sendNotice (sender .nick , "Group %s does not exist" % group )
378
380
return
379
381
380
382
if not cmd in self .groups [group ]['commands' ]:
381
- bot .sendNotice (sender .nick , "Command %s not in group %s" % (cmd , group ))
383
+ bot .sendNotice (sender .nick , "Command %s not in group %s" % (cmd , group ))
382
384
return
383
385
384
386
self .groups [group ]['commands' ].remove (cmd )
@@ -390,7 +392,7 @@ def grouprm(self, bot, sender, dest, cmd, args):
390
392
391
393
def groupget (self , bot , sender , dest , cmd , args ):
392
394
for group ,cmds in self .groups .items ():
393
- bot .sendNotice (sender .nick , "%s : %s" % (group , cmds ))
395
+ bot .sendNotice (sender .nick , "%s : %s" % (group , cmds ))
394
396
395
397
def groupmeta (self , bot , sender , dest , cmd , args ):
396
398
group = args [0 ].lower ()
@@ -399,11 +401,11 @@ def groupmeta(self, bot, sender, dest, cmd, args):
399
401
try :
400
402
value = eval (" " .join (args [2 :]))
401
403
except Exception as e :
402
- bot .sendNotice (sender .nick , "Exception : %s" % e )
404
+ bot .sendNotice (sender .nick , "Exception : %s" % e )
403
405
return
404
406
405
407
if not group in self .groups :
406
- bot .sendNotice (sender .nick , "Group %s does not exist" % group )
408
+ bot .sendNotice (sender .nick , "Group %s does not exist" % group )
407
409
return
408
410
409
411
self .groups [group ][key ] = value
@@ -416,21 +418,21 @@ def addtxtcmd(self, cmd, data):
416
418
data = self .addmissingkeys (data )
417
419
self .txtcmds [cmd .lower ()] = data
418
420
if data ['text' ] and data ['text' ] != '' :
419
- self .registerCommand (cmd .lower (), self .txtcmd , data .get ('groups' ), 0 , 0 , '' , data .get ('helpdesc' , '' ), showhelp = data .get ('showhelp' , True ), allowpub = data .get ('allowpub' , True ))
421
+ self .registerCommand (cmd .lower (), self .txtcmd , data .get ('groups' ), 0 , 0 , '' , data .get ('helpdesc' , '' ). encode ( 'ascii' ) , showhelp = data .get ('showhelp' , True ), allowpub = data .get ('allowpub' , True ))
420
422
else :
421
423
self .logger .warning ('Attempted to register duplicate command %s' % cmd )
422
424
423
425
def addmissingkeys (self , data ):
424
426
if 'groups' not in data .keys ():
425
427
data ['groups' ] = ['any' ]
426
428
if 'helpdesc' not in data .keys ():
427
- data ['helpdesc' ] = ''
429
+ data ['helpdesc' ] = u ''
428
430
if 'showhelp' not in data .keys ():
429
431
data ['showhelp' ] = True
430
432
if 'allowpub' not in data .keys ():
431
433
data ['allowpub' ] = True
432
434
if 'text' not in data .keys ():
433
- data ['text' ] = ''
435
+ data ['text' ] = u ''
434
436
return data
435
437
436
438
def txtcmd (self , bot , sender , dest , cmd , args ):
@@ -451,14 +453,14 @@ def helpcmd(self, bot, sender, dest, cmd, args):
451
453
continue
452
454
if 'any' in cmdval ['groups' ]:
453
455
if showall :
454
- bot .sendOutput (dest , formatstr % (cmd , cmdval ['descargs' ], cmdval ['desccmd' ]))
456
+ bot .sendOutput (dest , formatstr % (cmd , cmdval ['descargs' ], cmdval ['desccmd' ]))
455
457
else :
456
458
allowedcmds .append (cmd )
457
459
elif sender .regnick .lower () in self .authUsers :
458
460
groups = self .authUsers [sender .regnick .lower ()]
459
461
if 'admin' in groups or len (groups .intersection (set (cmdval ['groups' ]))) > 0 :
460
462
if showall :
461
- bot .sendOutput (dest , formatstr % (cmd , cmdval ['descargs' ], cmdval ['desccmd' ]))
463
+ bot .sendOutput (dest , formatstr % (cmd , cmdval ['descargs' ], cmdval ['desccmd' ]))
462
464
else :
463
465
allowedcmds .append (cmd )
464
466
@@ -472,13 +474,13 @@ def helpcmd(self, bot, sender, dest, cmd, args):
472
474
else :
473
475
if args [0 ] in self .cmdHandler .commands :
474
476
showhelp = False
475
- cmdval = self .cmdHandler .commands [args [0 ]]
477
+ cmdval = self .cmdHandler .commands [args [0 ]. lower () ]
476
478
if cmdval ['showhelp' ]:
477
479
if 'any' in cmdval ['groups' ]:
478
480
showhelp = True
479
481
elif sender .nick .lower () in self .authUsers :
480
482
groups = self .authUsers [sender .regnick .lower ()]
481
- showhelp = 'admin' in groups or len (groups .intersection (set (cmdval ['groups' ]))) > 0
483
+ showhelp = len (groups .intersection (set (cmdval ['groups' ]))) > 0
482
484
if not showhelp :
483
485
bot .sendNotice (sender .nick , "§BYou do not have permission to use the command for which help was requested." )
484
486
else :
0 commit comments