Как сделать так, чтобы бот отправил сообщения в лс, пользователя который вел команду?

Вот мой код:

@client.command()
async def слова(ctx, member: discord.Member):
    member = тут был мой айди
    embed = discord.Embed(title="", colour=0xFFFFFF, description="")
    await ctx.channel.send(embed=embed)
    
    await member.send("asdasd")

А ошибка:

member is a required argument that is missing.


Ответы (3 шт):

Автор решения: itskekoff

Ты не указываешь аргумент в команде. Тебе нужно указать его. Пример: $hi_to @Юзер Так же, тебе надо удалить строку

member = тут был мой айди
→ Ссылка
Автор решения: mafinpy

извиняюсь за глупую ошибку с member, надо было написать ctx.author.send, так как мой код вводил кому-то, а этого кому-то не было, а мне надо было чтобы автору, а я писал member, да member.

→ Ссылка
Автор решения: MRX

Скорее всего ответ уже будет не актуален, но возможно кому-то поможет. Вам нужно получить автора сообщения с помощью ctx.author.

@client.command()
async def слова(ctx):
    member = ctx.author # получаем автора сообщения
    embed = discord.Embed(title="1", colour=0xFFFFFF, description="1") #Поля не должны быть пустыми.
    await ctx.channel.send(embed=embed)
    await member.send("asdasd")

Вы также можете отправить сообщение напрямую без добавления лишней переменной.

@client.command()
async def слова(ctx):
    embed = discord.Embed(title="1", colour=0xFFFFFF, description="1") #Поля не должны быть пустыми.
    await ctx.channel.send(embed=embed)
    await ctx.author.send("asdasd")
→ Ссылка