summaryrefslogtreecommitdiff
path: root/autoexec.py
diff options
context:
space:
mode:
Diffstat (limited to 'autoexec.py')
-rw-r--r--autoexec.py55
1 files changed, 27 insertions, 28 deletions
diff --git a/autoexec.py b/autoexec.py
index a1fa52b..978501e 100644
--- a/autoexec.py
+++ b/autoexec.py
@@ -1,12 +1,13 @@
#!/usr/bin/python
import re
+import irc
class Autoexec(object):
def __init__(self):
self.networks = {}
- def onModuleAdd(self, IRC, label, onconnect=None, onregister=None, autojoin=None, usermodes=None, wallet=None, opername=None, opermodes=None, snomasks=None, operexec=None, operjoin=None):
+ def onAddonAdd(self, IRC, label, onconnect=None, onregister=None, autojoin=None, usermodes=None, wallet=None, opername=None, opermodes=None, snomasks=None, operexec=None, operjoin=None):
labels = [v[0] for v in self.networks.values()]
if label in labels:
raise BaseException("Label already exists")
@@ -14,7 +15,7 @@ class Autoexec(object):
raise BaseException("Network already exists")
self.networks[IRC] = (label, onconnect, onregister, autojoin, usermodes, wallet, opername, opermodes, snomasks, operexec, operjoin)
- def onModuleRem(self, IRC):
+ def onAddonRem(self, IRC):
del self.networks[IRC]
def onConnect(self, IRC):
@@ -36,30 +37,24 @@ class Autoexec(object):
if autojoin:
IRC.raw("JOIN %s"%(",".join(autojoin)), origin=self)
- def onRecv(self, IRC, line, data):
- if data is None:
- return
+ def on381(self, IRC, line, origin, target, params, extinfo):
(label, onconnect, onregister, autojoin, usermodes, wallet, opername, opermodes, snomasks, operexec, operjoin) = self.networks[IRC]
- (origin, ident, host, cmd, target, params, extinfo) = data
- if cmd == "381" and opermodes:
- if operexec:
- for line in operexec:
- IRC.raw(line, origin=self)
- if opermodes:
- IRC.raw("MODE %s %s"%(IRC.identity.nick,
- opermodes), origin=self)
- if snomasks:
- IRC.raw("MODE %s +s %s"%(
- IRC.identity.nick, snomasks), origin=self)
- if operjoin:
- IRC.raw("JOIN %s"%(",".join(operjoin)), origin=self)
+ if operexec:
+ for line in operexec:
+ IRC.raw(line, origin=self)
+ if opermodes:
+ IRC.raw("MODE %s %s"%(IRC.identity.nick, opermodes), origin=self)
+ if snomasks:
+ IRC.raw("MODE %s +s %s"%(IRC.identity.nick, snomasks), origin=self)
+ if operjoin:
+ IRC.raw("JOIN %s"%(",".join(operjoin)), origin=self)
class NickServ(object):
def __init__(self):
self.networks = {}
- def onModuleAdd(self, IRC, label, wallet=None, autojoin=None):
+ def onAddonAdd(self, IRC, label, wallet=None, autojoin=None):
labels = [v[0] for v in self.networks.values()]
#print labels
if label in labels:
@@ -68,16 +63,20 @@ class NickServ(object):
raise BaseException("Network already exists")
self.networks[IRC] = (label, wallet, autojoin)
- def onModuleRem(self, IRC):
+ def onAddonRem(self, IRC):
del self.networks[IRC]
- def onRecv(self, IRC, line, data):
- if data is None:
- return
- (origin, ident, host, cmd, target, params, extinfo) = data
+ def onPrivNotice(self, IRC, origin, msg):
+ label, wallet, autojoin = self.networks[IRC]
+ if type(origin) == irc.User and origin.nick.lower() == "nickserv":
+ if re.match("This nickname is registered( and protected)?", msg) and wallet and "%s/NickServ/%s"%(label, IRC.identity.nick.lower()) in wallet.keys():
+ origin.msg("identify %s" % wallet["%s/NickServ/%s" %
+ (label, IRC.identity.nick.lower())])
+ if re.match("You are now identified", msg):
+ if autojoin:
+ IRC.raw("JOIN %s"%(",".join(autojoin)), origin=self)
+
+ def on900(self, IRC, line, origin, target, params, extinfo):
label, wallet, autojoin = self.networks[IRC]
- if target == IRC.identity.nick and origin == "NickServ" and re.match("This nickname is registered( and protected)?.", extinfo) and wallet and "%s/NickServ/%s"%(label, target.lower()) in wallet.keys():
- IRC.user("NickServ").msg("identify %s" % wallet[
- "%s/NickServ/%s"%(label, target.lower())])
- if cmd == "900" and autojoin:
+ if autojoin:
IRC.raw("JOIN %s"%(",".join(autojoin)), origin=self)