首页 > 解决方案 > client.get_guild(id).members 抛出 AttributeError

问题描述

所以我正在为我的服务器实现一个不和谐的机器人,我想做的是该机器人获取一个文件(称为“counselors.txt”),它会遍历服务器中的所有成员,如果他们有特定的角色然后他们被写入该文件。但是每次我尝试使用以下代码来实现它时:

def extractAdmins():
    f = open("counselors.txt", "w")
    guild = client.get_guild(guild_id_num)
    for member in guild.members:
        for role in member.roles:
            if role == "admin" or role == "EstudianteOrientador":
                f.write(member.name + '\n')
    f.close()

我收到此错误:

Traceback (most recent call last):
  File "/Users/bermed28/Desktop/pyBot/bot.py", line 36, in <module>
    extractAdmins()
  File "/Users/bermed28/Desktop/pyBot/bot.py", line 20, in extractAdmins
    for member in guild.members:
AttributeError: 'NoneType' object has no attribute 'members'

我知道 AttributeError 意味着 Guild 由于某种原因为空,但我从服务器获得了正确的公会 ID,所以我不知道出了什么问题。有什么帮助吗?

标签: pythonpython-3.6discord.pydiscord.py-rewrite

解决方案


您必须填写guild_id_num身份证号码。确保在设置中打开了开发人员模式,然后右键单击您的服务器并单击“复制 ID”以获取 ID。


推荐阅读