#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 для вычитания даты и времени
Комментарии:
1. Нет проблем. Если это помогло, не забудьте пометить этот вопрос как решенный!
2. Готово ^ большое спасибо, все работает отлично.