如何允许命令进行一次 discord.py 检查?
How to allow command with one discord.py check?
我在 discord.py 中有一个命令,我想在其中使用 @has_permissions(administrator=True)
,但我希望能够 运行 使用一个命令自定义检查,检查它是否是某个用户,以便 user/role/whatever 可以 运行 命令,无论他们是否有权限。所以我想我的问题是:如果用户至少通过 1 次检查,有没有办法允许命令?提前致谢!
是的,您可以按照此处文档中的说明编写自己的支票:https://discordpy.readthedocs.io/en/master/ext/commands/api.html?highlight=has%20permissions#discord.ext.commands.check
def check_if_it_is_me(ctx):
return ctx.message.author.id == 85309593344815104
@bot.command()
@commands.check(check_if_it_is_me)
async def only_for_me(ctx):
await ctx.send('I know you!')
我找到答案了!查看文档后,我找到了 @commands.check_any()
装饰器。您可以输入检查以供其检查,如果任何输入的检查将通过,它会添加该检查。
在 documentation 中阅读有关此装饰器的更多信息。
我在 discord.py 中有一个命令,我想在其中使用 @has_permissions(administrator=True)
,但我希望能够 运行 使用一个命令自定义检查,检查它是否是某个用户,以便 user/role/whatever 可以 运行 命令,无论他们是否有权限。所以我想我的问题是:如果用户至少通过 1 次检查,有没有办法允许命令?提前致谢!
是的,您可以按照此处文档中的说明编写自己的支票:https://discordpy.readthedocs.io/en/master/ext/commands/api.html?highlight=has%20permissions#discord.ext.commands.check
def check_if_it_is_me(ctx):
return ctx.message.author.id == 85309593344815104
@bot.command()
@commands.check(check_if_it_is_me)
async def only_for_me(ctx):
await ctx.send('I know you!')
我找到答案了!查看文档后,我找到了 @commands.check_any()
装饰器。您可以输入检查以供其检查,如果任何输入的检查将通过,它会添加该检查。
在 documentation 中阅读有关此装饰器的更多信息。