如何让 Nextcord 机器人告诉用户他们没有足够的权限?

How do you make a Nextcord bot tell a user that they have insufficient permissions?

您如何让 Nextcord 机器人在聊天中发送消息,告诉用户他们在使用 @application_checks 时没有足够的权限?例如:

@bot.slash_command()
@application_checks.has_permissions(manage_messages=True)
async def testperms(interaction: Interaction):
    await interaction.response.send_message('You can manage messages.')

你如何让它告诉用户如果他们没有权限他们不能管理消息(等)?

说明

与常规消息命令一样,您可以使用以下装饰器检查检查或斜线命令引发的任何错误:@testperms.error

在此错误处理函数中,您可以检查引发的错误是否属于ApplicationMissingPermissions类型,然后发送错误消息以响应交互。

代码

@bot.slash_command()
@application_checks.has_permissions(manage_messages=True)
async def testperms(interaction: Interaction):
    await interaction.response.send_message('You can manage messages.')


@testperms.error
async def on_testperms_error(interaction: Interaction, error):
    if isinstance(error, application_checks.ApplicationMissingPermissions):
        await interaction.response.send_message("You cannot manage messages.")
    else:
        raise error

参考

ApplicationMissingPermissions

application_checks