summaryrefslogtreecommitdiffstats
path: root/plugin.py
diff options
context:
space:
mode:
authorPratyush Desai2021-08-20 17:14:44 +0530
committerPratyush Desai2021-08-20 17:14:44 +0530
commit5039d0b51be13b2d2e8ed1c2e797eb4f6d281114 (patch)
tree845645c22d4a00b3e7d4a33c3fd71abbf3b5320a /plugin.py
parent940ea7f4c924536d913e1a1c4ec6bacf51bcdc2f (diff)
downloadsnoparser-5039d0b51be13b2d2e8ed1c2e797eb4f6d281114.tar.gz
snoparser-5039d0b51be13b2d2e8ed1c2e797eb4f6d281114.tar.bz2
snoparser-5039d0b51be13b2d2e8ed1c2e797eb4f6d281114.zip
switch to rst, add setvhost, use config vars
Diffstat (limited to 'plugin.py')
-rw-r--r--plugin.py29
1 files changed, 27 insertions, 2 deletions
diff --git a/plugin.py b/plugin.py
index fcfc89b..8c3717e 100644
--- a/plugin.py
+++ b/plugin.py
@@ -133,6 +133,10 @@ class SnoParser(callbacks.Plugin):
ip = couple.group(3)
DictFromSnotice = {'notice': 'accreg', 'hostmask': hostmask, 'account': account, 'ip': ip}
repl = f"\x02\x1FNOTICE: accreg -> [{account}] was registered by hostmask [{hostmask}] from IP {ip}"
+
+ # Trigger HS SET
+ self._setvhost(irc, msg, account)
+
self._sendSnotice(irc, msg, repl)
if 'ACCOUNT' in text and 'registered account' in text and 'SAREGISTER' in text:
accregex = "^-ACCOUNT- Operator \[(.*)\] registered account \[(.*)\] with SAREGISTER$"
@@ -141,13 +145,34 @@ class SnoParser(callbacks.Plugin):
account = couple.group(2)
DictFromSnotice = {'notice': 'sareg', 'oper': oper, 'account': account}
repl = f"\x02\x1FNOTICE: sareg -> [{account}] was registered by operator [{oper}]"
+
+ self._setvhost(irc, msg, account)
self._sendSnotice(irc, msg, repl)
+
+ # Post Registration
+ def _setvhost(self, irc, msg, account):
+ arg = ['SET']
+ arg.append(account)
+ vhost = self.registryValue('AutoVhost')
+ arg.append(f'{vhost}{account}')
+ irc.sendMsg(msg=ircmsgs.IrcMsg(command='HS',
+ args=arg))
+
+
+ # Send formatted SNO to channel
def _sendSnotice(self, irc, msg, repl):
- irc.queueMsg(msg=ircmsgs.IrcMsg(command='PRIVMSG',
- args=('#snotices', repl)))
+ try:
+ channel = self.registryValue('targetChannel')
+ if channel[0] == '#':
+ irc.queueMsg(msg=ircmsgs.IrcMsg(command='NOTICE',
+ args=(channel, repl)))
+ # what sort of exception does one raise
+ except:
+ pass
+
Class = SnoParser