mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-12-05 17:02:32 -05:00
* Check if it has a privilege level
* Let's fix this in warnings too
(cherry picked from commit 5e527cb27d)
Co-authored-by: aleclol <50505980+aleclol@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
Co-authored-by: aleclol <50505980+aleclol@users.noreply.github.com>
Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
@@ -55,7 +55,8 @@ async def create_and_invoke_context(
|
|||||||
await realctx.bot.invoke(fctx)
|
await realctx.bot.invoke(fctx)
|
||||||
except (commands.CheckFailure, commands.CommandOnCooldown):
|
except (commands.CheckFailure, commands.CommandOnCooldown):
|
||||||
# reinvoke bypasses checks and we don't want to run bot owner only commands here
|
# reinvoke bypasses checks and we don't want to run bot owner only commands here
|
||||||
if fctx.command.requires.privilege_level < PrivilegeLevel.BOT_OWNER:
|
privilege_level = fctx.command.requires.privilege_level
|
||||||
|
if privilege_level is None or privilege_level < PrivilegeLevel.BOT_OWNER:
|
||||||
await fctx.reinvoke()
|
await fctx.reinvoke()
|
||||||
|
|
||||||
|
|
||||||
@@ -71,7 +72,8 @@ def get_command_from_input(bot, userinput: str):
|
|||||||
if com is None:
|
if com is None:
|
||||||
return None, _("I could not find a command from that input!")
|
return None, _("I could not find a command from that input!")
|
||||||
|
|
||||||
if com.requires.privilege_level >= PrivilegeLevel.BOT_OWNER:
|
privilege_level = com.requires.privilege_level
|
||||||
|
if privilege_level is not None and privilege_level >= PrivilegeLevel.BOT_OWNER:
|
||||||
return (
|
return (
|
||||||
None,
|
None,
|
||||||
_("That command requires bot owner. I can't allow you to use that for an action"),
|
_("That command requires bot owner. I can't allow you to use that for an action"),
|
||||||
|
|||||||
@@ -4418,9 +4418,10 @@ class Core(commands.commands._RuleDropper, commands.Cog, CoreLogic):
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
if command.requires.privilege_level > await PrivilegeLevel.from_ctx(ctx):
|
if command.requires.privilege_level is not None:
|
||||||
await ctx.send(_("You are not allowed to disable that command."))
|
if command.requires.privilege_level > await PrivilegeLevel.from_ctx(ctx):
|
||||||
return
|
await ctx.send(_("You are not allowed to disable that command."))
|
||||||
|
return
|
||||||
|
|
||||||
async with ctx.bot._config.guild(ctx.guild).disabled_commands() as disabled_commands:
|
async with ctx.bot._config.guild(ctx.guild).disabled_commands() as disabled_commands:
|
||||||
if command.qualified_name not in disabled_commands:
|
if command.qualified_name not in disabled_commands:
|
||||||
@@ -4489,9 +4490,10 @@ class Core(commands.commands._RuleDropper, commands.Cog, CoreLogic):
|
|||||||
**Arguments:**
|
**Arguments:**
|
||||||
- `<command>` - The command to enable for the current server.
|
- `<command>` - The command to enable for the current server.
|
||||||
"""
|
"""
|
||||||
if command.requires.privilege_level > await PrivilegeLevel.from_ctx(ctx):
|
if command.requires.privilege_level is not None:
|
||||||
await ctx.send(_("You are not allowed to enable that command."))
|
if command.requires.privilege_level > await PrivilegeLevel.from_ctx(ctx):
|
||||||
return
|
await ctx.send(_("You are not allowed to enable that command."))
|
||||||
|
return
|
||||||
|
|
||||||
async with ctx.bot._config.guild(ctx.guild).disabled_commands() as disabled_commands:
|
async with ctx.bot._config.guild(ctx.guild).disabled_commands() as disabled_commands:
|
||||||
with contextlib.suppress(ValueError):
|
with contextlib.suppress(ValueError):
|
||||||
|
|||||||
Reference in New Issue
Block a user