diff --git a/README.md b/README.md index d47154a..b73252f 100644 --- a/README.md +++ b/README.md @@ -421,6 +421,17 @@ Full proxy management from your phone. Setup takes 60 seconds: mtproxymax telegram setup ``` +The bot registers its commands with Telegram, so tapping the **`/` menu button** in +the chat lists everything you are allowed to run — no need to memorise them. The +menu is scoped to your role: everyone sees the public self-service commands, admins +see the Admin Control Plane, and superadmins additionally see `/mp_remove`, +`/mp_restart`, `/mp_update` and `/mp_lockdown`. The list is re-synced whenever the +bot service starts; to refresh it by hand use: + +```bash +mtproxymax telegram sync-commands +``` + | Command | Description | |---------|-------------| | `/mp_status` | Proxy status, uptime, connections | @@ -443,6 +454,32 @@ mtproxymax telegram setup | `/mp_update` | Check for updates | | `/mp_help` | Show all commands | +#### 🎛 Running the proxy from buttons + +Every command above also exists as a button, so day-to-day management needs no +typing. Send any command — or tap **🏠 Menu** on any reply — to open the hub: + +| Section | What it covers | +|---------|----------------| +| 👥 **Users** | Paginated list → per-user card with live connections, traffic, quota bar, expiry, note and quota-reset day, plus link/QR, enable, disable, rotate and remove | +| ⚙️ **Manage** (per user) | Quota, connection cap, IP cap, expiry, monthly quota-reset day, note, ad-tag, and applying a saved limit template to that user | +| 🧩 **Templates** | Create, edit every field of, apply and delete limit templates | +| 📈 **Traffic** | Windowed totals (24h / 7d / 30d) with a sparkline, peak and average rate, and top talkers | +| 🖥 **Server** | Engine health, posture digest, upstreams, fleet, vouchers, updates | +| 🛠 **Tools** | Add user, broadcast, rotate-all, lockdown, restart, apply update | +| ⚙️ **Settings** | Port, domain, metrics port, report interval | + +Limits are edited with preset buttons for the common values, plus a **✏️ Custom…** +prompt for anything else. Anything that affects live users — removing, rotating, +disabling, restarting, locking down — asks for confirmation first, and the +confirmation is the only path that performs the write. + +**Typed input.** Adding a user, setting a custom limit, saving a template name, +broadcasting and writing a note all need text, which buttons cannot supply. Tapping +one of those sends a prompt; your next message is taken as the answer. The prompt is +always escapable: sending any `/command` cancels it, and so does the **❌ Cancel** +button. An unanswered prompt expires after five minutes. + **Automatic alerts & announcements:** - 🚨 Emergency Lockdown activated → immediate posture alert - 📢 System Broadcasts (`mtproxymax broadcast `) sent directly to admin chat @@ -1503,6 +1540,7 @@ mtproxymax update # Check for script + engine updates - **Automated SSL Shield (`ssl-shield`):** Zero-touch Let's Encrypt / `openssl` certificate issuance and ACME domain management. - **Automated Cloud Backups (`backup-cloud`):** Automatic tarball offloading to Telegram admin chat (`sendDocument`) or multi-cloud storage (`rclone`/S3/R2). - **Dual-Tier Telegram Bot (`telegram`):** Public self-service tier (`/start`, `/my_status