Add /config trial VPN generation for users (1 day default)
Users get Remnawave subscription via /config or inline button; TRIAL_USER_DAYS and panel lookup by Telegram ID. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -139,7 +139,7 @@ docker compose logs --tail=30 bot
|
||||
docker compose logs --tail=20 db
|
||||
```
|
||||
|
||||
В Telegram: `/start`, от админа — `/admin squads`, `/admin user`.
|
||||
В Telegram: `/start` → кнопка «Получить конфиг» или `/config` (trial на `TRIAL_USER_DAYS`, по умолчанию 1 день). От админа — `/admin squads`, `/admin user`.
|
||||
|
||||
### 5. Остановка
|
||||
|
||||
@@ -551,11 +551,19 @@ go build -o bot .
|
||||
| `CADDY_AUTH_API_TOKEN` | нет | `X-Api-Key`, если включён Caddy with security (как в оф. `.env` subscription-page) |
|
||||
| `REMNAWAVE_SUBSCRIPTION_URL` | нет | Опционально: домен Subscription Page (`sub.*`), отдельная проверка |
|
||||
| `DATABASE_URL` | да | PostgreSQL, в compose: `postgres://tgvpn:tgvpn@db:5432/tgvpn?sslmode=disable` |
|
||||
| `DEFAULT_USER_DAYS` | нет | Срок подписки по умолчанию (30) |
|
||||
| `TRIAL_USER_DAYS` | нет | Срок trial-конфига для `/config` (по умолчанию 1) |
|
||||
| `DEFAULT_USER_DAYS` | нет | Срок при создании админом `/admin user` (по умолчанию 1) |
|
||||
| `DEFAULT_EXTERNAL_SQUAD_UUID` | нет | External squad по умолчанию при быстром создании |
|
||||
| `DEFAULT_INTERNAL_SQUAD_UUIDS` | нет | Internal squads через запятую |
|
||||
| `BOT_DEBUG` | нет | `true` — подробные логи Telegram API (только для отладки) |
|
||||
|
||||
### Команды для пользователей
|
||||
|
||||
- `/start` — приветствие и кнопка получения конфига
|
||||
- `/config` — создать пользователя в Remnawave на `TRIAL_USER_DAYS` (если активная подписка уже есть — вернёт существующую ссылку)
|
||||
|
||||
Нужны `DEFAULT_EXTERNAL_SQUAD_UUID` и `DEFAULT_INTERNAL_SQUAD_UUIDS` — те же сквады, что для быстрого `/admin user`.
|
||||
|
||||
### Админ-меню в боте
|
||||
|
||||
Только пользователь с `TELEGRAM_ADMIN_ID`:
|
||||
|
||||
Reference in New Issue
Block a user