]>
jfr.im git - erebus.git/blob - modlib.py
1 # Erebus IRC bot - Author: John Runyon
2 # module helper functions, see modules/modtest.py for usage
3 # This file is released into the public domain; see http://unlicense.org/
6 def __init__(self
, desc
):
9 return False #object will test to False
11 return '<modlib.error %r>' % self
.errormsg
16 # default (global) access levels
23 # (channel) access levels
25 MASTER
= -8 #master is {-8,-9}
26 OP
= -5 #op is {-5,-6,-7}
29 PUBLIC
= -2 #anyone (use glevel to control auth-needed)
31 def __init__(self
, name
):
37 def modstart(self
, parent
):
39 for cmd
, func
in self
.hooks
.iteritems():
40 self
.parent
.hook(cmd
, func
)
41 def modstop(self
, parent
):
42 for cmd
, func
in self
.hooks
.iteritems():
43 self
.parent
.unhook(cmd
, func
)
45 def hook(self
, cmd
, needchan
=True, glevel
=ANYONE
, clevel
=PUBLIC
):
47 func
.needchan
= needchan
48 func
.reqglevel
= glevel
49 func
.reqclevel
= clevel
51 self
.hooks
[cmd
] = func
52 if self
.parent
is not None:
53 self
.parent
.hook(cmd
, func
)