从公会获取所有成员列表时出错
I got error while getting all the list of members from guild
我使用 async for member in guild.fetch_members(limit=None):
从所选公会中获取所有成员,并且我已经尝试将 bot 的权限设置为管理员和所有人,但仍然存在同样的问题。我想获取单个公会的所有成员ID列表。
Traceback (most recent call last):
File "discord\client.py", line 312, in _run_event
File "Stock.py", line 85, in on_message
File "discord\iterators.py", line 86, in __anext__
File "discord\iterators.py", line 605, in next
File "discord\iterators.py", line 627, in fill_members
File "discord\http.py", line 241, in request
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
如果你有 guild
对象你可以通过此代码
获取特定公会中的所有成员 id
member_id_list = [ member.id for member in guild.members ]
我使用 guild.members 获取公会中的所有成员对象并遍历它,并将每个成员 ID 保存在 member_id_list
列表中。阅读文档以获取更多信息!
注意:确保您在 discord 开发者门户中启用了 SERVER MEMBERS INTENT
!并将其添加到您的代码中!
intents = discord.Intents.default()
intents.members = True
client = commands.Bot(command_prefix='&',intents = intents)
因为没有它,您的机器人无法获取公会中的所有成员!
你的代码好像有问题,你可以试试这个:
member_ids = []
for member in guild.members:
member_ids.append(member.id)
我使用 async for member in guild.fetch_members(limit=None):
从所选公会中获取所有成员,并且我已经尝试将 bot 的权限设置为管理员和所有人,但仍然存在同样的问题。我想获取单个公会的所有成员ID列表。
Traceback (most recent call last):
File "discord\client.py", line 312, in _run_event
File "Stock.py", line 85, in on_message
File "discord\iterators.py", line 86, in __anext__
File "discord\iterators.py", line 605, in next
File "discord\iterators.py", line 627, in fill_members
File "discord\http.py", line 241, in request
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
如果你有 guild
对象你可以通过此代码
id
member_id_list = [ member.id for member in guild.members ]
我使用 guild.members 获取公会中的所有成员对象并遍历它,并将每个成员 ID 保存在 member_id_list
列表中。阅读文档以获取更多信息!
注意:确保您在 discord 开发者门户中启用了 SERVER MEMBERS INTENT
!并将其添加到您的代码中!
intents = discord.Intents.default()
intents.members = True
client = commands.Bot(command_prefix='&',intents = intents)
因为没有它,您的机器人无法获取公会中的所有成员!
你的代码好像有问题,你可以试试这个:
member_ids = []
for member in guild.members:
member_ids.append(member.id)