diff --git a/ircbot/bot.py b/ircbot/bot.py index 2afd1d5..4c3f225 100644 --- a/ircbot/bot.py +++ b/ircbot/bot.py @@ -148,12 +148,33 @@ class DrReactor(irc.client.Reactor): log.debug("EVENT: e[%s] s[%s] t[%s] a[%s]", event.type, event.source, event.target, event.arguments) + # set up some default stuff event._recursing = False + event.addressed = False + event.original_msg = None + event.addressed_msg = None + + sender_nick = irc.client.NickMask(event.source).nick + sent_location = ircbotlib.reply_destination_for_event(event) + event.sender_nick = sender_nick + event.sent_location = sent_location + event.in_privmsg = sender_nick == sent_location + self.try_recursion(connection, event) - # only do aliasing for pubmsg/privmsg if event.type in ['pubmsg', 'privmsg']: what = event.arguments[0] + event.original_msg = what + + # check if we were addressed or not + my_nick = connection.get_nickname() + addressed_pattern = r'^{0:s}[:,]\s+(?P.*)'.format(my_nick) + match = re.match(addressed_pattern, what, re.IGNORECASE) + if match: + event.addressed = True + event.addressed_msg = match.group('addressed_msg') + + # only do aliasing for pubmsg/privmsg log.debug("checking for alias for %s", what) for alias in Alias.objects.all():