echo: a simple echo plugin

This commit is contained in:
Brian S. Stephan 2015-05-15 18:22:13 -05:00
parent 5716e285b6
commit 67411ad0bc
1 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,37 @@
import logging
from ircbot.lib import Plugin, reply_destination_for_event
log = logging.getLogger('ircbot.lib')
class Echo(Plugin):
"""Have IRC commands to do IRC things (join channels, quit, etc.)."""
def start(self):
"""Set up the handlers."""
self.connection.reactor.add_global_regex_handler('pubmsg', r'^!echo\s+(.*)$',
getattr(self, 'handle_echo'), -20)
self.connection.reactor.add_global_regex_handler('privmsg', r'^!echo\s+(.*)$',
getattr(self, 'handle_echo'), -20)
super(Echo, self).start()
def stop(self):
"""Tear down handlers."""
self.connection.reactor.remove_global_regex_handler('pubmsg', getattr(self, 'handle_echo'))
self.connection.reactor.remove_global_regex_handler('privmsg', getattr(self, 'handle_echo'))
super(Echo, self).stop()
def handle_echo(self, connection, event, match):
"""Handle the echo command... by echoing."""
return self.bot.reply(event, match.group(1))
plugin = Echo