встроенное сообщение snipe отображает идентификатор пользователя вместо имени пользователя discord bot python

#python-3.x #discord #discord.py #discord.py-rewrite

#python-3.x #Discord #discord.py #discord.py-перезаписать

Вопрос:

Моя функция discord snipe работает довольно хорошо, однако всякий раз, когда он отправляет вставку удаленного сообщения, он отображает идентификационный номер пользователя, который удалил сообщение, вместо того, чтобы показывать фактическое имя пользователя

 @client.event
async def on_message_delete(message):

    global snipe_message_content
    global snipe_message_author
    global snipe_message_id

    snipe_message_content = message.content
    snipe_message_author = message.author.id
    snipe_message_id = message.id

    embed = discord.Embed(description=f"{snipe_message_content}")
    embed.set_author(name= f"<@{snipe_message_author}>")
    channel = client.get_channel(795726497922809947)
    await channel.send(embed=embed)
 

введите описание изображения здесь

Ответ №1:

Вы назначили идентификатор автора, а не имя автора, чтобы snipe_message_author

 snipe_message_author = message.author.name
 

Ответ №2:

В противном случае вы могли бы использовать str(message.author) , который дает вам тег name#. Но я не рекомендую этот способ. Я использую его сам, потому что он короче, чем message.author.name "#" message.author.discriminator , но да.