Пишу бота с системой верификации для своего сервера. Суть такова: при заходе на серв бот пишет в лс пользователя сообщение, где указывается к примеру "пропишите .верификация" (упрощённый вид) в лс бота. После этого бот выдаст роль на нужном, сервере (бот будет использоваться только на 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('Верификация прошла успешно! Доступ к серверу открыт.')