From 170ab7b2bb92ba987ed63f8b7688aae0e699da63 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Thu, 31 Mar 2022 04:12:09 -0400 Subject: [PATCH] Improve error when an invalid slash command name is given --- discord/app_commands/commands.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/discord/app_commands/commands.py b/discord/app_commands/commands.py index c49ea851e..f069284c6 100644 --- a/discord/app_commands/commands.py +++ b/discord/app_commands/commands.py @@ -147,14 +147,16 @@ def _to_kebab_case(text: str) -> str: def validate_name(name: str) -> str: match = VALID_SLASH_COMMAND_NAME.match(name) if match is None: - raise ValueError('names must be between 1-32 characters') + raise ValueError( + 'names must be between 1-32 characters and contain only lower-case letters, hyphens, or underscores.' + ) # Ideally, name.islower() would work instead but since certain characters # are Lo (e.g. CJK) those don't pass the test. I'd use `casefold` instead as # well, but chances are the server-side check is probably something similar to # this code anyway. if name.lower() != name: - raise ValueError('names must be all lower case') + raise ValueError('names must be all lower-case') return name