Интерактивное время
Как я могу сделать так, чтобы бот автоматически отображал интерактивное время с авто отсчетом или писал дату удаления сообщения. Вот тут мне нужно чтобы в футер писалась просто дата удаления сообщения. Сейчас просто отображается код, но не дата. Если не сложно, то подскажите еще как сделать интерактивный отсчет.
async def on_message_delete(message):
if message.author == bot.user:
return
embed = nextcord.Embed(description = f"**Удаленное сообщение:**\n```{message.content}```", color = 0xFF0000)
embed.set_author(name="Сообщение было удалено")
embed.add_field(name="Автор", value=f"{message.author.name}\n({message.author.mention})", inline=True)
embed.add_field(name="Канал", value=f"{message.channel.name}\n({message.channel.mention})", inline=True)
embed.set_footer(text=f"ID сообщения: {message.id} -- {nextcord.utils.format_dt(nextcord.utils.utcnow(), 'R')}")
логи_дс_id = 1220891629636817048
логи_дс = bot.get_channel(логи_дс_id)
await логи_дс.send(embed=embed)```
Ответы (2 шт):
nextcord.utils.format_dt() возвращает Discord-специфичный Markdown - футер ембеда не будет его правильно отображать. Формируйте дату сами.
...
embed.set_footer(text=f"ID сообщения: {message.id} -- {nextcord.utils.utcnow()}")
...
Будет так:
ID сообщения: {message.id} -- 2024-04-22 15:32:34.626648+00:00
Для этого можете в description вашего Embed добавить <t:{int(time.mktime(datetime.datetime.now().timetuple()))}:R>
перед этим не забудьте объявить datetime и time
import datetime
import time