PasarguardBotv3.1.0
پنل ادمین

پلن نمایندگی

چهار نوع پلن نمایندگی (ثابت، نامحدود، مصرفی، ساعتی)، فیلدها و افزودنی‌ها، قواعد تمدید، تغییر قیمت، ابزارهای اصلاح حساب نمایندگی، افزودن ادمین موجود و نکات ارتقا.

از مسیر پنل مدیریت → 🏢 پلن نمایندگی پلن‌هایی می‌سازید که کاربران با آن‌ها پنل نمایندگی (یک ادمین در پنل پاسارگارد) می‌خرند. پلن‌ها را مدیریت می‌کنید و ادمینی را که خودتان داخل پنل ساخته‌اید، بدون ساخت دوباره به ربات وصل می‌کنید. همین کارها در پنل تحت وب هم شدنی است و هر دو از یک مجموعه قاعده پیروی می‌کنند.

مرتبط با راهنمای نمایندگی کاربر.

پیش‌نیازهای فروش نمایندگی

منوی اصلی

P
PasarguardBot
online
🏢 پلن نمایندگی
منوی پلن‌های نمایندگی:
➕ ساخت پلن نمایندگی
📋 مدیریت پلن‌ها
➕ افزودن ادمین موجود
❌ بستن
☺Message🎤
دکمهکاربرد
➕ ساخت پلن نمایندگیساخت پلن جدید (پنل، نقش، نوع پلن، قیمت، محدودیت‌ها و افزودنی‌ها)
📋 مدیریت پلن‌هامشاهده، ویرایش، فعال/غیرفعال، نمایش دکمه، حذف
➕ افزودن ادمین موجودوصل کردن ادمینی که از قبل در پنل ساخته شده
❌ بستنخروج از منو

چهار نوع پلن

پلن جدید فقط یکی از این چهار نوع است. نوع پلن تعیین می‌کند نماینده چطور پول می‌دهد، چه چیزی را می‌تواند بعداً بخرد و ربات چه کارهایی را خودکار انجام می‌دهد.

نوعخلاصه
ثابتیک بستهٔ پیش‌پرداخت: یک مبلغ، یک حجم مشخص و یک مدت مشخص. با تمام شدن مدت منقضی می‌شود و با همان پلن تمدید می‌شود.
نامحدود (زمانی)پیش‌پرداخت فقط برای زمان: یک مبلغ و یک مدت، حجم همیشه نامحدود. منقضی می‌شود و با همان پلن تمدید می‌شود.
مصرفی (بر اساس حجم مصرف)پرداخت پس از مصرف: موقع خرید پولی کم نمی‌شود و به ازای هر گیگی که یوزرهای نماینده مصرف می‌کنند، هر دقیقه از کیف پول نماینده کسر می‌شود. انقضا و تمدید ندارد.
ساعتی (بر اساس زمان فعال بودن)پرداخت پس از مصرف: به ازای هر ساعتی که ادمین نماینده فعال است، سهم هر دقیقه از کیف پول کسر می‌شود. انقضا و تمدید ندارد.

جدول مقایسه

ثابتنامحدود (زمانی)مصرفی (بر اساس حجم مصرف)ساعتی (بر اساس زمان فعال بودن)
پرداختیک‌جا موقع خرید (قیمت پلن)یک‌جا موقع خرید (قیمت پلن)به ازای هر گیگ مصرف (قیمت هر گیگ)، هر دقیقه از کیف پولبه ازای هر ساعت فعال بودن (قیمت هر ساعت)، هر دقیقه از کیف پول
حجمالزامی، بیشتر از صفرندارد (همیشه نامحدود)اختیاری؛ سقف کل ترافیک (0 = نامحدود)اختیاری؛ سقف کل ترافیک (0 = نامحدود)
مدت (روز)الزامی، بیشتر از صفرالزامی، بیشتر از صفرنداردندارد
سقف یوزراختیاری (0 = نامحدود)اختیاری (0 = نامحدود)اختیاری (0 = نامحدود)اختیاری (0 = نامحدود)
نقش ادمینالزامی (از نقش‌های پنل)الزامیالزامیالزامی
پایان کارانقضا ← مهلت حذف ← حذف کاملانقضا ← مهلت حذف ← حذف کاملبدون انقضا؛ با خالی شدن کیف پول تعلیق و بعد از شارژ فعال‌سازی خودکاربدون انقضا؛ با خالی شدن کیف پول تعلیق و بعد از شارژ فعال‌سازی خودکار
تمدیدفقط با همان پلنفقط با همان پلننداردندارد
افزودنی‌هاروز اضافه، حجم اضافه، یوزر اضافهروز اضافه، یوزر اضافهیوزر اضافهیوزر اضافه
سقف مصرف دستی نماینده——دارد (📦 محدودیت مصرف)—
حداقل موجودی برای خرید——دارددارد
کد تخفیف در خریددارد———

