اعلانها
پنل میتواند خودش مدیر را از موارد مهم آگاه کند: کاربر به محدودیت ترافیک نزدیک شده، هرگز متصل نشده، اشتراک در حال انقضاست. اعلانها به Telegram و به Webhookها میروند — کانالها مستقلاند و جداگانه میتوان فعالشان کرد.
Telegram
اعلانها در Telegram بهصورت پیشفرض خاموشاند. آنها را فعال کنید و بات را تعیین کنید:
| متغیر | پیشفرض | توضیح |
|---|---|---|
IS_TELEGRAM_NOTIFICATIONS_ENABLED | false | اعلانها در Telegram را فعال میکند |
TELEGRAM_BOT_TOKEN | — | توکن بات، هنگام فعالسازی الزامی |
TELEGRAM_BOT_API_ROOT | https://api.telegram.org | آدرس Bot API؛ برای سرور محلی تغییر دهید |
TELEGRAM_BOT_PROXY | — | پروکسی، برای مثال socks5://proxy:1080 |
اینکه دقیقاً کجا نوشته شود، با متغیرهای جداگانه تعیین میشود:
| متغیر | کدام رویدادها |
|---|---|
TELEGRAM_NOTIFY_USERS | کاربران و اشتراکها |
TELEGRAM_NOTIFY_NODES | وضعیت نودها |
TELEGRAM_NOTIFY_CRM | پرداختهای زیرساخت |
TELEGRAM_NOTIFY_SERVICE | ورودها به پنل، توکنهای API، اجرا |
TELEGRAM_NOTIFY_TBLOCKER | گزارشهای torrent-blocker |
IS_TELEGRAM_NOTIFICATIONS_ENABLED=true
TELEGRAM_BOT_TOKEN=123456789:AA...change_me
TELEGRAM_NOTIFY_USERS=-1001234567890:80
TELEGRAM_NOTIFY_NODES=-1001234567890:81
فرمت chat_id:thread_id
مقدار هر متغیر یا chat_id است یا chat_id:thread_id برای موضوعها در
سوپرگروه. برای هر بخش یک چت تعیین میشود.
| نمونه | مقدار |
|---|---|
-100123 | چت یا کانال، موضوع استفاده نمیشود |
-100123:80 | چت -100123، موضوع (thread) 80 |
chat_id گروه یا کانال همیشه منفی است؛ چتهای شخصی — مثبت. thread_id —
شماره موضوعی است که بات باید در آن بنویسد.
بات را به چت موردنظر اضافه کنید و حق ارسال پیام به آن بدهید. برای موضوعها بات باید عضو گروه باشد و به موضوعها دسترسی داشته باشد — در غیر این صورت Telegram خطا برمیگرداند و اعلان گم میشود. بلافاصله پس از تنظیم، تحویل را بررسی کنید.
آستانههای ترافیک
رویداد زمانی میآید که کاربر سهم تعیینشده از محدودیت را مصرف کرده باشد.
| متغیر | پیشفرض | توضیح |
|---|---|---|
BANDWIDTH_USAGE_NOTIFICATIONS_ENABLED | false | اعلانهای آستانهها را فعال میکند |
BANDWIDTH_USAGE_NOTIFICATIONS_THRESHOLD | [60, 80] | آستانهها بر حسب درصد، صعودی |
آستانهها نمیتوانند بیشتر از پنج باشند، هرکدام عدد صحیحی از 25 تا 95. رویداد برای هر آستانه یک بار فعال میشود: پنل بزرگترین آستانه گذراندهشده را به یاد میآورد و اعلان را تکرار نمیکند. فقط کاربران فعال با محدودیت ترافیک تعیینشده به حساب میآیند. بررسی هر 5 دقیقه انجام میشود.
اگر اعلانها بیش از حد شوند، رویداد جداگانهای میآید:
errors.bandwidth_usage_threshold_reached_max_notifications — این نشانهای است
که در یک گذر بیش از حد مجاز کاربر پردازش شده است.
کاربران متصلنشده
زمانی سودمند است که دسترسی داده شده، اما کاربر هرگز کلاینت را تنظیم نکرده است.
| متغیر | پیشفرض | توضیح |
|---|---|---|
NOT_CONNECTED_USERS_NOTIFICATIONS_ENABLED | false | اعلانها را فعال میکند |
NOT_CONNECTED_USERS_NOTIFICATIONS_AFTER_HOURS | [6, 24, 48] | ساعت پس از ساخت کاربر |
مقدارها نمیتوانند بیشتر از سه باشند، هرکدام عدد صحیحی از 1 تا 168، صعودی.
شمارش از لحظه ساخت کاربر انجام میشود، نه از ارائه اشتراک. بررسی هر 10 دقیقه
انجام میشود. در رویداد meta.notConnectedAfterHours با آستانه واقعی میآید.
برای کارایی، در چنین رویدادهایی فیلدهای activeInternalSquads و
lastConnectedNode خالیاند. هنگام پردازش از آنها استفاده نکنید.
انقضای اشتراک
یادآوریها پیش و پس از expireAt میآیند، بسته به علامت مقدار.
| متغیر | پیشفرض | توضیح |
|---|---|---|
EXPIRATION_NOTIFICATIONS_ENABLED | false | یادآوریها را فعال میکند |
EXPIRATION_NOTIFICATIONS | [-72, -48, -24, 24] | ساعت نسبت به expireAt |
| علامت | معنی | نمونه |
|---|---|---|
| منفی | اشتراک پس از این تعداد ساعت منقضی میشود | -24 — یک شبانهروز پیش |
| مثبت | اشتراک این تعداد ساعت پیش منقضی شده است | 24 — یک شبانهروز بعد |
صفر ممنوع است. مقدارها اعداد صحیحی از −168 تا 168، صعودی، بدون تکرار؛ حداکثر
پنج منفی و پنج مثبت. رویداد meta.expiration را با همان عدد دارد. بررسی هر
دقیقه یک بار انجام میشود.
تنظیم دقیق کانالها
افزون بر کلیدهای عمومی، فایلی وجود دارد:
/var/lib/remnawave/configs/notifications/notifications-config.yml داخل
کانتینر. در آن برای هر رویداد مشخص شده که به Telegram و به Webhook فرستاده شود
یا نه، و میتوان آدرسهای Webhook جداگانه افزود.
events:
user.expired:
telegram: true
webhook: true
service.login_attempt_failed:
telegram: true
webhook: false
additionalWebhookUrls:
- https://example.com/xlada/security
رویدادی که در این فایل نباشد خاموش شمرده میشود. اگر اعلانی نمیآید، نخست بررسی کنید که رویداد در پیکربندی توصیف شده باشد و کانال موردنیاز فعال باشد.
کارهای اعلان فقط زمانی اجرا میشوند که حداقل یک کانال فعال باشد — Telegram یا
Webhookها. پرداختهای زیرساخت CRM یک بار در شبانهروز، ساعت 17:00 بررسی
میشوند. ثبت ورودهای ناموفق به پنل در service.login_attempt_failed میآید و
خود رمز عبور در اعلان گنجانده نمیشود.
گامهای بعدی
- Webhookها — رویدادها، امضای payload و تلاشهای مجدد.
- متغیرهای محیطی — بررسی کامل
.env. - محدودیت دستگاه (HWID) — رویدادهای دستگاه.
- خطاهای رایج — اگر اعلانها نمیآیند.