From 9cbc766b7c24f4ecda3b3162490c6af1b10cc2a1 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Fri, 3 Oct 2003 08:49:51 +0000 Subject: [PATCH] Fixed to kill bold much more accurately. --- plugins/KillBold.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/KillBold.py b/plugins/KillBold.py index a1195afe9..d3f480340 100644 --- a/plugins/KillBold.py +++ b/plugins/KillBold.py @@ -35,6 +35,8 @@ Removes all bold output by the bot. from baseplugin import * +import re + import ircmsgs import callbacks @@ -47,10 +49,19 @@ def configure(onStart, afterConnect, advanced): from questions import expect, anything, something, yn onStart.append('load KillBold') +# For some stupid reason, this doesn't work. +## boldre = re.compile('(?:\x02([^\x02\x03\x0f]*\x03))|' +## '(?:\x02([^\x02\x0f]*)(?:[\x02\x0f]|$))') +boldre1 = re.compile('(?:\x02([^\x02\x03\x0f]*\x03))') +boldre2 = re.compile('(?:\x02([^\x02\x0f]*)(?:[\x02\x0f]|$))') + class KillBold(callbacks.Privmsg): + priority = 10 def outFilter(self, irc, msg): if msg.command == 'PRIVMSG': - return ircmsgs.privmsg(msg.args[0],msg.args[1].replace('\x02', '')) + s = boldre1.sub(r'\1', msg.args[1]) + s = boldre2.sub(r'\1', s) + return ircmsgs.privmsg(msg.args[0], s) else: return msg