From 877d376988ac1e8cefcabdc5ffe0b4cf41b221fa Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Sat, 22 Nov 2003 06:53:34 +0000 Subject: [PATCH] Restricted the characters that a prefix character can be. --- scripts/supybot-wizard | 7 ++++++- src/Admin.py | 6 ++++-- src/conf.py | 6 ++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/scripts/supybot-wizard b/scripts/supybot-wizard index dfc6a490b..f0a990168 100755 --- a/scripts/supybot-wizard +++ b/scripts/supybot-wizard @@ -439,7 +439,12 @@ def main(): import callbacks conf.prefixChars = anything('What would you like your bot\'s ' 'prefix character(s) to be?') - while callbacks.canonicalName(conf.prefixChars) != conf.prefixChars: + invalidPrefixChar = True + while invalidPrefixChar: + for c in conf.prefixChars: + if c not in conf.validPrefixChars: + invalidPrefixChar = True + myPrint('%r is not a valid prefixChar.' % c) conf.prefixChars = anything('That includes one or more invalid ' 'prefix characters. What would you' 'like your bot\'s prefix character(s)' diff --git a/src/Admin.py b/src/Admin.py index 3fed6fcbb..834f29d8c 100755 --- a/src/Admin.py +++ b/src/Admin.py @@ -244,8 +244,10 @@ class Admin(privmsgs.CapabilityCheckingPrivmsg): Sets the prefix chars by which the bot can be addressed. """ s = privmsgs.getArgs(args) - if s.translate(string.ascii, string.ascii_letters) == '': - irc.error(msg, 'Prefixes cannot contain letters.') + for c in s: + if c not in conf.validPrefixChars: + s = 'PrefixChars must be something in %r'%conf.validPrefixChars + irc.error(msg, s) else: conf.prefixChars = s irc.reply(msg, conf.replySuccess) diff --git a/src/conf.py b/src/conf.py index b0a220217..98add86b1 100644 --- a/src/conf.py +++ b/src/conf.py @@ -222,6 +222,12 @@ ignores = [] ### prefixChars = '@' +### +# validPrefixChars: A string of chars that are allowed to be used as +# prefixChars. +### +validPrefixChars = '`~!@#$%^&*()_-+=[{}]\\|\'";:,<.>/?' + ### # detailedTracebacks: A boolean describing whether or not the bot will give # *extremely* detailed tracebacks. Be cautioned, this eats