mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-07-09 06:06:08 +00:00
9b91f0f42e
Fold the standalone 3x-ui-docs project (Next.js 16 + Fumadocs, deployed to docs.sanaei.dev) into docs/ so the panel and its documentation share a single source of truth, the way sing-box keeps its docs in-tree. The old repo becomes redundant and can be retired. - Import the full site under docs/ (app, components, content, lib, public, scripts, config). The self-contained pnpm project sits alongside the existing engineering notes with no filename collisions. - Re-point "Edit on GitHub" links from MHSanaei/3x-ui-docs to this repo's docs/content/docs path (docs/lib/shared.ts, docs/app/.../page.tsx). - Add docs-ci.yml and docs-deploy.yml under .github/workflows/, scoped to docs/** and run with working-directory: docs, since GitHub only runs workflows from the repo-root .github/. deploy-static.yml's GitHub Pages publish (CNAME docs.sanaei.dev) carries over unchanged. Follow-up (outside this commit): attach the docs.sanaei.dev custom domain to this repository's Pages (or set the Vercel project's root directory to docs), confirm the site is live from the monorepo, then delete MHSanaei/3x-ui-docs.
113 lines
7.9 KiB
Plaintext
113 lines
7.9 KiB
Plaintext
---
|
|
title: ربات Telegram
|
|
description: یک ربات Telegram را به 3x-ui متصل کنید تا فرمانها، گزارشهای دورهای، هشدارهای رویداد (ورود، CPU، بالا/پایین شدن نود)، پشتیبانگیری و سلفسرویس کلاینتها را در اختیار داشته باشید.
|
|
icon: Send
|
|
---
|
|
|
|
3x-ui میتواند یک ربات Telegram را برای پایش، هشدار، پشتیبانگیری و مدیریت از راه دور
|
|
به کار گیرد. ادمینها کنترل کامل دارند؛ کاربران عادی (که با Telegram ID پیوند خوردهاند)
|
|
میتوانند مصرف و لینکهای خودشان را بررسی کنند.
|
|
|
|
<Callout type="info">
|
|
دنبال اخبار و پشتیبانی انجمن هستید؟ به کانال رسمی Telegram یعنی
|
|
[@XrayUI](https://t.me/XrayUI) بپیوندید. این از ربات زیر جداست، رباتی که خودتان
|
|
آن را برای مدیریت پنل خودتان اجرا میکنید.
|
|
</Callout>
|
|
|
|
## راهاندازی
|
|
|
|
<Steps>
|
|
|
|
<Step>
|
|
### ساختن یک ربات
|
|
|
|
به [@BotFather](https://t.me/BotFather) پیام بدهید، `/newbot` را ارسال کنید و **توکن
|
|
ربات** را کپی نمایید.
|
|
</Step>
|
|
|
|
<Step>
|
|
### پیدا کردن Telegram ID خودتان
|
|
|
|
شناسهی عددی کاربری Telegram خود را به دست آورید (پس از اتصال، فرمان `/id` خودِ ربات
|
|
آن را گزارش میکند). این همان **شناسهی ادمین** شماست.
|
|
</Step>
|
|
|
|
<Step>
|
|
### پیکربندی پنل
|
|
|
|
در تنظیمات پنل، ربات Telegram را فعال کنید و **توکن** و **شناسه(های) چت ادمین** را
|
|
(با کاما جداشده) تنظیم نمایید. ذخیره کنید، سپس به ربات خود پیام بدهید.
|
|
</Step>
|
|
|
|
</Steps>
|
|
|
|
پیش از چسباندن توکن، شناسههای ادمین و زمانبندی گزارش در پنل، آنها را اعتبارسنجی
|
|
کنید:
|
|
|
|
<TelegramSetupHelper />
|
|
|
|
## فرمانها
|
|
|
|
اینها در منوی فرمان Telegram ظاهر میشوند: `/start`، `/help`، `/status`، `/id`.
|
|
فرمانهای دیگر:
|
|
|
|
| فرمان | چه کسی | عملکرد |
|
|
| ------------------ | ------ | ------------------------------------------------------------ |
|
|
| `/start`، `/help` | همه | پیام خوشآمدگویی و منوی دکمههای درونخطی |
|
|
| `/status` | همه | تأیید فعال بودن ربات |
|
|
| `/id` | همه | نمایش شناسهی عددی Telegram شما |
|
|
| `/usage <arg>` | هر دو | ادمینها کلاینتها را جستوجو میکنند؛ کاربران مصرف خود را میبینند |
|
|
| `/inbound <remark>`| ادمین | نمایش جزئیات یک ورودی |
|
|
| `/restart` | ادمین | راهاندازی مجدد Xray |
|
|
|
|
ادمینها همچنین جریانهای دکمهی درونخطی برای مصرف سرور، گزارشهای ترافیک مرتبشده،
|
|
بازنشانی ترافیک، پشتیبانگیری از DB، گزارشهای مسدودسازی، فهرست کردن ورودیها/کلاینتها،
|
|
کلاینتهای آنلاین، «بهزودی تمامشونده» و یک جادوگر کامل **افزودن کلاینت** را در اختیار دارند.
|
|
کاربران عادی دکمههایی برای مصرف خودشان، لینکهای اشتراک، لینکهای منفرد و کدهای QR دارند.
|
|
|
|
## گزارشها و هشدارها
|
|
|
|
- **گزارش دورهای** — بر اساس زمانبندی `tgRunTime` (بهصورت پیشفرض `@daily`)، ربات
|
|
مصرف سرور (هاست، نسخهها، آپتایم، بار، حافظه، کلاینتهای آنلاین، ترافیک)، فهرستی از
|
|
کلاینتهای تمامشده/درحالانقضا و — اگر `tgBotBackup` فعال باشد — یک نسخهی پشتیبان از
|
|
پایگاهداده و پیکربندی Xray را برای ادمینها میفرستد. کلاینتهایی که با Telegram ID
|
|
پیوند خوردهاند، هشدارهای انقضا/سهمیهی خودشان را دریافت میکنند.
|
|
- **هشدارهای رویداد** — با `tgEnabledEvents` انتخاب میشوند (بهصورت پیشفرض `login.attempt,cpu.high`):
|
|
|
|
| رویداد | چه زمانی |
|
|
| --------------- | ------------------------------------------------------- |
|
|
| `login.attempt` | ورود به پنل موفق یا ناموفق شود (همراه با IP و نام کاربری) |
|
|
| `cpu.high` | CPU از `tgCpu` درصد فراتر برود (بهصورت پیشفرض ۸۰) |
|
|
| `memory.high` | حافظه از `tgMemory` درصد فراتر برود (بهصورت پیشفرض ۸۰) |
|
|
| `xray.crash` | Xray-core کرش کند |
|
|
| `outbound.down` / `outbound.up` | یک خروجی از کار بیفتد / بازیابی شود |
|
|
| `node.down` / `node.up` | یک نود آفلاین شود / بازگردد |
|
|
|
|
زمانهای پیشهشدار از `expireDiff` (روزهای پیش از انقضا) و `trafficDiff` (گیگابایتِ
|
|
باقیمانده از سهمیه) میآیند؛ هر دو بهصورت پیشفرض `0` هستند (خاموش).
|
|
|
|
## تنظیمات
|
|
|
|
| تنظیم | پیشفرض | معنا |
|
|
| -------------- | -------------------------- | ---------------------------------------------- |
|
|
| `tgBotEnable` | `false` | روشن/خاموش اصلی. |
|
|
| `tgBotToken` | _(محرمانه)_ | توکن API ربات. |
|
|
| `tgBotChatId` | _(هیچکدام)_ | شناسههای Telegram **ادمین**، جداشده با کاما. |
|
|
| `tgBotProxy` | _(هیچکدام)_ | پروکسی `socks5://`، `http://` یا `https://`. |
|
|
| `tgBotAPIServer` | _(پیشفرض)_ | سرور سفارشی Telegram Bot API. |
|
|
| `tgRunTime` | `@daily` | زمانبندی گزارش (cron / `@daily` / `@every …`). |
|
|
| `tgBotBackup` | `false` | ضمیمه کردن یک نسخهی پشتیبان DB به گزارش دورهای. |
|
|
| `tgCpu` / `tgMemory` | `80` / `80` | آستانههای هشدار CPU / حافظه (درصد). |
|
|
| `tgLang` | `en-US` | زبان ربات. |
|
|
| `tgEnabledEvents` | `login.attempt,cpu.high`| اینکه کدام رویدادها تحویل داده شوند. |
|
|
|
|
<Callout type="warn">
|
|
توکن ربات کنترل ربات شما را در دست دارد — آن را محرمانه نگه دارید و فقط شناسههای چت
|
|
ادمین **مورد اعتماد** را اضافه کنید. هشدارهای ورود هرگز شامل رمزهای عبور نمیشوند.
|
|
</Callout>
|
|
|
|
<Callout type="info">
|
|
اگر ترجیح میدهید هشدارها را از طریق ایمیل دریافت کنید، اعلانهای ایمیل (SMTP) همان
|
|
رویدادها را بازتاب میدهند (`smtpEnabledEvents`) — SMTP را در تنظیمات پنل پیکربندی نمایید.
|
|
</Callout>
|