حداقل موجودی برای خرید پلن مصرفی و ساعتی همان 🏷 حداقل شارژ نمایندگی است (پیش‌فرض ۱۰۰,۰۰۰ تومان) و در تب تنظیمات نمایندگی پنل تحت وب هم تنظیم می‌شود. خرید پلن ثابت و نامحدود فقط به اندازهٔ قیمت پلن موجودی لازم دارد.

کدام نوع را انتخاب کنم؟

  • می‌خواهید بستهٔ مشخص بفروشید و درآمدتان از اول معلوم باشد: ثابت.
  • می‌خواهید فقط زمان بفروشید و حجم را محدود نکنید: نامحدود (زمانی).
  • می‌خواهید نماینده دقیقاً به اندازهٔ ترافیکی که مصرف می‌کند پول بدهد: مصرفی (بر اساس حجم مصرف).
  • می‌خواهید نماینده به اندازهٔ زمانی که پنلش روشن است پول بدهد، مستقل از حجم: ساعتی (بر اساس زمان فعال بودن).

فیلدهای پلن

فرم پلن (در ربات و پنل تحت وب) فقط فیلدهایی را می‌پرسد که نوع انتخاب‌شده لازم دارد؛ فیلدهای بی‌استفاده پنهان‌اند و موقع ذخیره صفر می‌شوند تا پلن هیچ‌وقت مقدار متناقض نداشته باشد.

فیلدیعنیثابتنامحدودمصرفیساعتی
پنلپنلی که ادمین نماینده روی آن ساخته می‌شودالزامیالزامیالزامیالزامی
نقش (Role)نقش ادمین در پاسارگارد؛ از خود پنل خوانده می‌شود (نقش Owner در لیست نیست) و دسترسی‌های ادمین نماینده را تعیین می‌کندالزامیالزامیالزامیالزامی
قیمت پلنمبلغی که یک‌جا موقع خرید و هر تمدید کسر می‌شودالزامی، بیشتر از صفرالزامی، بیشتر از صفر——
قیمت هر گیگ مصرفمبلغ هر گیگ ترافیکی که یوزرهای نماینده مصرف می‌کنند——الزامی، بیشتر از صفر—
قیمت هر ساعتمبلغ هر ساعت فعال بودن ادمین نماینده (دقیقه‌ای کسر می‌شود)———الزامی، بیشتر از صفر
حجم (گیگ)سقف کل ترافیک ادمین نماینده در پنلالزامی، بیشتر از صفر— (نامحدود)اختیاری، 0 = نامحدوداختیاری، 0 = نامحدود
مدت (روز)مدت اعتبار از لحظهٔ خریدالزامی، بیشتر از صفرالزامی، بیشتر از صفر——
سقف یوزرحداکثر تعداد یوزری که نماینده می‌سازداختیاری، 0 = نامحدوداختیاری، 0 = نامحدوداختیاری، 0 = نامحدوداختیاری، 0 = نامحدود
قیمت هر روز اضافهروز اضافهاختیاری، 0 = خاموشاختیاری، 0 = خاموش——
قیمت هر گیگ حجم اضافهحجم اضافهاختیاری، 0 = خاموش———
قیمت هر یوزر اضافهیوزر اضافهاختیاری، 0 = خاموشاختیاری، 0 = خاموشاختیاری، 0 = خاموشاختیاری، 0 = خاموش

مقدار منفی در هیچ فیلدی پذیرفته نمی‌شود. اگر مقداری نامعتبر باشد، ذخیره رد می‌شود و پیام دقیق می‌آید؛ مثلاً حجم پلن ثابت باید بیشتر از صفر باشد.، مدت پلن باید بیشتر از صفر روز باشد. یا قیمت هر ساعت باید بیشتر از صفر باشد.

افزودنی‌ها: روز اضافه، حجم اضافه، یوزر اضافه

افزودنی‌ها چیزهایی هستند که نماینده بعد از خرید، روی همان نمایندگی و از کیف پول خودش می‌خرد. قیمت هر افزودنی روی هر پلن جداگانه و به ازای یک واحد تعیین می‌شود. قیمت 0 یعنی خاموش؛ افزودنی خاموش به نماینده نشان داده نمی‌شود و در توضیح پلن هم ذکر نمی‌شود.

