From 0a910ddb599d134251fe19767b486053319741bc Mon Sep 17 00:00:00 2001 From: Richard Darst Date: Fri, 07 Aug 2009 20:38:12 +0000 Subject: Catch exceptions in outFilter and ignore them - This prevents bugs in the MeetBot supybot plugin from preventing ALL supybot output from getting to the user. - This change catches any exceptions, prints them out, but then continues execution without stopping. darcs-hash:20090807203812-82ea9-0236a25670c0800a43166577e137baf4e8d37d38.gz --- (limited to 'plugin.py') diff --git a/plugin.py b/plugin.py index 0d0d2d5..ec97be7 100644 --- a/plugin.py +++ b/plugin.py @@ -123,16 +123,21 @@ class MeetBot(callbacks.Plugin): """ # Gotta catch my own messages *somehow* :) # Let's try this little trick... - if msg.command in ('PRIVMSG'): - # Note that we have to get our nick and network parameters - # in a slightly different way here, compared to doPrivmsg. - nick = irc.nick - channel = msg.args[0] - payload = msg.args[1] - Mkey = (channel,irc.network) - M = meeting_cache.get(Mkey, None) - if M is not None: - M.addrawline(nick, payload) + try: + if msg.command in ('PRIVMSG'): + # Note that we have to get our nick and network parameters + # in a slightly different way here, compared to doPrivmsg. + nick = irc.nick + channel = msg.args[0] + payload = msg.args[1] + Mkey = (channel,irc.network) + M = meeting_cache.get(Mkey, None) + if M is not None: + M.addrawline(nick, payload) + except: + import traceback + print traceback.print_exc() + print "(above exception in outFilter, ignoring)" return msg # These are admin commands, for use by the bot owner when there -- cgit v0.9.1