@Mind2077

Как выдать роль на определённом сервере, зная ID сервера и ID пользователя?

Пишу бота с системой верификации для своего сервера. Суть такова: при заходе на серв бот пишет в лс пользователя сообщение, где указывается к примеру "пропишите .верификация" (упрощённый вид) в лс бота. После этого бот выдаст роль на нужном, сервере (бот будет использоваться только на 1 серваке). Смог реализовать всё кроме выдачи роли. При сообщениях в лс бот записывает пользователя как user, а не как member, из-за чего он не может дать роль.

@bot.command()
@commands.dm_only()
async def верификация(ctx, code):
    if code == '162933':
        member = ctx.message.author
        await member.add_roles(discord.utils.get(member.guild.roles, id=891743318852116490))
        await member.edit(nick='123')
        await member.send('Верификация прошла успешно!  Доступ к серверу открыт.')
  • Вопрос задан
  • 370 просмотров
Решения вопроса 1
SoreMix
@SoreMix
yellow
Найти пользователя на сервере через get_member и выдать роль
Сервер точно так же можно получить через get_guild

guild = bot.get_guild(gid)
member = guild.get_member(ctx.message.author.id)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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