افزودنیواحدبرای چه نوع پلنیچه چیزی را تغییر می‌دهدکی نمایش داده نمی‌شود
روز اضافهروزثابت، نامحدودتاریخ انقضا را به تعداد روز جلو می‌برد. روی حساب منقضی هم کار می‌کند؛ روزها از همین لحظه حساب می‌شوند و ادمین در پنل دوباره فعال می‌شودحساب تاریخ انقضا ندارد
حجم اضافهگیگفقط ثابتحجم را به سقف فعلی اضافه می‌کند (روی سقفی که در خود پنل است)حساب منقضی است (اول باید تمدید شود)، یا حجم حساب نامحدود است
یوزر اضافهیوزرهمهٔ نوع‌هاسقف یوزر را بالا می‌برد. دائمی است و با تمدید یا تغییر پلن از بین نمی‌رودسقف یوزر حساب 0 (نامحدود) است

سقف هر خرید: ۳۶۵۰ روز، ۱۰۰٬۰۰۰ گیگ و ۱۰٬۰۰۰ یوزر. قبل از پرداخت، نماینده پیش‌نمایش «قبل ← بعد» و مبلغ کل را می‌بیند. اگر اعمال روی پنل شکست بخورد، مبلغ به کیف پول برمی‌گردد. هر خرید در تاریخچهٔ نمایندگی و لاگ نمایندگی‌ها ثبت می‌شود. حساب قفل‌شده توسط ادمین افزودنی نمی‌خرد.

دکمهٔ هر افزودنی در تنظیمات پنل

علاوه بر قیمت پلن، هر افزودنی یک کلید روشن/خاموش در 🏢 دکمه‌های نمایندگی هر پنل دارد (پیش‌فرض روشن). افزودنی فقط وقتی به نماینده نشان داده می‌شود که هم قیمتش روی پلن بیشتر از صفر باشد و هم کلیدش برای آن پنل روشن باشد. دکمهٔ خاموش در API وب‌اپ هم رد می‌شود.

افزودنیکلید دکمه
روز اضافهextra_days
حجم اضافهextra_volume
یوزر اضافهbuy_user_capacity (همان کلید قبلی «خرید ظرفیت کاربر اضافه»)

قیمت یوزر اضافه دیگر روی پنل نیست

قبلاً قیمت «خرید ظرفیت کاربر» برای کل پنل تعیین می‌شد. حالا قیمت یوزر اضافه روی هر پلن تنظیم می‌شود و تنظیم قدیمی پنل دیگر برای فروش استفاده نمی‌شود. موقع ارتقا، قیمت قدیمی روی پلن‌های همان پنل کپی شده است؛ نکات ارتقا را ببینید.

تمدید

فقط پلن‌های ثابت و نامحدود (زمانی) تمدید می‌شوند. قواعد:

  1. فقط با پلن خریداری‌شده. تمدید همیشه با همان پلنی است که نمایندگی روی آن است. پلن دیگری برای تمدید پیشنهاد یا پذیرفته نمی‌شود، چون پلن دیگر نقش و سقف یوزر متفاوتی دارد. اگر لازم است نمایندگی روی پلن دیگری برود، اول از ابزار تغییر پلن استفاده کنید.
  2. پلن غیرفعال هم تمدید می‌شود. غیرفعال کردن پلن فقط آن را از فروش به خریداران جدید برمی‌دارد؛ نماینده‌های فعلی همچنان آن را تمدید می‌کنند.
  3. روزها از انقضای فعلی. روزهای پلن به تاریخ انقضای فعلی اضافه می‌شوند، پس روزهای باقی‌مانده حفظ می‌شوند. اگر حساب منقضی شده باشد، از همین لحظه حساب می‌شود و ادمین دوباره فعال می‌شود.
  4. حجم روی حجم فعلی. در پلن ثابت، حجم پلن به سقف فعلی اضافه می‌شود؛ حجم مصرف‌نشده و حجم اضافه‌ای که قبلاً خریده شده از بین نمی‌رود. پلن نامحدود حجمی اضافه نمی‌کند.
  5. چیزی ریست نمی‌شود. مصرف، یوزرها و یوزر اضافهٔ خریداری‌شده دست نمی‌خورند.
  6. قیمت = قیمت فعلی پلن. کد تخفیف در تمدید مثل قبل قابل استفاده است.

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

تغییر قیمت پلن

نوعاثر تغییر قیمت
مصرفی و ساعتیفوری روی همهٔ نمایندگی‌های فعال همین پلن اعمال می‌شود، چون هزینه همیشه با نرخ فعلی پلن حساب می‌شود. به نماینده‌های متصل پیام تغییر نرخ (قبلی و جدید) فرستاده می‌شود و در تاریخچهٔ هر نمایندگی ثبت می‌شود؛ در مقصد لاگ‌ها فقط یک پیام خلاصه می‌آید.
ثابت و نامحدودفقط روی خریدها و تمدیدهای بعدی. نماینده‌های فعلی تا تمدید بعدی همان چیزی را دارند که خریده‌اند.
قیمت افزودنی‌هااز خرید بعدی همان افزودنی، برای همهٔ نمایندگی‌های این پلن.

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

