我无法让机器人写您没有使用该命令的权限

时间:2020-06-28 19:11:42

标签: discord.py

我创建了很多审核命令,只允许管理员使用。我也很想制定这样的方案:如果没有权限使用此命令的人写了,机器人会发送一条消息。您无权使用此命令。请帮我解决这个问题!

@client.command()
@commands.has_permissions(view_audit_log=True)
async def ban(ctx,member:discord.Member,reason):
    emb = discord.Embed(title="ban",color=0xff0000)
    emb.add_field(name='Модератор',value=ctx.message.author.mention,inline=False)
    emb.add_field(name='Нарушитель',value=member.mention,inline=False)
    emb.add_field(name='Причина',value=reason,inline=False)
    await member.ban()
    await channel.send(embed = emb)

1 个答案:

答案 0 :(得分:0)

您可以使用error handler

@client.command()
@commands.has_permissions(view_audit_log=True)
async def ban(ctx,member:discord.Member,reason):
    emb = discord.Embed(title="ban",color=0xff0000)
    emb.add_field(name='Модератор',value=ctx.message.author.mention,inline=False)
    emb.add_field(name='Нарушитель',value=member.mention,inline=False)
    emb.add_field(name='Причина',value=reason,inline=False)
    await member.ban()
    await channel.send(embed = emb)

@ban.error
async def ban_error(ctx, error):
    if isinstance(error, commands.MissingPermissions):
        await ctx.send('You do not have the required permissions to use this command.')