Как я могу получить участников канала (Discord.py )

#python #discord #discord.py

#python #Discord #discord.py

Вопрос:

Мне нужно получить только пользователей моего канала, но я не нашел функцию, которая возвращает желаемый результат. Есть функция, позволяющая получить всех пользователей бота: get_all_members() , но она делает не совсем то, что мне нужно. Я хочу получить псевдонимы пользователей. Помогите мне найти решение моей проблемы.

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

1. discordpy.readthedocs.io/en/latest/… Как только у вас есть channel объект, вы можете просто сделать channel.members

2. Я не могу отправлять пользователей в чат, я получаю сообщение об ошибке: discord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: can only concatenate str (not "Member") to str

3. Как только у вас есть member объект, вы можете получить строку упоминания через member.mention

4. Я создаю переменную канала и отправляю channel.members

Ответ №1:

Хм… У меня была эта проблема в боте, который я создавал некоторое время назад…

Предполагая, что вам нужны люди в голосовом канале, в котором вы находитесь в данный момент, вот код для получения пользователей для голосового канала…

 def foo(ctx):
    voice_channel_list = ctx.guild.voice_channels
    for voice_channels in voice_channel_list:
        for member in voice_channels.members:
  

Это даст вам все объекты-члены голосового канала ctx.author , в которых он находится в данный момент. Я надеюсь, что это то, что вы ищете. Если нет, дайте мне знать, и я изменю свой ответ (если я знаю ответ).

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

1. О, хорошо, спасибо за галочку. Счастливого кодирования!

Ответ №2:

может быть, вы можете попробовать

 client.users
  

как в

 for i in range(len(client.users)):
    print(client.users[i].name)
  

Надеюсь, это поможет.