首页 > 解决方案 > “命令”对象没有属性“has_permissions”

问题描述

@client.command()
@commands.has_permissions(administrator=True)
async def kick(ctx, member : discord.Member, *, reason=None):
    try:
        await member.kick(reason=reason)
        embed = discord.Embed(colour=maincolour)
        embed.title = f"**Member {member.mention} Kicked."
        embed.description = f"**Reason** » {reason}.\n**Status** » Successful!"
        await ctx.send(embed=embed)
    except:
            embed = discord.Embed(colour=maincolour)
            embed.title = "**Kick not successful."
            embed.description = "**Possible Errors:**\n» Insufficient Permissions (Requires Administrator)\n» Error with Bot."
            await ctx.send(embed=embed)

在线上

@commands.has_permissions(administrator=True)

错误是'Command' object has no attribute 'has_permissions'

如何修复此错误?此代码适用于我的朋友。

标签: pythondiscorddiscord.py

解决方案


has_permissions属性不在命令下。这是应该如何正确完成的。

from discord.ext.commands import has_permissions, MissingPermissions

@client.command()
@has_permissions(administrator = True)  
async def test(ctx):
    pass

@test.error
async def test_error(error, ctx):
    if isinstance(error, MissingPermissions):
        await ctx.send("Looks like you don't have the permissions.")

推荐阅读