else:
stringbase = str
+"""Used to return an error to the bot core."""
class error(object):
- """Used to return an error to the bot core."""
def __init__(self, desc):
self.errormsg = desc
def __nonzero__(self):
MANAGER = 99
ADMIN = 75
STAFF = 50
- AUTHED = 0
- ANYONE = -1
- IGNORED = -2
+ KNOWN = 1
+ AUTHED = 0 # Users which have are known to be authed
+ ANYONE = -1 # non-authed users have glevel set to -1
+ IGNORED = -2 # The default reqglevel is ANYONE, so any commands will be ignored from IGNORED users unless the command reglevel=-2
+ glevs = {
+ 'OWNER': OWNER,
+ 'MANAGER': MANAGER,
+ 'ADMIN': ADMIN,
+ 'STAFF': STAFF,
+ 'KNOWN': KNOWN,
+ 'AUTHED': AUTHED,
+ 'ANYONE': ANYONE,
+ 'IGNORED': IGNORED,
+ }
# (channel) access levels
COWNER = 5
MASTER = 4
OP = 3
VOICE = 2
- KNOWN = 1
- PUBLIC = 0 #anyone (use glevel to control auth-needed)
- BANNED = -1
+ #KNOWN = 1 is set above by glevels
+ PUBLIC = 0 # Anyone (use glevel to control whether auth is needed)
+ BANNED = -1 # The default reqclevel is PUBLIC, so any commands which needchan will be ignored from BANNED users unless the command reqclevel=-1
# [ 0 1 2 3 4 5 -1]
clevs = [None, 'Friend', 'Voice', 'Op', 'Master', 'Owner', None]
if isinstance(cmd, stringbase):
cmd = (cmd,)
+ if clevel > self.PUBLIC and not needchan:
+ raise Exception('clevel must be left at default if needchan is False')
+
func.needchan = needchan
func.wantchan = wantchan
func.reqglevel = glevel