Permissions是类的名称。要获得消息作者权限,您应该访问
server_permissions作者的属性。
if ctx.message.author.server_permissions.administrator: # you could also use server_permissions.kick_members
更新:
验证调用命令的人的权限的一种更好的方法是使用扩展的检查功能
commands,特别是
has_permissions检查。例如,如果您只想向拥有
manage_roles权限的人打开命令
ban_members,则可以这样编写命令:
from discord import Memberfrom discord.ext.commands import has_permissions, MissingPermissions@bot.command(name="kick", pass_context=True)@has_permissions(manage_roles=True, ban_members=True)async def _kick(ctx, member: Member): await bot.kick(member)@_kick.errorasync def kick_error(error, ctx): if isinstance(error, MissingPermissions): text = "Sorry {}, you do not have permissions to do that!".format(ctx.message.author) await bot.send_message(ctx.message.channel, text)


