From a660ad1ae27601620edde08b25d16c9dc06bed62 Mon Sep 17 00:00:00 2001 From: Jeremiah Boby Date: Fri, 14 Jun 2019 17:58:04 +0100 Subject: Accept uppercase and punctuation for off-topic names Resolves #369 --- bot/cogs/off_topic_names.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bot/cogs/off_topic_names.py b/bot/cogs/off_topic_names.py index 2cdaa2c4f..8fbddde4e 100644 --- a/bot/cogs/off_topic_names.py +++ b/bot/cogs/off_topic_names.py @@ -19,7 +19,7 @@ class OffTopicName(Converter): @staticmethod async def convert(ctx: Context, argument: str): - allowed_characters = ("-", "โ€™", "'", "`") + allowed_characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ!?'`" if not (2 <= len(argument) <= 96): raise BadArgument("Channel name must be between 2 and 96 chars long") @@ -30,11 +30,11 @@ class OffTopicName(Converter): "alphanumeric characters, minus signs or apostrophes." ) - elif not argument.islower(): - raise BadArgument("Channel name must be lowercase") - - # Replace some unusable apostrophe-like characters with "โ€™". - return argument.replace("'", "โ€™").replace("`", "โ€™") + # Replace invalid characters with unicode alternatives. + table = str.maketrans( + allowed_characters, '๐– ๐–ก๐–ข๐–ฃ๐–ค๐–ฅ๐–ฆ๐–ง๐–จ๐–ฉ๐–ช๐–ซ๐–ฌ๐–ญ๐–ฎ๐–ฏ๐–ฐ๐–ฑ๐–ฒ๐–ณ๐–ด๐–ต๐–ถ๐–ท๐–ธ๐–นวƒ๏ผŸโ€™โ€™' + ) + return argument.translate(table) async def update_names(bot: Bot, headers: dict): -- cgit v1.2.3