No description
| app | ||
| deploy | ||
| tests | ||
| .env.example | ||
| .gitignore | ||
| .woodpecker.yml | ||
| DEPLOY_VARIANT_A.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| README.md | ||
| requirements.txt | ||
MAX Support Bot v1
Единый сервис на FastAPI + Jinja2 + SQLite, который включает:
- MAX-бота на
maxapiдля приёма и обработки заявок. - Веб-панель оператора (
/applications,/applications/{id},/chats). - Интеграцию с внешней системой заявок через REST API.
Возможности
- Переключаемый режим бота:
PollingилиWebhook. - Каналы создания заявок:
- локальный (SQLite),
- внешний REST.
- Каналы включаются/выключаются независимо через ENV.
- Если внешний REST падает: локальная заявка сохраняется, sync-статус ставится в
failed(без ретраев). - Операторские действия доступны:
- в MAX через callback-кнопки,
- в веб-панели в карточке заявки.
Быстрый старт
python -m venv .venv
. .venv/Scripts/activate
pip install -r requirements.txt
uvicorn app.main:app --reload
По умолчанию веб будет на http://127.0.0.1:8000.
Основные ENV
MAX_BOT_TOKENMAX_USE_WEBHOOK=true|falseMAX_WEBHOOK_URLMAX_WEBHOOK_SECRETDB_PATH=data/app.dbCONTEXT_BACKEND=memory|redisREDIS_URLCHANNEL_LOCAL_ENABLED=true|falseCHANNEL_EXTERNAL_ENABLED=true|falseEXTERNAL_API_CREATE_URL_WITH_KEYWEB_ADMIN_LOGINWEB_ADMIN_PASSWORDSESSION_SECRETOPERATOR_CHAT_IDS=123,456
Основные URL
GET /healthGET/POST /loginPOST /logoutGET /applicationsGET /applications/{id}POST /applications/{id}/statusGET /chatsPOST /chats/syncPOST /max/webhook