پلن‌های قدیمی

  • پلن‌های هر گیگابایت و هر ترابایت (per_gb / per_tb) که قبلاً ساخته شده‌اند، مثل قبل کار و صورتحساب می‌کنند و با همان نوع ویرایش می‌شوند، ولی پلن جدیدی از این نوع‌ها ساخته نمی‌شود. فقط افزودنی یوزر اضافه برایشان فعال‌شدنی است.
  • پلن ثابتِ قدیمی با حجم 0 (نامحدود) یا مدت 0 تا وقتی ویرایش نشده، مثل قبل کار می‌کند. با اولین ویرایش باید مقدار معتبر بدهید (حجم و مدت بیشتر از صفر). اگر منظورتان پلن بدون سقف حجم است، پلن نامحدود (زمانی) جدید بسازید.
  • نوع پلنی که نمایندگی به آن وصل است عوض نمی‌شود.

ساخت پلن نمایندگی

پنل

➕ ساخت پلن نمایندگی را بزنید و پنل را انتخاب کنید.

نقش (Role)

ربات نقش‌های ادمین را از خود پنل می‌خواند و به‌صورت دکمه نشان می‌دهد (۱۵ نقش در هر صفحه، با ◀️ قبلی و بعدی ▶️). نقش Owner در لیست نیست. ادمینی که برای نماینده ساخته می‌شود همین نقش و دسترسی‌هایش را می‌گیرد. اگر پیام نقشی از پنل دریافت نشد آمد، دسترسی حساب پنل را بررسی کنید.

نوع پلن

یکی از ثابت، نامحدود (زمانی)، مصرفی (بر اساس حجم مصرف) یا ساعتی (بر اساس زمان فعال بودن). با انتخاب نوع، راهنمای همان نوع نمایش داده می‌شود: چه چیزی الزامی است، نماینده چه کارهایی می‌تواند بکند و ربات چه کارهایی را خودکار انجام می‌دهد.

قیمت و محدودیت‌ها

ربات فقط فیلدهای همان نوع را به ترتیب می‌پرسد:

  1. قیمت پلن (تومان)
  2. حجم (گیگ، بیشتر از صفر)
  3. سقف یوزر (0 نامحدود)
  4. مدت (روز، بیشتر از صفر)
  5. قیمت روز اضافه، حجم اضافه و یوزر اضافه (0 = خاموش)

پیام ✅ پلن نمایندگی #12 ساخته شد. یعنی پلن فعال است و در خرید نمایش داده می‌شود.

📋 مدیریت پلن‌ها

پنل را انتخاب کنید و روی پلن بزنید. جزئیات پلن (پنل، نوع، نقش، وضعیت، قیمت، حجم، سقف یوزر، مدت، قیمت افزودنی‌ها، ظاهر دکمهٔ خرید و تعداد نمایندگی‌های متصل) با دکمه‌های مدیریت نمایش داده می‌شود:

دکمهکار
✏️ قیمتقیمت جدید. در ثابت و نامحدود قیمت پلن، در مصرفی قیمت هر گیگ و در ساعتی قیمت هر ساعت عوض می‌شود. اثر تغییر قیمت را ببینید.
🔄 وضعیتفعال یا غیرفعال کردن پلن. پلن غیرفعال برای خرید جدید نمایش داده نمی‌شود، ولی نمایندگی‌های قبلی کار می‌کنند و تمدید هم می‌شوند.
🎨 نمایش دکمه✏️ متن دکمه (/skip برای متن خودکار)، رنگ آبی/سبز/قرمز/—، 🖼 آیکون ایموجی پریمیوم، 🧹 حذف آیکون و ♻️ ریست نمایش
🗑 حذفحذف پلن. اگر نمایندگی‌ای به این پلن وصل باشد، حذف نمی‌شود (در جزئیات «قابل حذف نیست» نوشته می‌شود).

قیمت افزودنی‌ها و بقیهٔ فیلدها هم از جزئیات پلن (یا کامل‌تر، از فرم پلن در پنل تحت وب) ویرایش می‌شوند.

پلنی که نمایندگی به آن وصل است حذف نمی‌شود و پنل و نوع آن هم قفل است؛ نمایندگیِ بدون پلن نرخ و قواعدش را از دست می‌دهد. به‌جای حذف، پلن را غیرفعال کنید.


افزودن ادمین موجود

این قابلیت برای زمانی است که خودتان ادمین نمایندگی را از داخل پنل (پاسارگارد) ساخته‌اید و فقط می‌خواهید همان ادمین را داخل ربات ثبت کنید تا کاربر از بخش «نمایندگی‌های من» مدیریتش کند.

