mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-21 02:16:09 -05:00
Reserves command names (#2977)
* Reserves command names - Currently, only reserving ``cancel`` - This should only impact matching command qualified names - This also checks aliases - This makes cc and alias use the new module constant with info about this - Module constant is available for use by 3rd party cogs which may dynamically create responses. * Change misleading var name * style * Thanks Flame! * Handles issues with CC
This commit is contained in:
@@ -89,8 +89,12 @@ class Alias(commands.Cog):
|
||||
return False, None
|
||||
|
||||
def is_command(self, alias_name: str) -> bool:
|
||||
"""
|
||||
The logic here is that if this returns true, the name shouldnt be used for an alias
|
||||
The function name can be changed when alias is reworked
|
||||
"""
|
||||
command = self.bot.get_command(alias_name)
|
||||
return command is not None
|
||||
return command is not None or alias_name in commands.RESERVED_COMMAND_NAMES
|
||||
|
||||
@staticmethod
|
||||
def is_valid_alias_name(alias_name: str) -> bool:
|
||||
|
||||
@@ -222,6 +222,9 @@ class CustomCommands(commands.Cog):
|
||||
|
||||
Note: This command is interactive.
|
||||
"""
|
||||
if command in (*self.bot.all_commands, *commands.RESERVED_COMMAND_NAMES):
|
||||
await ctx.send(_("There already exists a bot command with the same name."))
|
||||
return
|
||||
responses = await self.commandobj.get_responses(ctx=ctx)
|
||||
try:
|
||||
await self.commandobj.create(ctx=ctx, command=command, response=responses)
|
||||
@@ -241,7 +244,7 @@ class CustomCommands(commands.Cog):
|
||||
Example:
|
||||
- `[p]customcom create simple yourcommand Text you want`
|
||||
"""
|
||||
if command in self.bot.all_commands:
|
||||
if command in (*self.bot.all_commands, *commands.RESERVED_COMMAND_NAMES):
|
||||
await ctx.send(_("There already exists a bot command with the same name."))
|
||||
return
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user