(Py-cord) Как получить список ролей пользователя

Рейтинг: 0Ответов: 1Опубликовано: 10.08.2023

Нужно получить список ролей объекта discord.User. Пробовал user.roles, не работает. Читал документацию, ничего похожего на это не нашел. Как тогда получить этот список?

P.S. - именно Py-cord, не discord.py

Ответы

▲ 1Принят

В Py-cord, чтобы получить список ролей пользователя, вы можете использовать атрибут .roles объекта Member, а не User. Объект Member содержит информацию о пользователе в контексте определенного сервера.

Вот пример, как получить список ролей пользователя с использованием Py-cord:

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix="!")

@bot.event
async def on_ready():
    user = bot.get_user(1234567890)  # Замените на ID пользователя, для которого нужно получить список ролей
    if not user:
        print("Пользователь не найден")
        return
    
    guild = bot.get_guild(987654321)  # Замените на ID сервера, на котором находится пользователь
    if not guild:
        print("Сервер не найден")
        return
    
    member = guild.get_member(user.id)
    if not member:
        print("Пользователь не найден на сервере")
        return
    
    roles = member.roles  # Получаем список ролей пользователя
    for role in roles:
        print(role.name)
    
bot.run("YOUR_BOT_TOKEN")

Обратите внимание, что нужно заменить 1234567890 на ID пользователя, для которого вы хотите получить список ролей, и 987654321 на ID сервера, на котором находится пользователь.

Убедитесь, что у вашего бота есть права и доступ к серверу, чтобы получить информацию о пользователях и их ролях.