Files
3x-ui/docs/content/docs/fa/operations/telegram-bot.mdx
T
MHSanaei 9b91f0f42e docs: vendor the documentation site into the monorepo
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.
2026-07-07 23:07:14 +02:00

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>