diff --git a/ircbot/bot.py b/ircbot/bot.py index c6cb81c..bddb10a 100644 --- a/ircbot/bot.py +++ b/ircbot/bot.py @@ -888,6 +888,19 @@ class IRCBot(irc.client.SimpleIRCClient): if recursing: return replystr else: + # try doing outbound recursion + log.debug("old replystr: %s", replystr) + if event: + fake_event = copy.deepcopy(event) + fake_event.arguments[0] = copy.deepcopy(replystr).replace('{', '[').replace('}', ']') + else: + fake_event = irc.client.Event(type='pubmsg', source='fake', target='fake') + fake_event.arguments.append(copy.deepcopy(replystr).replace('{', '[').replace('}', ']')) + log.debug("hacked replystr: %s", fake_event.arguments[0]) + self.connection.reactor.try_recursion(self.connection, fake_event) + replystr = fake_event.arguments[0] + log.debug("final replystr: %s", replystr) + lines = 0 replies = replystr.split('\n') for reply in replies: