mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-11-05 12:45:00 +03:00
83ea59fb69
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.
129 lines
9.7 KiB
Plaintext
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>
|