@Beeskee4

Как сделать перечисление участников голосового канала Discord?

Я всё-таки научился делать возврат участников голосового канала, но беда: мне нужно, чтобы по мере подключения к голосовому каналу участники дополнялись в Embed, но за место этого, при подключении нового участника имя участника, подключившегося до него меняет на ник участника, только что подключившегося. Помогите! @bot.event в коде есть, просто я его не захватил под копирование.
async def on_voice_state_update( member, before, after ):
		members_list = []
		if after.channel.name == channel.name:
			members_list.append( member.name )
			members = ', '.join( members_list )
			print( members )

			new_emb = discord.Embed( colour = discord.Color.red() )
			new_emb.set_footer( text = 'Virtuoso Bot by Beeskee' )
			new_emb.set_author( name = f'{author_name} ищет себе команду для игры в LoL!', icon_url = author_avatar )
			new_emb.add_field( name = members , value = 'ᅠ' )
			new_emb.add_field( name = f'Примечание:', value = '123', inline = False )
			new_emb.add_field( name = f'Имя призывателя:', value = f'`11`' )
			new_emb.add_field( name = f'Сервер:', value = f'`11`' )
			new_emb.add_field( name = 'Присоединиться:', value = f'[Нажми, чтобы присоединиться]({invite})', inline = False )
			new_emb.set_thumbnail( url = 'https://media4.giphy.com/media/uvl8IUWxxMk1KCKGJ0/giphy.gif' )
			await embed.edit( embed = new_emb )
  • Вопрос задан
  • 191 просмотр
Решения вопроса 1
members_list = [] строится каждый раз при выполнении функции в вашем случае.
В данном случае нужно members_list объявить вне функции, но в данном контексте намного проще будет просто тянуть участников голосового канала из самого канала:
members = ", ".join(m.name for m in after.channel.members)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы