🤖 Дополнительные функции бота
Здесь вы можете увидеть дополнительные возможности бота, которые можно использовать при создании модулей.
📥 Загрузка модуля
def load_module(self, name: str) -> Optional[str]:INFO
Где name - имя папки с модулем, далее внутреннее имя. Возвращает основное имя модуля (указанное в config.yaml) при успехе, и None при неудаче
📤 Выгрузка модуля
def unload_module(self, name: str):INFO
name по аналогии с загрузкой. Не возвращает ничего
WARNING
Не забывайте использовать callback on_unload, чтобы безопасно завершать все циклы событий (или другие задачи), иначе есть риск их утечки в память
✅ Установка модуля
Установка модулей происходит только с удаленных git репозиториев
def install_from_git(self, url: str) -> (int, str):INFO
url - Ссылка на удаленный репо. Возвращает кортеж из кода выхода git и `STDOUT
🔃 Проверка обновлений модуля
def check_for_updates(self, name: str, directory: str) -> Optional[bool]:INFO
name - внутреннее имя модуля или расширения, directory - папка с модулями или расширениями. Возвращает True, если есть новые коммиты, False, если они актуальны, или None при ошибке
🔄 Обновление модуля/расширения
def update_from_git(self, name: str, directory: str) -> (int, str):INFO
name - внутреннее имя модуля или расширения, directory - папка с модулями или расширениями. Возвращает кортеж из кода выхода git и `STDOUT
🗑️ Удаление модуля
def uninstall_module(self, name: str) -> bool:INFO
name - внутреннее имя модуля. Возвращает True - успех, False- неудача
⬇️ Получение внутреннего имени из обычного
def get_int_name(self, name: str) -> Optional[str]:INFO
name - имя модуля. Возвращает внутреннее имя модуля при успехе.