diff --git a/oyoyo/services.py b/oyoyo/services.py new file mode 100644 index 0000000..c6a52a6 --- /dev/null +++ b/oyoyo/services.py @@ -0,0 +1,122 @@ +import sys +from helpers import msg + +# NickServ basic functions +_nickservfuncs = ( + 'register', + 'group', + 'glist', + 'identify', + 'access', + 'drop', + 'recover', + 'release', + 'sendpass', + 'ghost', + 'alist', + 'info', + 'list', + 'logout', + 'status', + 'update' +) + +# NickServ SET functions +_nickservsetfuncs = ( + 'display', + 'password', + 'language', + 'url', + 'email', + 'icq', + 'greet', + 'kill', + 'secure', + 'private', + 'hide', + 'msg', + 'autoop' +) + +# ChanServ basic functions +_chanservfuncs = ( + 'register', + 'identify', + 'sop', + 'aop', + 'hop', + 'vop', + 'access', + 'levels', + 'akick', + 'drop', + 'sendpass', + 'ban', + 'unban', + 'clear', + 'owner', + 'deowner', + 'protect', + 'deprotect', + 'op', + 'deop', + 'halfop', + 'dehalfop', + 'voice', + 'devoice', + 'getkey', + 'invite', + 'kick', + 'list', + 'logout', + 'topic', + 'info', + 'appendtopic', + 'enforce' +) + +_chanservsetfuncs = ( + 'founder', + 'successor', + 'password', + 'desc', + 'url', + 'email', + 'entrymsg', + 'bantype', + 'mlock', + 'keeptopic', + 'opnotice', + 'peace', + 'private', + 'restricted', + 'secure', + 'secureops', + 'securefounder', + 'signkick', + 'topiclock', + 'xop' +) + +def _addServ(serv, funcs, prefix=""): + def simplecmd(cmd_name): + if prefix: + cmd_name = prefix.upper() + " " + cmd_name + def f(cli, *args): + print cmd_name, " ".join(args) + #cli.send(cmd_name, serv.name, *args) + return f + for t in funcs: + setattr(serv, t, simplecmd(t.upper())) + +class NickServ(object): + def __init__(self, nick): + self.name = nick + _addServ(self, _nickservfuncs) + _addServ(self, _nickservsetfuncs, "set") + +class ChanServ(object): + def __init__(self, nick): + self.name = nick + _addServ(self, _chanservfuncs) + _addServ(self, _chanservsetfuncs, "set")