diff options
Diffstat (limited to 'Reaktor/IRC')
-rw-r--r-- | Reaktor/IRC/ircasy.py | 4 | ||||
-rwxr-xr-x | Reaktor/IRC/reaktor.py | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 99fbc324..38f202fc 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -110,6 +110,7 @@ class asybot(asychat): if command == 'PING': self.push('PONG :%s' % rest) self.log.debug("Replying to servers PING with PONG :%s" %rest) + self.on_ping(prefix, command, params, rest) elif command == 'PRIVMSG': self.on_privmsg(prefix, command, params, rest) @@ -185,6 +186,9 @@ class asybot(asychat): def on_join(self, prefix, command, params, rest): pass + def on_ping(self, prefix, command, params, rest): + pass + def on_privmsg(self, prefix, command, params, rest): pass diff --git a/Reaktor/IRC/reaktor.py b/Reaktor/IRC/reaktor.py index 9a3424a6..799fe555 100755 --- a/Reaktor/IRC/reaktor.py +++ b/Reaktor/IRC/reaktor.py @@ -39,6 +39,12 @@ class Reaktor(asybot): for command in getconf('on_join', []): self.execute_command(command, None, prefix, params) + def on_ping(self, prefix, command, params, rest): + for command in getconf('on_ping', []): + prefix = '!' # => env = { _prefix: '!', _from: '' } + params = command.get('targets') # TODO why don't we get a list here and use ','.join() ? + self.execute_command(command, None, prefix, params) + def on_privmsg(self, prefix, command, params, rest): for command in getconf('commands'): y = match(command['pattern'], rest) |