ربات ادمین جدید در پنل نمی‌سازد؛ همان ادمین موجود را لینک می‌کند. از کیف پول کاربر هم چیزی کسر نمی‌شود.

پیش‌نیازها

قبل از شروع این موارد را آماده کنید:

  1. پنل در ربات متصل و در دسترس باشد.
  2. ادمین نمایندگی را از قبل داخل همان پنل ساخته باشید (نام کاربری مشخص).
  3. حداقل یک پلن نمایندگی برای همان پنل در ربات ساخته باشید (برای صورتحساب و مدیریت داخل ربات).
  4. کاربر مقصد قبلاً ربات را /start کرده باشد.
  5. همان ترکیب «پنل + نام کاربری ادمین» قبلاً در ربات ثبت نشده باشد.

مراحل به‌صورت کامل

مرحله ۱ — ورود به منو

  1. وارد پنل مدیریت شوید (/panel یا دکمه پنل مدیریت).
  2. دکمه 🏢 پلن نمایندگی را بزنید.
  3. از منو، ➕ افزودن ادمین موجود را انتخاب کنید.

متن صفحه:

➕ افزودن ادمین موجود

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

مرحله ۲ — انتخاب پنل

پنلی که ادمین را داخل آن ساخته‌اید انتخاب کنید.

مرحله ۳ — ارسال نام کاربری ادمین پنل

ربات از شما می‌خواهد نام کاربری همان ادمین پنل را بفرستید:

➕ افزودن ادمین موجود — {نام پنل}

نام کاربری ادمینی که داخل پنل ساخته‌اید را ارسال کنید.
مثال: agency01

نام کاربری را دقیقاً مثل پنل ارسال کنید (مثلاً agency01).

اگر نام کاربری در پنل پیدا نشود، یا از قبل در ربات ثبت شده باشد، خطا می‌گیرید و می‌توانید دوباره ارسال کنید.

پس از پیدا شدن ادمین، پیش‌نمایش نشان داده می‌شود؛ معمولاً شامل این موارد است:

  • نام پنل و نام کاربری
  • وضعیت ادمین
  • نقش (در صورت وجود)
  • ترافیک مصرف‌شده / سقف
  • تعداد یوزر (/ سقف در صورت وجود)
  • انقضا (در صورت وجود)
  • نوت فعلی

سپس از شما می‌خواهد آیدی تلگرام را بفرستید:

اگر اطلاعات درست است، آیدی عددی تلگرام کاربر را ارسال کنید.
⚠️ آن کاربر باید قبلاً ربات را /start کرده باشد.

مرحله ۴ — ارسال آیدی عددی تلگرام

آیدی عددی کاربر مقصد را ارسال کنید (نه یوزرنیم).

حالتنتیجه
عدد نامعتبردوباره از شما می‌خواهد
کاربر /start نکردهکاربر {id} ربات را استارت نکرده است.
معتبربه مرحله انتخاب پلن می‌روید

مرحله ۵ — انتخاب پلن صورتحساب

لیست پلن‌های نمایندگی همان پنل نمایش داده می‌شود. روی هر دکمه نوع پلن هم دیده می‌شود (ثابت / نامحدود / مصرفی / ساعتی / …).

این پلن فقط برای مدیریت و صورتحساب داخل ربات است؛ محدودیت‌های فعلی ادمین در پنل (data_limit، max_users، وضعیت و …) عوض نمی‌شوند. اگر بعداً خواستید محدودیت‌های پنل با ربات یکی شود، از ابزارهای ادمین استفاده کنید.

مرحله ۶ — تایید نهایی

قبل از اجرا صفحه تایید با این هشدارها می‌آید:

  • رمز ادمین در پنل عوض می‌شود (رمز فعلی از پنل قابل خواندن نیست)
  • نوت روی آیدی تلگرام تنظیم می‌شود
  • محدودیت‌های فعلی پنل حفظ می‌مانند
  • به کاربر پیام فعال‌سازی با رمز جدید ارسال می‌شود

دکمه‌ها:

  • ✅ تایید و افزودن — اجرای عملیات
  • بازگشت به لیست پلن — انتخاب دوباره پلن

مرحله ۷ — نتیجه

پس از تایید موفق:

  1. ردیف نمایندگی در ربات ساخته می‌شود.
  2. رمز ادمین در پنل به رمز جدید تغییر می‌کند و در ربات ذخیره می‌شود.
  3. نوت ادمین پنل روی آیدی تلگرام کاربر تنظیم می‌شود.
  4. به کاربر پیام فعال‌سازی ارسال می‌شود (نام پنل، کد نمایندگی، آدرس ورود، نام کاربری، رمز جدید، نوع پلن، و اینکه از «نمایندگی‌های من» قابل مدیریت است).
  5. در پیام خودتان (ادمین) هم کد نمایندگی و رمز جدید نمایش داده می‌شود.
  6. اگر ارسال پیام به کاربر ناموفق باشد، افزودن همچنان موفق است؛ رمز را از پیام خودتان دستی به او بدهید.
  7. لاگ با عنوان «افزودن ادمین موجود» ثبت می‌شود.

کاربر بعداً همان نمایندگی را در نمایندگی‌های من می‌بیند و مثل خرید عادی مدیریت می‌کند.

خلاصه مسیر

🏢 پلن نمایندگی
  → ➕ افزودن ادمین موجود
  → انتخاب پنل
  → ارسال نام کاربری ادمین پنل
  → ارسال آیدی عددی تلگرام کاربر
  → انتخاب پلن صورتحساب
  → ✅ تایید و افزودن

چه کارهایی انجام نمی‌شود

  • ادمین جدید در پنل ساخته نمی‌شود
  • از کیف پول کاربر مبلغی کسر نمی‌شود
  • کد تخفیف اعمال نمی‌شود
  • محدودیت‌ها و وضعیت فعلی پنل از روی پلن ربات بازنویسی نمی‌شوند

صورتحساب و کارهای خودکار

ربات در پس‌زمینه نمایندگی‌ها را مدیریت می‌کند:

کارزمان‌بندیتوضیح
صورتحساب مصرفیهر ۶۰ ثانیهترافیک جدید هر نمایندگی مصرفی × قیمت فعلی هر گیگ، از کیف پول نماینده کم می‌شود. نقطهٔ «تا کجا حساب شده» روی خود حساب نگه داشته می‌شود و کسر و جابه‌جایی آن در یک تراکنش انجام می‌شود، پس مصرفی دو بار حساب نمی‌شود. اگر شمارندهٔ مصرف در پنل ریست شود، مصرف بعد از ریست درست حساب می‌شود
صورتحساب ساعتیهر ۶۰ ثانیهسهم همان دقیقه از نرخ فعلی ساعتی کسر می‌شود؛ کسرهای هر ساعت در دفتر صورت‌حساب در یک ردیف جمع می‌شوند. زمانِ توقف یا تعلیق هزینه ندارد
تعلیق خودکارهر ۶۰ ثانیهاگر موجودی برای هزینهٔ جدید کافی نباشد، ادمین نماینده در پنل غیرفعال می‌شود و نماینده پیام می‌گیرد
فعال‌سازی دوبارههر ۶۰ ثانیهبعد از شارژ کیف پول و کافی شدن موجودی، نمایندگی تعلیق‌شده خودکار فعال می‌شود
سقف مصرف دستیهر ۶۰ ثانیهدر پلن مصرفی، اگر مصرف به سقفی که خود نماینده گذاشته برسد، پنل غیرفعال می‌شود
هشدار موجودی کمهر ۵ دقیقهاگر کیف پول نماینده با خرج فعلی کمتر از هشدار موجودی کم (پیش‌فرض ۶ ساعت) دوام بیاورد، یک بار هشدار با زمان تقریبی باقی‌مانده می‌گیرد. بعد از شارژ، هشدار دوباره فعال می‌شود. فقط وقتی فروش نمایندگی روشن باشد اجرا می‌شود.
انقضا (ثابت و نامحدود)هر ۶۰ ثانیهبا تمام شدن مدت، ادمین در پنل غیرفعال می‌شود و نماینده پیام ⌛ نمایندگی … منقضی شد. را می‌گیرد
حذف بعد از انقضابعد از مهلت حذف (پیش‌فرض ۷ روز)اگر تمدید نشود (یا روز اضافه خریده نشود)، ادمین و یوزرهایش از پنل و نمایندگی از ربات حذف می‌شوند و نماینده پیام حذف می‌گیرد. تا ادمین واقعاً از پنل پاک نشده، ردیف نمایندگی نگه داشته می‌شود و حذف دوباره امتحان می‌شود
پاکسازی سوابقخودکاردفتر صورت‌حساب قدیمی‌تر از ۹۰ روز و تاریخچهٔ رویدادها قدیمی‌تر از ۳۶۵ روز پاک می‌شوند

سقف حجم پلن (در ثابت، و در مصرفی و ساعتی اگر تعیین شده باشد) روی خود ادمین در پنل پاسارگارد ثبت می‌شود و پنل بعد از رسیدن به آن مصرف بیشتر را اجازه نمی‌دهد. نماینده با حجم اضافه (فقط ثابت) یا تمدید حجم را بالا می‌برد.

