From fa3e65d7b1fba3525240676cd33297e23c0f5f18 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Tue, 8 Apr 2003 07:06:28 +0000 Subject: [PATCH] Added configure and proper length coverups for bad words. --- plugins/BadWords.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/BadWords.py b/plugins/BadWords.py index f51ef78a3..ffdeac8df 100644 --- a/plugins/BadWords.py +++ b/plugins/BadWords.py @@ -49,6 +49,17 @@ import ircmsgs import privmsgs import callbacks +def configure(onStart, afterConnect, advanced): + from questions import expect, anything, something, yn + onStart.append('load BadWords') + while yn('Would you like to add some bad words?') == 'y': + words = anything('What words? (separate individual words by spaces)') + onStart.append('addbadwords %s' % words) + +nastyChars = '!@#$' * 256 +def subber(m): + return nastyChars[:len(m.group(1))] + class BadWords(callbacks.Privmsg): def __init__(self): callbacks.Privmsg.__init__(self) @@ -57,13 +68,13 @@ class BadWords(callbacks.Privmsg): def outFilter(self, irc, msg): if hasattr(self, 'regexp') and msg.command == 'PRIVMSG': s = msg.args[1] - s = self.regexp.sub('!@#$', s) + s = self.regexp.sub(subber, s) return ircmsgs.privmsg(msg.args[0], s) else: return msg def makeRegexp(self): - self.regexp = re.compile(r'\b(?:'+'|'.join(self.badwords)+r')\b', re.I) + self.regexp = re.compile(r'\b('+'|'.join(self.badwords)+r')\b', re.I) def addbadword(self, irc, msg, args): ""