Я не могу понять, как заставить бота указать пользователя, которого я помечаю

#python #discord.py

#python #discord.py

Вопрос:

Я хочу отправить пользователю напоминание в DM о том, что его подписка подлежит продлению через 3 дня. На данный момент он отправляет канал, но не все его видят, поэтому я хочу, чтобы он их помечал. Я хочу, чтобы команда была такой

 !subreminder 10 @user
  

вот мой текущий код, который отправляет на канал, но не передает

 @client.command()
async def subreminder(ctx, arg1):
    amt = arg1
    # Discord Embed Setup   
    embed = Embed(
        description="This is a reminder that your subscription payment of **$" amt "** is due in 3 days. If you wish to cancel please let one of the owners know.",
        color=DiscordEmbedColor,
        timestamp='now'  # sets the timestamp to current time
        )

    embed.set_title(title="**Subscription Reminder**", url=Link)


    embed.set_footer(text=DiscordFooterText, icon_url=DiscordFooterIcon)


    await ctx.message.delete()
    await ctx.send(embed=embed)
  

Ответ №1:

вот мой текущий код, который отправляет на канал, но не передает

Ну да, потому что вы используете ctx.send() . Для того, чтобы указать пользователя, вы можете просто использовать . user.send() Получение discord.User экземпляра может быть достигнуто с converter помощью .

 async def subreminder(ctx, amt, user: discord.User):
    # code that creates the embed
    await user.send(embed=embed)