رویدادهایی مثل خرید، تمدید، خرید افزودنی، تعلیق، فعال‌سازی، انقضا، حذف و کارهای اصلاحی ادمین در مقصد لاگ‌ها ثبت می‌شوند. کسرهای دقیقه‌ای و جدول هزینه‌های مصرفی به تلگرام فرستاده نمی‌شوند تا کانال لاگ شلوغ نشود؛ این کسرها در تب صورت‌حساب پنل تحت وب و تاریخچهٔ هر نمایندگی دیده می‌شوند.

مهلت حذف، آستانهٔ هشدار موجودی، حداقل موجودی و ثبت بدهی مصرف در تب تنظیمات نمایندگی پنل تحت وب تنظیم می‌شوند.

ابزارهای ادمین برای هر نمایندگی

این ابزارها برای اصلاح یک حساب مشخص هستند و در پنل تحت وب (پنجرهٔ مدیریت هر حساب در حساب‌ها) و در ربات (مدیریت کاربر → کاربر → 🏢 نمایندگی‌های کاربر) در دسترس‌اند. هر ابزار اول روی پنل اعمال می‌شود و فقط اگر پنل پذیرفت در ربات ذخیره می‌شود، و همه با نام ادمین در تاریخچهٔ نمایندگی و لاگ ثبت می‌شوند. هر ابزار فقط برای حسابی نمایش داده می‌شود که برایش معنا دارد.

ابزارچه می‌کندکی استفاده کنید
روز اضافهٔ رایگان (تمدید رایگان)تاریخ انقضا را بدون هزینه چند روز جلو می‌برد؛ حساب منقضی دوباره فعال می‌شود. فقط برای حساب دارای انقضاجبران قطعی، هدیه، یا نجات حسابی که در مهلت حذف است
تنظیم / افزودن حجمحجم را روی یک مقدار مشخص (گیگ) می‌گذارد یا مقداری به آن اضافه می‌کند، رایگان. برای پلن نامحدود (زمانی) نیست؛ برای حسابی که حجمش نامحدود است فقط «تنظیم» شدنی استجبران حجم، اصلاح اشتباه، یا محدود کردن حجم حساب مصرفی/ساعتی
سقف یوزرسقف یوزر را مستقیم تعیین می‌کند (0 = نامحدود). مقدار بالاتر از سقف پلن به‌عنوان یوزر اضافه نگه داشته می‌شودهدیه دادن یوزر یا اصلاح سقف
تغییر پلنحساب را رایگان به پلن دیگری از همان پنل و همان نوع می‌برد. نقش و سقف یوزر از پلن جدید گرفته می‌شود و یوزر اضافهٔ خریداری‌شده حفظ می‌شود. حجم و انقضا تغییر نمی‌کنند؛ تمدید بعدی با پلن جدید و به قیمت آن استوقتی نماینده می‌خواهد با پلن دیگری تمدید کند، یا پلن قدیمی را جمع می‌کنید
همگام‌سازی با پنلآنچه ربات ذخیره کرده (وضعیت، حجم، سقف یوزر، نقش پلن) را دوباره روی ادمین در پنل می‌نویسدکسی ادمین را دستی در پنل تغییر داده، یا بعد از خطای پنل اطلاعات دو طرف یکی نیست
بخشیدن مصرف کسرنشدهفقط پلن مصرفی: ترافیکی که از آخرین کسر تا الان مصرف شده هیچ‌وقت حساب نمی‌شودمصرف ناخواسته (مثلاً حمله یا خطای پنل) که نمی‌خواهید از نماینده بگیرید
قفل / بازکردن قفلادمین را در پنل غیرفعال می‌کند و نماینده تا بازشدن قفل جز حذف هیچ کاری نمی‌تواند بکندتخلف، بدهی یا بررسی حساب
تمدیدتمدید با پلن خود حساب؛ مبلغ از کیف پول خود نماینده کسر می‌شود. روی حساب قفل‌شده هم کار می‌کندنماینده از شما خواسته تمدید کنید
رمز عبورنمایش رمز فعلی یا ساخت رمز جدیدنماینده رمز را گم کرده یا رمز لو رفته
حذفادمین و همهٔ یوزرهایش از پنل و نمایندگی از ربات حذف می‌شود. غیرقابل بازگشتپایان همکاری. اگر پنل خطا بدهد، نمایندگی در ربات باقی می‌ماند

برای نمایندگی مصرفی، 📦 محدودیت مصرف (سقف گیگ) هم از همین بخش تنظیم می‌شود.

دکمه‌هایی که خود نماینده در نمایندگی‌های من می‌بیند، برای هر پنل در 🏢 دکمه‌های نمایندگی تنظیم می‌شوند.


نکات ارتقا

این بخش برای مدیری است که ربات را از نسخهٔ قبل از «سیستم چهار نوع پلن» به‌روزرسانی می‌کند و برای مراجعهٔ بعدی ثبت شده است.

