PasarguardBotv1.3.2
پنل ادمینمنوی پنل‌ها

اطلاع‌رسانی حجم و زمان

حالت وب‌هوک و ربات برای هشدار کم‌حجم و انقضای کانفیگ

ربات می‌تواند وقتی حجم کاربر کم شد یا زمان سرویس رو به اتمام است، به کاربر پیام بدهد. برای هر پنل دو حالت دارید:

حالتعلامت روی دکمهمعنی
ربات (پیش‌فرض)🤖خود ربات هر دقیقه از پنل لیست یوزرها را می‌گیرد و چک می‌کند
وب‌هوک (پیشنهادی)🔔خود پنل فقط برای همان یوزر رویداد می‌فرستد به ربات

پیشنهاد

حالت وب‌هوک را فعال کنید؛ سبک‌تر، دقیق‌تر و بدون فشار اضافه روی پنل است.

مرتبط با نمای کلی منوی پنل‌ها.


حالت ربات — پیش‌فرض

در این حالت ربات با کرون حدود هر ۶۰ ثانیه به پنل API می‌زند، یوزرها را می‌خواند و حجم/زمان را چک می‌کند.

چرا پیشنهاد نمی‌شود:

  • روی پنل‌های شلوغ هر دقیقه تعداد زیادی درخواست به پنل می‌خورد
  • بار CPU و API پنل بالا می‌رود
  • فقط برای پنل‌هایی اجرا می‌شود که وب‌هوک روشن نیست

اگر همه پنل‌ها روی وب‌هوک باشند، این کرون برای آن‌ها رد می‌شود.


حالت وب‌هوک — پیشنهادی

پنل پاسارگارد وقتی رویدادی رخ دهد (مثلاً رسیدن به درصد مصرف یا روزهای باقی‌مانده)، همان یوزر را برای ربات می‌فرستد. ربات دیگر لازم نیست کل یوزرها را پول کند.

مزیت‌ها:

  • بهینه‌تر و سبک‌تر
  • فشار روی پنل خیلی کمتر
  • هشدار نزدیک‌تر به لحظهٔ واقعی رویداد

فعال‌سازی در ربات

  1. وارد پنل مدیریت شوید.
  2. منوی پنل‌ها را باز کنید و پنل مورد نظر را انتخاب کنید.
  3. دکمهٔ اطلاع‌رسانی را بزنید تا به حالت وب‌هوک برود:
    • اطلاع‌رسانی (🤖) = حالت ربات
    • اطلاع‌رسانی (🔔) = حالت وب‌هوک
  4. پیام تأیید شبیه این است: وضعیت اطلاع‌رسانی به وب‌هوک 🔔

اگر در ربات هنوز حالت ربات (🤖) باشد، رویدادهای وب‌هوک آن پنل نادیده گرفته می‌شوند و کرون ممکن است دوباره پنل را چک کند.


ست کردن در پنل پاسارگارد

مسیر داخل پنل: Settings → Webhook

روی تصویر کلیک کنید تا تمام‌صفحه باز شود:

تنظیمات Webhook در پاسارگارد

۱ — گرفتن URL و Secret از سرور ربات

روی سرور ربات:

pasarguardbot

گزینهٔ 8) Show webhook & URLs:

URL:     http://IP_یا_دامنه:6160/api/webhook
Header:  x-webhook-secret: <مقدار WEBHOOK_SECRET>

همین دو مقدار را در پنل می‌گذارید. اگر دامنه دارید، به‌جای IP همان دامنه را استفاده کنید. جزئیات: نصب و منوی مدیریت سرور.

۲ — General Settings

گزینهپیشنهادتوضیح
Enable Webhooksروشن (ON)بدون این، هیچ رویدادی ارسال نمی‌شود
Timeout (seconds)مثلاً 180مهلت پاسخ ربات (۱ تا ۳۰۰)
Retry Attemptsمثلاً 3تعداد تلاش مجدد اگر ارسال شکست بخورد
Proxy URLخالی (معمولاً)فقط اگر پنل برای دسترسی به ربات به پروکسی نیاز دارد

