#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)
Надеюсь, это поможет.