我没有太多要说的,我正在尝试使用python制作一个不和谐的机器人。
这个命令就在我做的时候
+permissions <user>
它显示了用户权限的列表
继承人的问题:
因此,开头的权限是“管理员”
并且取决于用户是否拥有该权限,它会显示一条唯一的消息,说明他是否拥有该权限
正如你在这里看到的那样
if ctx.message.user.server_permissions.administrator == True:
embed.add_field(name="Administrator", value=":white_ckeck_mark: Permission Granted!", inline=True)
if ctx.message.user.server_permissions.administrator == False:
embed.add_field(name="Administrator", value=":x: Permission Denied!", inline=True)
但它显示错误说我没有归咎于一个论点(用户)
所有代码
@bot.command(pass_context=True)
async def permissions(ctx, user: discord.Member):
embed = discord.Embed(name="USER_PERMISSIONS", description="------------------------------------------------------", color=0x0099ff)
embed.set_author(name="USER_PERMISSIONS: {}'s Permissions".format(user.name))
if ctx.message.user.server_permissions.administrator == True:
embed.add_field(name="Administrator", value=":white_ckeck_mark: Permission Granted!", inline=True)
if ctx.message.user.server_permissions.administrator == False:
embed.add_field(name="Administrator", value=":x: Permission Denied!", inline=True)
if ctx.message.user.server_permissions.view_audit_logs == True:
embed.add_field(name="View Audit Logs", value=":white_ckeck_mark: Permission Granted!", inline=True)
if ctx.message.user.server_permissions.view_audit_logs == False:
embed.add_field(name="View Audit Logs", value=":x: Permission Denied!", inline=True)
embed.set_thumbnail(url=user.avatar_url)
embed.set_footer(text="Requested by {}".format(author), icon_url=author.avatar_url)
await bot.say(embed=embed)
这是工作代码
@bot.command(pass_context=True)
async def permissions(ctx, user: discord.Member):
embed = discord.Embed(name="USER_PERMISSIONS", description="------------------------------------------------------", color=0x0099ff)
embed.set_author(name="USER_PERMISSIONS: {}'s Permissions".format(user.name))
if user.server_permissions.administrator == True:
embed.add_field(name="Administrator", value=":white_check_mark: Permission Granted!", inline=True)
if user.server_permissions.administrator == False:
embed.add_field(name="Administrator", value=":x: Permission Denied!", inline=True)
if user.server_permissions.view_audit_logs == True:
embed.add_field(name="View Audit Logs", value=":white_check_mark: Permission Granted!", inline=True)
if user.server_permissions.view_audit_logs == False:
embed.add_field(name="View Audit Logs", value=":x: Permission Denied!", inline=True)
embed.set_thumbnail(url=user.avatar_url)
embed.set_footer(text="Requested by {}".format(ctx.message.author), icon_url=ctx.message.author.avatar_url)
await bot.say(embed=embed)
有几件事,首先你不需要使用ctx.message.user.server_permissions
,如果你已经初始化了用户是什么,所以只需使用user.server_permissions
,因为ctx.message
没有名为“user”的属性
其次作者没有定义,使用ctx.author
来显示发送消息的人
最后你拼错了:white_check_mark:
希望这有帮助!