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