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