Я получил ошибку при получении всего списка участников из гильдии

#python #python-3.x #discord.py #discord.py-rewrite

#python #python-3.x #discord.py #discord.py-переписать

Вопрос:

Раньше я async for member in guild.fetch_members(limit=None): получал всех участников из выбранной гильдии, и я уже пытался установить для бота разрешение администратора и быть первым среди всех, но все равно возникает та же проблема. Я хочу получить все списки идентификаторов участников из одной гильдии.

 Traceback (most recent call last):
  File "discordclient.py", line 312, in _run_event
  File "Stock.py", line 85, in on_message
  File "discorditerators.py", line 86, in __anext__
  File "discorditerators.py", line 605, in next
  File "discorditerators.py", line 627, in fill_members
  File "discordhttp.py", line 241, in request
discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
 

Комментарии:

1. вам необходимо включить намерения участников на портале разработчика discord и через скрипт

Ответ №1:

если у вас есть guild объект, вы можете получить всех членов id конкретной гильдии с помощью этого кода

 member_id_list = [ member.id for member in guild.members ]
 

Я использовал guild.members, чтобы получить все объекты-члены в гильдии, выполнить итерацию по ним и сохранить каждый идентификатор участника в member_id_list списке. прочитайте документ для получения дополнительной информации!

ПРИМЕЧАНИЕ: убедитесь, что вы включили SERVER MEMBERS INTENT его на своем портале разработчиков discord! и добавьте это в свой код!

 intents = discord.Intents.default()
intents.members = True

client = commands.Bot(command_prefix='amp;',intents = intents)
 

потому что без этого ваш бот не сможет получить всех участников в гильдии!

Ответ №2:

Похоже, с вашим кодом возникла проблема, вы можете попробовать это вместо:

 member_ids = []
for member in guild.members:
    member_ids.append(member.id)
 

Комментарии:

1. Если вы знаете об изменениях в discord, вы будете знать, что вы должны указать намерения использовать эти функции. discord.errors.Forbidden: 403 Forbidden должен сообщить вам, что запрос не был разрешен, поэтому это не проблема с кодом