Помогите с Python кодом на aiogram3
Написал код с использованием библиотек aiogram, time и logging. Но в чём проблема... Бот не импортируется в Телеграм. Всё потому, что executor был в aiogram2, а в новой версии его уже нет. И так, вопрос... Как исправить код? Чем заменить этот злосчастный executor?
import time
import logging
from aiogram import Bot,Dispatcher,executor,types
TOKEN = ' '
MSG = '{}, напоминание сделать невыполненные дела!'
bot = Bot(token=TOKEN)
dp = Dispatcher(bot=bot)
@dp.message_handler(commands=['start'])
async def start_handler(message: types.Message):
user_id = message.from_user.id
user_name = message.from_user.first_name
user_full_name = message.from_user.full_name
logging.info(f'{user_id} {user_full_name} {time.asctime()}')
await message.reply(f'Привет, {user_full_name}!')
for i in range(7):
time.sleep(3600)
await bot.send_message(user_id,MSG.format(user_name))
if __name__ == '__main__':
executor.start_polling(dp)
Ну типа как-то так:
import time
import logging
import asyncio
from aiogram import Bot,Dispatcher,types
from aiogram.filters import CommandStart
from aiogram.client.default import DefaultBotProperties
from aiogram.enums import ParseMode
TOKEN = ' '
MSG = '{}, напоминание сделать невыполненные дела!'
dp = Dispatcher()
@dp.message(CommandStart())
async def start_handler(message: types.Message, bot: Bot):
user_id = message.from_user.id
user_name = message.from_user.first_name
user_full_name = message.from_user.full_name
logging.info(f'{user_id} {user_full_name} {time.asctime()}')
await message.reply(f'Привет, {user_full_name}!')
for i in range(7):
time.sleep(3600)
await bot.send_message(user_id,MSG.format(user_name))
async def main() -> None:
bot = Bot(token=TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())