Сообщение Discord py.createdat

#python #discord.py #python-3.8

#python #discord.py #python-3.8

Вопрос:

мне интересно, как я могу отформатировать следующее:

 async def sendmessage():
channel = client.get_channel(786258218925293629)
fetchMessages = await channel.history().find(lambda m: m.author.id == 627862713242222632)
print(fetched.created_at)
 

моя конечная цель — проверить, было ли отправлено сообщение в течение последних 30 минут, и если это было так, удалить сообщение.

Мне нужно отформатировать его так, сколько секунд назад было отправлено сообщение. В настоящее время вывод: 2020-12-13 20:19:24.414000

Любая помощь будет высоко оценена.

Ответ №1:

Вы можете узнать, сколько секунд назад было отправлено сообщение, вычитая объект created_at datetime из объекта datetime, который представляет текущее время. Код для этого должен выглядеть примерно так:

 import datetime # put this at the top of your code

...

async def sendmessage():
    channel = client.get_channel(786258218925293629)
    fetchMessages = await channel.history().find(lambda m: m.author.id == 627862713242222632)
    # i'm not sure where the fetched variable is from so i'm assuming you just forgot to include that bit of code
    msg_secs = (datetime.datetime.now() - fetched.created_at).total_seconds()
    print(int(msg_secs))
 

Ссылки на API:
объект datetime / timedelta для вычитания даты и времени

свойство created_at сообщения

Комментарии:

1. Нет проблем. Если это помогло, не забудьте пометить этот вопрос как решенный!

2. Готово ^ большое спасибо, все работает отлично.