Список юзеров на сервере
Всем привет! Решил сделать генератор таблицы юзеров на сервере. Начал с обычного получения ников юзеров.
@client.command()
async def members(ctx):
guild = ctx.guild
for member in guild.member:
print(member.nick)
Когда запускаю бота и ввожу комманду на сервере в консоли выводится ник только бота, затем после него следует None. Так вот, мне необходима помощь - как сделать, чтобы выводился полный список юзеров на сервере?
Ответы (1 шт):
Примерно месяц назад шлюз дискорда был обновлен и теперь для того чтобы работать с объектами пользователей нужно выдавать намерения (intents). У вас проблема как раз таки в том, что вы не выдали боту необходимые намерения. Чтобы их выдать, вам нужно при инициализации бота, помимо префикса указать также намерения.
Выдаем боту намерения при объявлении:
client = commands.Bot(command_prefix='/', intents = discord.Intents.all())
Если проблема осталась, то попробуйте включить два пункта на странице вашего бота. Для этого зайдите в раздел приложений и выберите вашего бота. Затем, слева, на вкладке "Bot"
Включите параметры PRESENCE INTENT и SERVER MEMBERS INTENT

