Не могу получить список пользователей голосового канала discord
Хочу получить список пользователей при старте бота (on_ready) для дискорда. Канал определяется верно (Проверял по названию и id), однако список пользователей не выводится.
import discord
class MyClient(discord.Client):
async def on_voice_state_update(self, member, before, after):
if after.channel and after.channel != before.channel:
print(f'Пользователь {member.name} защёл в {after.channel.name}')
if before.channel and after.channel != before.channel:
print(f'Пользователь {member.name} вышел из {before.channel.name}')
async def on_ready(self):
main_channel = client.get_channel(611541094747996183)
members = main_channel.voice_channels[0].members
print(members)
client = MyClient()
client.run('token')
У бота абсолютно все права и проставлены все галки на страницы управления им



Ответы (1 шт):
Автор решения: Sanlover
→ Ссылка
Решил проблему, связана была с тем, что в новой версии появились намерения. Решается добавлением intents:
import discord
intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)
# или
# bot = commands.Bot(command_prefix='!', intents=intents)
Источник: https://discordpy.readthedocs.io/en/latest/intents.html