۳ — Webhook Endpoints

  1. Add Webhook را بزنید.
  2. در فیلد URL آدرس ربات را بگذارید، مثلاً:
http://YOUR_SERVER_IP:6160/api/webhook

یا با دامنه:

https://bot.example.com/api/webhook
  1. در فیلد Secret دقیقاً همان مقدار WEBHOOK_SECRET از .env ربات را بگذارید (همان چیزی که گزینهٔ ۸ نشان می‌دهد).
  2. برای یک ربات معمولاً یک Endpoint کافی است؛ Endpoint اشتباه را حذف کنید.

پورت و مسیر

پورت پیش‌فرض ربات 6160 است و مسیر باید دقیقاً /api/webhook باشد.
پورت‌هایی مثل 8001 یا 8180 مربوط به ربات‌های دیگر هستند؛ برای PasarguardBot از خروجی گزینهٔ ۸ استفاده کنید.

۴ — Days Left Notifications

مشخص می‌کند چند روز مانده به انقضا، پنل رویداد بفرستد.

  1. روی + بزنید و عدد روز را وارد کنید.
  2. نمونهٔ رایج: 7 و 2 و 1
  3. مقادیر اضافه را می‌توانید حذف کنید.

بدون حداقل یک عدد، هشدار «روز باقی‌مانده» از وب‌هوک نمی‌آید.

۵ — Usage Percentage Notifications

آستانهٔ درصد مصرف حجم را ست می‌کند.

  1. روی + بزنید و درصد را وارد کنید (مثلاً 90).
  2. وقتی مصرف به آن درصد برسد، پنل رویداد می‌فرستد و ربات پیام کم‌حجم می‌دهد.
  3. در صورت نیاز چند آستانه بگذارید (مثلاً 80 و 90).

بدون حداقل یک درصد، هشدار کم‌حجم از وب‌هوک کار نمی‌کند.

۶ — ذخیره

پایین صفحه Save را بزنید. بدون Save تنظیمات اعمال نمی‌شود.


ترتیب درست

  1. از pasarguardbot گزینهٔ ۸، URL و Secret را بردارید
  2. در پنل: Settings → Webhook → Enable Webhooks = ON
  3. یک Endpoint با همان URL و Secret اضافه کنید
  4. Days Left (مثلاً ۱ / ۲ / ۷) و Usage Percentage (مثلاً ۹۰) را ست کنید
  5. Save
  6. در ربات، روی همان پنل اطلاع‌رسانی را روی 🔔 بگذارید
  7. از سرور پنل، پورت 6160 سرور ربات باید در دسترس باشد

عیب‌یابی

مشکلبررسی
هیچ پیامی نمی‌آیدEnable Webhooks روشن است؟ Save زده‌اید؟
پنل به ربات نمی‌رسدIP/دامنه و پورت 6160 درست است؟ فایروال باز است؟
Secret اشتباهمقدار Secret باید عین WEBHOOK_SECRET باشد
ربات رویداد را رد می‌کنددکمهٔ اطلاع‌رسانی همان پنل روی 🔔 است؟
فقط حجم یا فقط زمانآستانه‌های Percentage یا Days Left خالی نمانده باشد

نکات

  • پیش‌فرض ربات حالت 🤖 است؛ برای هر پنل جدا باید به 🔔 عوضش کنید.
  • اگر چند پنل پاسارگارد دارید، در هر پنل وب‌هوک را جدا ست کنید (یا همان Endpoint ربات را در همه بگذارید).
  • تا وقتی حتی یک پنل در ربات روی 🤖 باشد، کرون همچنان برای همان پنل‌ها هر دقیقه API می‌زند.
  • متن پیام‌های اطلاع‌رسانی را از متن‌ها و دکمه‌ها می‌توانید ویرایش کنید.

On this page