Как отправить сообщение aiogram из другого файл
К примеру есть есть файл, в котором лежит функция
some_file.py
from bot import send_message
def F():
if что-то:
send_message('1')
else:
send_message('2')
И второй файл с ботом тг
bot.py
from aiogram import Bot
TOKEN = 'token'
bot = Bot(token=TOKEN)
async send_message(m):
await bot.send_message(123, m)
Как вызывая функцию из some_file.py все же отправлялось сообщение. Потому что вылезает async ошибка, а делать все функции асинхронными не вариант.
Ответы (1 шт):
Если импортировать bot из bot.py в some_file.py словим ошибку циклического импорта, при импорте F() из some_file.py в bot.py
Предлагаю такой вариант Тык (в решении)
У тебя будет отдельный модуль в котором можно разбить каждый файл на отдельную команду. Модуль handlers импортируется в основной файл и тогда aiogramm сам будет искать нужную команду в этом модуле.
Я считаю такое разбиение логики на разные файлы хорошо сказывается на поддержку и читаемость кода. Если сильно надо, большую логику можно разбивать на под модули внутри модуля handlers