Кроме того, у вас есть еще пара моментов, которые стоит поправить:
В вашем коде bot инициализируется внутри функции main(), а до этого вы уже объявили dp = Dispatcher() вне функции. Лучше объявлять Dispatcher после создания Bot, потому что Dispatcher связывается с ботом.
Также dp.start_polling() вызывается так, что bot надо передавать в Dispatcher при его создании, а не в start_polling().
Отступы в функции main() отсутствуют.
Вот исправленный минимальный пример кода:
python
КопироватьРедактировать
from aiogram import Bot, Dispatcher
from config import TOKEN # импортируем токен из config
import asyncio
from routers.handlers import router
async def main():
bot = Bot(TOKEN)
dp = Dispatcher(bot)
dp.include_router(router)
await dp.start_polling()
asyncio.run(main())
Обратите внимание:
Токен передается как строка — у вас он уже должен быть в config.py в переменной TOKEN.