ImportError: ошибка в импортирование

Во время запуска программы ниже в консоль выводит ошибку ImportError: cannot import name 'register_echo' from partially initialized module 'handlers.echo' (most likely due to a circular import)

bot.py

import asyncio
import logging

from aiogram import Bot, Dispatcher
from config import BOT_TOKEN
from aiogram.contrib.fsm_storage.memory import MemoryStorage

from handlers.echo import register_echo 


logger = logging.getLogger(__name__)

def register_all_handlers(dp):
    register_echo(dp)

async def main():  

    logging.basicConfig(
        level = logging.INFO,
        format = u'%(filename)s:%(lineno)d #%(levelname)-8s [%(asctime)s] - %(name)s - %(message)s',
    )
    logger.info("Starting bot")
    

    bot = Bot(token=BOT_TOKEN, parse_mode="HTML")
    storage = MemoryStorage()
    dp = Dispatcher(bot, storage=storage)

    try:
        await dp.start_polling()
    finally:
        await dp.storage.close()
        await dp.storage.wait_closed()
        await bot.session.close()

if __name__ == "__main__":
    try:
        asyncio.run(main())
    except (KeyboardInterrupt, SystemExit):
        logger.error("Bot stopped!")

Импортируемый модуль:

echo.py

from aiogram import Dispatcher, types
from bot import bot

async def echo_bot(message: types.Message):
    bot.answer(message.text)

def register_echo(dp: Dispatcher):
    dp.register_message_handler(echo_bot)

Структура каталога:

                folder/bot.py

                folder/handlers/echo.py

Ответы (0 шт):