Это что-то типо таймера. Пользователь отправляет боту сообщение с цифрой, а бот выводит сообщение в котром каждую секунду меняются числа от заданного до 0 и выполняет какое-либо действие, в моём случает это вывод другого сообщения.
Выводит сообщение "Time: вводимое число", и на этом всё.
Вот сам код:
import asyncio
from aiogram import Bot, executor, Dispatcher
bot = Bot(token='')
dp = Dispatcher(bot=bot)
bot_dispather = Dispatcher(bot=bot)
@dp.message_handler()
async def new_timer_message(message):
try:
timer_seconds = int(message.text)
if timer_seconds <= 0:
raise ValueError()
except (TypeError, ValueError):
await bot.send_message(chat_id=message.chat.id, text="Error")
return
new_message = await bot.send_message(chat_id=message.chat.id, text=f"Time: {timer_seconds}")
for seconds_left in range(timer_seconds - 1, -1):
await asyncio.sleep(1)
await new_message.edit_text(f"Time: {timer_seconds}")
await bot.send_message(chat_id=message.chat.id, text=f"Timeout")
if __name__ == "__main__":
executor.start_polling(dp)