🤖 Дополнительные функции бота
Здесь вы можете увидеть дополнительные возможности бота, которые можно использовать при создании модулей.
📥 Загрузка модуля
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
- имя модуля. Возвращает внутреннее имя модуля при успехе.