چه تغییری کرد

  • پلن جدید فقط ثابت، نامحدود (زمانی)، مصرفی یا ساعتی است؛ قبلاً فقط ثابت و مصرفی ساخته می‌شد.
  • تمدید فقط با پلن خریداری‌شده است (قبلاً با هر پلن ثابت همان پنل ممکن بود).
  • افزودنی‌های روز اضافه و حجم اضافه اضافه شدند و قیمت یوزر اضافه از تنظیمات پنل به روی هر پلن رفت.
  • ابزارهای اصلاح حساب (حجم، تغییر پلن، همگام‌سازی، بخشیدن مصرف) اضافه شدند.

مایگریشن‌های دیتابیس

شناسهچه می‌کنددادهٔ موجود
a5e2c7f9d3b1ستون billed_traffic را به reseller_accounts اضافه می‌کند: نقطهٔ «تا کجا صورتحساب شده» برای پلن مصرفی، روی خود حساببرای هر نمایندگی مصرفی از آخرین ردیف کسر مصرفی (یا شمارندهٔ قبلی در وضعیت صورتحساب) پر می‌شود، پس مصرفِ قبلاً کسرشده دوباره حساب نمی‌شود. حسابی که هیچ‌کدام را ندارد مثل قبل از صفر شروع می‌کند
c8d4f2a6e9b3ستون‌های addon_day_price، addon_gb_price و addon_user_price (پیش‌فرض 0) را به reseller_plans و ستون extra_users را به reseller_accounts اضافه می‌کنداگر «خرید ظرفیت کاربر» یک پنل روشن بوده، قیمت هر کاربر آن روی addon_user_price همهٔ پلن‌های همان پنل کپی می‌شود (اگر خاموش بوده، 0 = خاموش). برای هر حسابی که سقف یوزرش از سقف پلنش بیشتر است، extra_users = سقف یوزر حساب − سقف یوزر پلن ثبت می‌شود تا یوزرهای خریداری‌شده دائمی بمانند. نکته: اگر قبلاً سقف یوزر یک پلن را کم کرده باشید، تفاوت نماینده‌هایی که با سقف قبلی خریده‌اند هم «یوزر اضافه» حساب می‌شود؛ سقف فعلی‌شان تغییری نمی‌کند، فقط در «تغییر پلن» این تعداد روی سقف پلن جدید می‌آید (در صورت نیاز با «سقف یوزر» درستش کنید)

هر دو مایگریشن فقط ستون اضافه می‌کنند؛ هیچ ستون یا داده‌ای حذف نمی‌شود و هیچ سقفی روی پنل تغییر نمی‌کند. روزهای اضافه و حجم اضافه بعد از ارتقا خاموش‌اند (قیمت 0) تا خودتان روی پلن‌ها قیمت بگذارید.

مراحل ارتقا

از دیتابیس بکاپ بگیرید

قبل از هر کاری یک بکاپ کامل بگیرید (بکاپ و بازیابی).

ربات را متوقف کنید و مایگریشن را اجرا کنید

alembic upgrade head باید وقتی ربات خاموش است اجرا شود تا صورتحساب دقیقه‌ای وسط تغییر جدول‌ها اجرا نشود. در نصب استاندارد (Docker یا سرویس systemd) این دستور خودکار قبل از بالا آمدن ربات اجرا می‌شود؛ کافی است ربات را با روش همیشگی به‌روزرسانی و ری‌استارت کنید. در نصب دستی، ربات را متوقف کنید، در پوشهٔ پروژه alembic upgrade head را بزنید و بعد ربات را روشن کنید.

پلن‌ها را مرور کنید

  • قیمت یوزر اضافهٔ پلن‌ها را بررسی کنید (از پنل کپی شده) و در صورت نیاز قیمت روز اضافه و حجم اضافه را بگذارید.
  • کلیدهای extra_days و extra_volume در دکمه‌های نمایندگی هر پنل پیش‌فرض روشن‌اند؛ تا قیمتی روی پلن نگذارید، چیزی به نماینده نشان داده نمی‌شود.
  • پلن ثابتِ قدیمی با حجم یا مدت 0 تا ویرایش نشود کار می‌کند؛ با اولین ویرایش باید مقدار معتبر بگیرد.

نماینده‌های فعلی بدون تغییر کار می‌کنند

همهٔ نمایندگی‌های موجود (از جمله پلن‌های قدیمی هر گیگ/ترا) با همان پلن، همان سقف‌ها و همان صورتحساب ادامه می‌دهند. تنها تفاوتی که نماینده می‌بیند این است که تمدید فقط با پلن خودش انجام می‌شود و افزودنی‌هایی که شما روشن کنید به صفحهٔ نمایندگی‌اش اضافه می‌شوند.

On this page