Как получить время отправленного сообщения в Telegram боте на Python
Мне нужно получить время отправленного пользователем сообщения, чтобы внести их в БД mySQL. Я использую aiogram
Источник: Stack Overflow на русском
Мне нужно получить время отправленного пользователем сообщения, чтобы внести их в БД mySQL. Я использую aiogram
Дата пересланного сообщения
Можно использовать метод message.forward_date
, данная инструкция возвращает исходную дату отправленного пересланного сообщения. Чтобы продемонстрировать, я написал тестового бота, который формирует дату и время в виде сообщения, а так же принтует результат от forward_date
.
from aiogram import Bot, Dispatcher, executor, types
bot = Bot(token="<ТВОЙ КЛЮЧ СЮДА>")
dp = Dispatcher(bot)
@dp.message_handler()
async def handle_message(message: types.Message):
forward_date = message.forward_date
formatted_date = forward_date.strftime("%Y-%m-%d")
formatted_time = forward_date.strftime("%H:%M:%S")
response_text = f"Дата и время сообщения: {formatted_date} {formatted_time}"
print(forward_date)
await message.reply(response_text)
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
Если переслать сообщение данному боту, он вернет в виде сообщения:
Вывод в консоли:
2023-05-24 17:18:00
Дата отправленного сообщения
Чтобы получить дату сообщения отправленного в бота, можно использовать метод message.date
, по аналогии в коде выше нужно изменить метод с message.forward_date
на message.date
Результат:
Вывод в консоли:
2023-05-25 08:59:47