@wetwixs

Как сделать вывод людей с определенной ролью?

Всем привет! Столкнулся с таким вопросом, есть команда на вывод всех участников на сервере. Мне же нужно, что бы выводило участников с конкретной ролью.Пытался через доки по discord.py изменить, как-то по-шаманить - не получилось.
Если подскажите буду благодарен Вам.

Сам код и что выходит:
@client.command()
async def members_info(ctx):
    server_members = ctx.guild.members 
    data = "\n".join([i.name for i in server_members])
    embed = discord.Embed(title = f'Участники сервера', description = f"{data}", color = discord.Color.purple())
    
    await ctx.send(embed = embed)


A1jGObw.png

По идеи в идеале бот должен так же вывести список участников, но уже только тех, у кого есть определенная роль.
  • Вопрос задан
  • 2147 просмотров
Пригласить эксперта
Ответы на вопрос 2
@wetwixs Автор вопроса
Может быть я туплю и, что-то не правильно указал, но теперь выводит просто embed без списка.

@client.command()
async def members_info(ctx):
    server_members = ctx.guild.members 
    data = "\n".join([member.name for member in server_members if "Главный модератор" in member.roles])
    embed = discord.Embed(title = f'Участники сервера', description = f"{data}", color = discord.Color.purple())
    
    await ctx.send(embed = embed)

abrbxiV.png
Ответ написан
Комментировать
@nirbes
Может и с опозданием, пока сам искал решение... В общем вот:

@client.command()
async def list(ctx, role: discord.Role):
    data = "\n".join([(member.name or member.nick) for member in role.members])
    embed=discord.Embed(title=f"Участники с ролью {role}\n", description=f"{data}\n")
    await ctx.send(embed=embed)

указываешь команду и роль (можно как пингануть, так и по id)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы