Files
3x-ui/docs/content/docs/fa/operations/telegram-bot.mdx
T
25f2002654 83ea59fb69 fix(tgbot): restore the admin's client link and QR buttons (#6986)
The v3.11.0 bot rebuild left the admin's client card without the subscription link, individual links and QR code, so an admin could not hand a config to a client who cannot reach Telegram yet. The card now carries Links and QR code buttons that open the existing screens. Closes #6984.
2026-11-03 15:52:35 +01:00

129 lines
9.7 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 را فعال کنید و **توکن** و **شناسه‌(های) چت ادمین** را
(با کاما جداشده) تنظیم نمایید. ذخیره کنید، سپس به ربات خود پیام بدهید.
برای ارسال اعلان‌ها به یک تاپیک مشخص از یک سوپرگروه فروم، شناسه‌ی تاپیک را پس از
دونقطه اضافه کنید، مثلاً `-1001234567890:42`. شناسه‌ی تاپیک عدد بعد از چت در لینک یک
پیام تاپیک است (`https://t.me/c/1234567890/42/…`). برای تاپیک General آن را ننویسید
(یا `1` بگذارید).
</Step>
</Steps>
پیش از چسباندن توکن، شناسه‌های ادمین و زمان‌بندی گزارش در پنل، آن‌ها را اعتبارسنجی
کنید:
<TelegramSetupHelper />
## فرمان‌ها
این‌ها در منوی فرمان Telegram ظاهر می‌شوند: `/start`، `/help`، `/status`، `/id`.
فرمان‌های دیگر:
| فرمان | چه کسی | عملکرد |
| ------------------ | ------ | ------------------------------------------------------------ |
| `/start` | همه | پیام خوش‌آمدگویی و منوی دکمه‌های درون‌خطی؛ حساب متصل‌نشده فقط شناسه‌ی Telegram خود را می‌گیرد |
| `/help` | هر دو | منوی دکمه‌های درون‌خطی |
| `/status` | هر دو | تأیید فعال بودن ربات |
| `/id` | همه | نمایش شناسه‌ی عددی Telegram شما |
| `/usage <arg>` | هر دو | ادمین‌ها کلاینت‌ها را جست‌وجو می‌کنند؛ کاربران مصرف خود را می‌بینند |
| `/inbound <remark>`| ادمین | نمایش جزئیات یک ورودی |
| `/restart` | ادمین | راه‌اندازی مجدد Xray |
کاربر یعنی حساب Telegramی که دست‌کم به یک کلاینت متصل است. هر حساب دیگری فقط
`/start` و `/id` را می‌تواند اجرا کند و ربات فرمان‌ها و دکمه‌های دیگر آن را نادیده
می‌گیرد. برای اتصال یک مشتری، در کارت کلاینت در ربات روی **لینک دعوت** بزنید و لینک `t.me`
را برایش بفرستید: نخستین حسابی که آن را باز کند به همه‌ی کلاینت‌هایی که آن شناسه
اشتراک را دارند متصل می‌شود. شناسه اشتراک همان کد دعوت است، پس آن را طولانی و
تصادفی نگه دارید. هر حساب در هر ساعت پنج بار می‌تواند تلاش کند و پس از آن به
ادمین‌ها اطلاع داده می‌شود.
ادمین‌ها همچنین جریان‌های دکمه‌ی درون‌خطی برای مصرف سرور، گزارش‌های ترافیک مرتب‌شده،
بازنشانی ترافیک، پشتیبان‌گیری از DB، گزارش‌های مسدودسازی، فهرست کردن ورودی‌ها/کلاینت‌ها،
کلاینت‌های آنلاین، «به‌زودی تمام‌شونده» و یک جادوگر کامل **افزودن کلاینت** را در اختیار دارند.
کارت **کلاینت** در اختیار ادمین است و لینک اشتراک، لینک‌های منفرد و کد QR کلاینت را
نشان می‌دهد، تا کانفیگ را بتوان به کلاینتی که هنوز به Telegram دسترسی ندارد هم داد.
کاربران عادی دکمه‌هایی برای مصرف خودشان، لینک‌های اشتراک، لینک‌های منفرد و کدهای 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 **ادمین**، جداشده با کاما؛ `chatId:topicId` به یک تاپیک فروم می‌فرستد. |
| `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>