From 6ccd1ce3d6e1c2986a2aadd05aae5bd7d1bb011f Mon Sep 17 00:00:00 2001 From: Daniel Folkinshteyn Date: Tue, 15 Jun 2010 23:53:15 -0400 Subject: [PATCH] ChannelLogger: include in logs the reasons for parts and quits --- plugins/ChannelLogger/plugin.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/plugins/ChannelLogger/plugin.py b/plugins/ChannelLogger/plugin.py index 6296cccbc..ac08631b7 100644 --- a/plugins/ChannelLogger/plugin.py +++ b/plugins/ChannelLogger/plugin.py @@ -226,10 +226,14 @@ class ChannelLogger(callbacks.Plugin): '*** %s was kicked by %s\n', target, msg.nick) def doPart(self, irc, msg): + if len(msg.args) > 1: + reason = " (%s)" % msg.args[1] + else: + reason = "" for channel in msg.args[0].split(','): self.doLog(irc, channel, - '*** %s <%s> has left %s\n', - msg.nick, msg.prefix, channel) + '*** %s <%s> has left %s%s\n', + msg.nick, msg.prefix, channel, reason) def doMode(self, irc, msg): channel = msg.args[0] @@ -247,13 +251,17 @@ class ChannelLogger(callbacks.Plugin): '*** %s changes topic to "%s"\n', msg.nick, msg.args[1]) def doQuit(self, irc, msg): + if len(msg.args) == 1: + reason = " (%s)" % msg.args[0] + else: + reason = "" if not isinstance(irc, irclib.Irc): irc = irc.getRealIrc() for (channel, chan) in self.lastStates[irc].channels.iteritems(): if msg.nick in chan.users: self.doLog(irc, channel, - '*** %s <%s> has quit IRC\n', - msg.nick, msg.prefix) + '*** %s <%s> has quit IRC%s\n', + msg.nick, msg.prefix, reason) def outFilter(self, irc, msg): # Gotta catch my own messages *somehow* :)