Структура бота
Last updated
Last updated
Бот построен на базе фреймворка pyrogram, документацию к которому можно прочитать .
Самый важный компонент бота - класс ModuleLoader
, который осуществляет загрузку модулей и управление ими, их установку, обновление и удаление, а так же распределение других команд между модулями. При запуске сканируется директория modules
в корне исходников, и оттуда последовательно загружаются все модули. Загрузка модуля происходит в 2 стадии:
Stage1 - Считывание информации о модуле, установка/обновление Python-пакетов, предоставление доступа к различным компонентам (об этом позже)
Stage2 - Регистрация обработчиков событий
Влиять на стандартное поведение при загрузке модулей позволяют расширения базы - классы BaseExtension
. Загружаются при запуске бота наподобие модулей, и позволяют вносить любые изменения в объект модуля между стадиями 1 и 2.