首页 > 解决方案 > 如何检查某人是否是管理员[Python中的Discord bot]

问题描述

正如标题所说,我无法检查某人是否是管理员。我尝试了以下代码:

if message.content.startswith("!add"):
    if discord.Member.server_permissions == "administrator" :
        messagePart = message.content.partition(" ")
        places.append(messagePart[2])
        para = discord.Embed(title="List of every landing site", description=show())
        await client.send_message(message.channel, embed=para)
    else :
        return

但我也试过这个:

if message.content.startswith("!add"):
    if message.author.server_permissions.administrator == True:
        messagePart = message.content.partition(" ")
        places.append(messagePart[2])
        para = discord.Embed(title="List of every landing site", description=show())
        await client.send_message(message.channel, embed=para)
    else :
        return

没有任何效果。你能帮助我吗 ?谢谢

标签: pythondiscord

解决方案


如果 message.author.server_permissions.administrator不起作用。

将其更改为message.author.guild_permissions.administrator

或尝试message.author.top_role.permissions.administrator,这将返回一个布尔值。

一件事是,通常服务器所有者将管理员设置为服务器最高角色,所以这在大多数情况下都会起作用。但如果他们不这样做,第三个溶胶就不起作用。


推荐阅读