• Какая должна быть архитектура проекта телеграм бота?

    @luchanos
    Создай какой-нибудь класс, обзови Resources например, и пропиши там всё то, что тебе надо будет использовать в твоём проекте - клиенты к БД, очередям и прочую пижню в виде его атрибутов. При поднятии твоего приложения создавай экземпляр этого класса и импортируй его по всем модулям, прокидывай в нужные хэндлеры - получится ты всё один раз себе насоздавал и теперь просто юзаешь.

    Короче что-то вроде такого:
    делаешь класс ресурсов:
    class Resources:
    def __init__(self, tg_client):
    self.tg_client = tg_client

    при поднятии приложения создаешь его экземпляр и прокидываешь свой tg_client:
    resources = Resources(tg_client=tg_client)

    а дальше в любом другом модуле с хэндлером просто import resources (импортируешь этот экземпляр) и юзаешь в хэндлере через обращение к полю resources.tg_client (аналогично можно сделать клиент для БД, очередей и всего остального)
    Ответ написан
    Комментировать