Files
3x-ui/docs/content/docs/fa/operations/telegram-bot.mdx
T
Tuyến Trần a403faee23 feat(tgbot): route admin notifications to a forum topic (#6879)
Admins who run the bot in a forum supergroup got every notification in the
General topic. An admin chat ID may now carry a topic, chatId:topicId, and the
bot's admin messages and reports go to that topic. Repeated chats collapse into
one entry and a second, different topic for the same chat is rejected, in the
panel and in the docs setup helper alike. The chat ID hint in every locale and
the English, Persian, Russian and Chinese guides describe the form.
2026-10-24 05:55:55 +02:00

127 lines
9.5 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 دارند.
## گزارش‌ها و هشدارها
- **گزارش دوره‌ای** — بر اساس زمان‌بندی `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>