feat: hwid limits and topups
This commit is contained in:
@@ -67,3 +67,16 @@ Legacy поле `subscription_duration_months` остается для совм
|
||||
- Отправляет/дедуплицирует уровни предупреждений из `TARIFF_TRAFFIC_WARNING_LEVELS` (по умолчанию `85,90,95`) через `traffic_warnings`.
|
||||
- При 100% удаляет пользователя из squad-ов тарифа и ставит `is_throttled`.
|
||||
- Возвращает пользователя в squad-ы, когда лимит снова больше использованного трафика.
|
||||
|
||||
|
||||
## HWID devices
|
||||
|
||||
Tariff config now supports per-tariff device limits and paid device add-ons:
|
||||
|
||||
- `tariffs[].hwid_device_limit`: base HWID device limit for the tariff. `0` means unlimited. Missing/null falls back to `USER_HWID_DEVICE_LIMIT`.
|
||||
- `tariffs[].hwid_device_packages`: paid add-on packages, for example `{ "count": 1, "price": 99 }` in `rub` or `stars`.
|
||||
- The bot stores the tariff base limit in `subscriptions.hwid_device_limit` and purchased add-ons in `subscriptions.extra_hwid_devices`.
|
||||
- Effective panel value is `hwid_device_limit + extra_hwid_devices`; if the base limit is `0`, it remains unlimited and add-ons are ignored.
|
||||
- Device add-ons use `sale_mode=hwid_devices`, persist `payments.purchased_hwid_devices`, and update Remnawave via `hwidDeviceLimit` after payment.
|
||||
- Add-ons are available in Web App via `/api/devices/topup-options` + `/api/payments`, and in Telegram via the devices section.
|
||||
- On tariff change, the base HWID limit is taken from the new tariff, while already purchased extra devices are preserved.
|
||||
|
||||
Reference in New Issue
Block a user