Add async Telegram Stars VPN bot with Marzban integration
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Telegram VPN bot (Marzban + Telegram Stars)
|
||||
|
||||
Async Telegram bot for selling and extending Marzban VPN subscriptions.
|
||||
|
||||
## Features
|
||||
- Plans:
|
||||
- 1 month = ⭐️100
|
||||
- 3 months = ⭐️270
|
||||
- 6 months = ⭐️500
|
||||
- Marzban username format: `tg<telegram_user_id>` (example: `tg12345678`).
|
||||
- New users are created with:
|
||||
- `data_limit = 50 GB`
|
||||
- `data_limit_reset_strategy = month`
|
||||
- `proxies = {"vless": {"flow": "xtls-rprx-vision"}}`
|
||||
- `inbounds = {"vless": ["VLESS TCP REALITY"]}`
|
||||
- If user has active subscription, a new purchase extends from current expiration.
|
||||
- Bot sends **subscription URL** after successful purchase.
|
||||
- Admin notifications for every creation/extension.
|
||||
- `/stats` command for admins:
|
||||
- payments count
|
||||
- stars earned
|
||||
- sold months
|
||||
- marzban users
|
||||
- traffic usage/total quota
|
||||
|
||||
## Setup
|
||||
```bash
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
Fill `.env` and run:
|
||||
```bash
|
||||
export $(grep -v '^#' .env | xargs)
|
||||
python bot.py
|
||||
```
|
||||
|
||||
## Notes
|
||||
- Telegram Stars invoices use `currency="XTR"` and empty `provider_token`.
|
||||
- Local SQLite database stores only payment statistics. User state is read from Marzban API.
|
||||
Reference in New Issue
Block a user