diff options
Diffstat (limited to 'plugin.py')
| -rw-r--r-- | plugin.py | 29 |
1 files changed, 27 insertions, 2 deletions
@@ -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 |
