-
Установка
a) из исходников
Склонировать репозиторий с исходникамиgit clone https://github.com/ExpressApp/asyncbox-framework.git
Собрать пакет и установить его
cd asyncbox-framework poetry build pip install --user dist/asyncbox-0.4.0-py3-none-any.whl
b) из pypi
pip install asyncbox
-
Создание проекта из шаблона
asyncbox -v -t http://path/to/template -p plugin1 -p plugin2 bot_project_name cd bot_project_name
-
Установка зависимостей
poetry install
Важно: библиотека asyncbox в созданном проекте будет установлена той версии, которя указана в шаблоне файла pyproject.toml. При необходимости вы можете указать нужную версию или ветку репозитория следующим образом:
asyncbox = { git = "https://github.com/ExpressApp/asyncbox-framework.git", branch = "master"}
-
Обновление
Для обновления библиотеки в проекте:
poetry update
Для обновления шаблона для новых проектов - повторить операции из пункта 1.
-
Настройки бота
Настройки бота находятся в файле
app/settings.py
и представляют собой класс унаследованный отpydantic.BaseSettings
. При необходимости можно изменить место расположения настроек с помощью переменной окруженияAPP_SETTINGS
задав её значением строку видаapp.settings:AppSettings
, где до двоеточия указывается модуль, а после двоеточия объект внутри модуля.Функциональность бота можно расширять при помощи плагинов. Список включеных плагинов задаётся настройкой
PLUGINS
, которая является списком строк в описанном выше формате. Имя классаPlugin
можно не указывать. Плагины вкючённые в библиотеку:Путь Описание asyncbox.plugins.logger расширенное логирование (Loguru) asyncbox.plugins.sqlalchemy БД (PostgreSQL) asyncbox.plugins.redis Redis asyncbox.plugins.sentry мониторинг ошибок (Sentry) asyncbox.plugins.prometheus сбор метрик (Prometheus) Каждый из плагинов может требовать наличия определённых настроек. В этом случае необходимо добавить соответствующую настройку в класс AppSettings
Список коллекторов хэндлеров комманд задаётся в настройке
COLLECTORS
в таком же формате как и список плагинов.Настройка
DEFAULT_ROUTER
содержит путь к экземпляруfatsapi.APIRouter
, который обрабатывает API запросы от BotX и по умолчанию имеет значение"asyncbox.endpoints:router"
. Для внесения изменений в логику обработки таких запросов следует создать модуль, в котором будет определён экземплярfatsapi.APIRouter
, обрабатывающий запросы на маршрутах/command
и/status
и указать путь к этому экземпляру вDEFAULT_ROUTER
.
-
Notifications
You must be signed in to change notification settings - Fork 0
ExpressApp/asyncbox-framework
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|