اطلاعرسانی حجم و زمان
حالت وبهوک و ربات برای هشدار کمحجم و انقضای کانفیگ
ربات میتواند وقتی حجم کاربر کم شد یا زمان سرویس رو به اتمام است، به کاربر پیام بدهد. برای هر پنل دو حالت دارید:
| حالت | علامت روی دکمه | معنی |
|---|---|---|
| ربات (پیشفرض) | 🤖 | خود ربات هر دقیقه از پنل لیست یوزرها را میگیرد و چک میکند |
| وبهوک (پیشنهادی) | 🔔 | خود پنل فقط برای همان یوزر رویداد میفرستد به ربات |
پیشنهاد
حالت وبهوک را فعال کنید؛ سبکتر، دقیقتر و بدون فشار اضافه روی پنل است.
مرتبط با نمای کلی منوی پنلها.
حالت ربات — پیشفرض
در این حالت ربات با کرون حدود هر ۶۰ ثانیه به پنل API میزند، یوزرها را میخواند و حجم/زمان را چک میکند.
چرا پیشنهاد نمیشود:
- روی پنلهای شلوغ هر دقیقه تعداد زیادی درخواست به پنل میخورد
- بار CPU و API پنل بالا میرود
- فقط برای پنلهایی اجرا میشود که وبهوک روشن نیست
اگر همه پنلها روی وبهوک باشند، این کرون برای آنها رد میشود.
حالت وبهوک — پیشنهادی
پنل پاسارگارد وقتی رویدادی رخ دهد (مثلاً رسیدن به درصد مصرف یا روزهای باقیمانده)، همان یوزر را برای ربات میفرستد. ربات دیگر لازم نیست کل یوزرها را پول کند.
مزیتها:
- بهینهتر و سبکتر
- فشار روی پنل خیلی کمتر
- هشدار نزدیکتر به لحظهٔ واقعی رویداد
فعالسازی در ربات
- وارد پنل مدیریت شوید.
- منوی پنلها را باز کنید و پنل مورد نظر را انتخاب کنید.
- دکمهٔ اطلاعرسانی را بزنید تا به حالت وبهوک برود:
اطلاعرسانی (🤖)= حالت رباتاطلاعرسانی (🔔)= حالت وبهوک
- پیام تأیید شبیه این است:
وضعیت اطلاعرسانی به وبهوک 🔔
اگر در ربات هنوز حالت ربات (🤖) باشد، رویدادهای وبهوک آن پنل نادیده گرفته میشوند و کرون ممکن است دوباره پنل را چک کند.
ست کردن در پنل پاسارگارد
مسیر داخل پنل: Settings → 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
- Add Webhook را بزنید.
- در فیلد URL آدرس ربات را بگذارید، مثلاً:
http://YOUR_SERVER_IP:6160/api/webhookیا با دامنه:
https://bot.example.com/api/webhook- در فیلد Secret دقیقاً همان مقدار
WEBHOOK_SECRETاز.envربات را بگذارید (همان چیزی که گزینهٔ ۸ نشان میدهد). - برای یک ربات معمولاً یک Endpoint کافی است؛ Endpoint اشتباه را حذف کنید.
پورت و مسیر
پورت پیشفرض ربات 6160 است و مسیر باید دقیقاً /api/webhook باشد.
پورتهایی مثل 8001 یا 8180 مربوط به رباتهای دیگر هستند؛ برای PasarguardBot از خروجی گزینهٔ ۸ استفاده کنید.
۴ — Days Left Notifications
مشخص میکند چند روز مانده به انقضا، پنل رویداد بفرستد.
- روی + بزنید و عدد روز را وارد کنید.
- نمونهٔ رایج:
7و2و1 - مقادیر اضافه را میتوانید حذف کنید.
بدون حداقل یک عدد، هشدار «روز باقیمانده» از وبهوک نمیآید.
۵ — Usage Percentage Notifications
آستانهٔ درصد مصرف حجم را ست میکند.
- روی + بزنید و درصد را وارد کنید (مثلاً
90). - وقتی مصرف به آن درصد برسد، پنل رویداد میفرستد و ربات پیام کمحجم میدهد.
- در صورت نیاز چند آستانه بگذارید (مثلاً
80و90).
بدون حداقل یک درصد، هشدار کمحجم از وبهوک کار نمیکند.
۶ — ذخیره
پایین صفحه Save را بزنید. بدون Save تنظیمات اعمال نمیشود.
ترتیب درست
- از
pasarguardbotگزینهٔ ۸، URL و Secret را بردارید - در پنل: Settings → Webhook → Enable Webhooks = ON
- یک Endpoint با همان URL و Secret اضافه کنید
- Days Left (مثلاً ۱ / ۲ / ۷) و Usage Percentage (مثلاً ۹۰) را ست کنید
- Save
- در ربات، روی همان پنل اطلاعرسانی را روی
🔔بگذارید - از سرور پنل، پورت
6160سرور ربات باید در دسترس باشد
عیبیابی
| مشکل | بررسی |
|---|---|
| هیچ پیامی نمیآید | Enable Webhooks روشن است؟ Save زدهاید؟ |
| پنل به ربات نمیرسد | IP/دامنه و پورت 6160 درست است؟ فایروال باز است؟ |
| Secret اشتباه | مقدار Secret باید عین WEBHOOK_SECRET باشد |
| ربات رویداد را رد میکند | دکمهٔ اطلاعرسانی همان پنل روی 🔔 است؟ |
| فقط حجم یا فقط زمان | آستانههای Percentage یا Days Left خالی نمانده باشد |
نکات
- پیشفرض ربات حالت
🤖است؛ برای هر پنل جدا باید به🔔عوضش کنید. - اگر چند پنل پاسارگارد دارید، در هر پنل وبهوک را جدا ست کنید (یا همان Endpoint ربات را در همه بگذارید).
- تا وقتی حتی یک پنل در ربات روی
🤖باشد، کرون همچنان برای همان پنلها هر دقیقه API میزند. - متن پیامهای اطلاعرسانی را از متنها و دکمهها میتوانید ویرایش کنید.