آموزش استفاده از ابزار BotCTL

راهنمای مبتدی مدیریت ربات با BotCTL؛ از ورود به cPanel و بازکردن Terminal تا ثبت ربات، اجرا، خواندن لاگ و فعال‌کردن راه‌اندازی خودکار.

آموزش استفاده از ابزار BotCTL
اجرای ربات، مدیریت پردازش و مشاهدهٔ لاگ‌ها با BotCTL؛ ابزار مدیریت ربات روی هاست پایتون شما.
فهرست مطالب

در این راهنما یاد می‌گیرید

  • افزودن ربات و پیدا کردن وضعیت اجرای آن
  • خواندن لاگ‌ها و کنترل Start، Stop و Restart
  • تنظیم Autostart و مدیریت ربات از ترمینال

۱. ورود به cPanel و باز کردن Terminal

cPanel پنل مدیریت هاست شماست؛ فایل‌ها، دیتابیس و ترمینال را از همین صفحه مدیریت می‌کنید. برای ورود، اطلاعات سرویس فعال خود را آماده داشته باشید.

  1. وارد ناحیهٔ کاربری پایتون هاست شوید؛ از حسابی استفاده کنید که هاست را با آن تهیه کرده‌اید.
  2. در بخش سرویس‌ها، هاست فعال خود را باز کنید و گزینهٔ ورود به cPanel را بزنید. اگر لینک ورود مستقیم ندارید، از آدرس و اطلاعات ورودِ پیام فعال‌سازی سرویس استفاده کنید.
  3. پس از ورود، صفحهٔ اصلی cPanel را می‌بینید. نام ابزار موردنیاز، مثل File Manager یا Terminal را در کادر جست‌وجوی پنل بنویسید.

نام کاربری cPanel را از اطلاعات سرویس پیدا کنید. هر جا در فرمان‌ها USERNAME دیدید، همین نام را جایگزین کنید؛ این مقدار، ایمیل یا نام نمایشی حساب شما نیست.

این راهنما برای رباتی است که فایل‌ها و کتابخانه‌های آن روی هاست آماده‌اند. اگر هنوز آن‌ها را منتقل نکرده‌اید، ابتدا آموزش استقرار ربات روی cPanel را از ورود به پنل تا نصب پکیج‌ها انجام دهید.

  1. در جست‌وجوی cPanel، Terminal را پیدا و باز کنید.
  2. اگر پیام اولین ورود نمایش داده شد، آن را بخوانید و I understand and want to proceed را بزنید.
  3. فرمان‌های این مقاله را یکی‌یکی در Terminal وارد کنید و بعد از هر کدام Enter بزنید.

برای دیدن فایل‌ها، File Manager را باز کنید و به پوشهٔ ربات در Home بروید. نام فایل شروع، مثلاً bot.py، و مسیر همین پوشه را یادداشت کنید. اگر BotCTL در سرویس شما فعال نیست، پشتیبانی دسترسی آن را بررسی می‌کند.

۲. افزودن ربات به BotCTL

BotCTL ابزار مدیریت اجرای ربات است؛ به آن فرمان شروع و پوشهٔ پروژه را می‌دهیم تا بتوانیم اجرا، توقف و لاگ‌ها را کنترل کنیم. مثال اصلی این مقاله با نام دلخواه mybot ثبت می‌شود؛ در مراحل بعد از همین نام استفاده کنید.

وارد پوشهٔ پروژه شوید. USERNAME نام کاربری هاست و path/to/bot مسیر ربات شماست:

ورود به پوشهٔ ربات
cd /home/USERNAME/path/to/bot
    

سپس ربات را اضافه کنید. mybot نام دلخواه شما در BotCTL است و --workdir پوشهٔ کاری برنامه را تعیین می‌کند.

ثبت ربات در BotCTL
botctl add mybot 'python3 bot.py' --workdir /home/USERNAME/path/to/bot
    

نمونهٔ بالا از python3 استفاده می‌کند؛ فقط وقتی آن را انتخاب کنید که پکیج‌ها برای همین Python نصب شده‌اند. اگر محیط مجازی دارید، از الگوی زیر به‌جای فرمان قبلی استفاده کنید. مسیر .venv/bin/python را با مسیر واقعی محیط پروژه هماهنگ کنید:

ثبت ربات با Python محیط مجازی
botctl add mybot '/home/USERNAME/path/to/bot/.venv/bin/python bot.py' --workdir /home/USERNAME/path/to/bot
    

یک مثال با نام و مسیر متفاوت

نمونهٔ نام و مسیر ربات
botctl add telegram 'python3 bot.py' --workdir /home/myuser/telegrambot
    

در مثال آخر، نام حساب myuser و نام ثبت‌شدهٔ ربات telegram است. لازم نیست همهٔ مثال‌ها را اجرا کنید؛ یک فرمان ثبتِ متناسب با پروژهٔ خود انتخاب کنید و فقط یک بار آن را اجرا کنید.

دستور اجرای برنامه باید از Python مناسب پروژه استفاده کند. اگر پکیج‌ها داخل محیط مجازی‌اند، مسیر Python همان محیط را در فرمان اجرای ربات قرار دهید. توکن‌ها و تنظیمات محرمانه هم باید در محیط اجرای ربات در دسترس باشند.

۳. مشاهدهٔ لیست ربات‌ها

با دستور list، ربات‌های ثبت‌شده را ببینید. خروجی، وضعیت اجرا، شناسهٔ پردازش یا PID و وضعیت Autostart را نشان می‌دهد.

فهرست ربات‌ها
botctl list
    

در خروجی، نام mybot را پیدا کنید. PID شمارهٔ پردازشِ در حال اجراست؛ Autostart یعنی اجرای خودکار. ثبت بودن نام به‌تنهایی کافی نیست؛ در مرحلهٔ کنترل، ربات را با start روشن می‌کنیم.

۴. مشاهدهٔ وضعیت یک ربات

برای دیدن وضعیت یک ربات، نامی را که هنگام افزودن انتخاب کرده‌اید در دستور status بنویسید. در مثال‌های این راهنما، نام ربات mybot است.

وضعیت mybot
botctl status mybot
    

۵. خواندن لاگ‌ها

لاگ، پیام‌های برنامه و جزئیات خطا را نشان می‌دهد. با این سه فرمان، آخرین خروجی، نمایش زنده و ۱۰۰ خط آخر را در اختیار دارید.

آخرین لاگ‌ها

آخرین خروجی ربات
botctl logs mybot
    

نمایش زنده با -f

دنبال‌کردن زندهٔ لاگ
botctl logs mybot -f
    

۱۰۰ خط آخر با -n

۱۰۰ خط آخر لاگ
botctl logs mybot -n 100
    

در نمایش زنده، فرمان منتظر پیام‌های تازه می‌ماند. برای برگشتن به محل ورود فرمان، Ctrl+C بزنید؛ با این کار فقط دنبال‌کردن لاگ پایان می‌یابد، نه اجرای ربات.

در برنامهٔ خود، توکن یا رمز را در خروجی چاپ نکنید. برای ارسال گزارش به پشتیبانی نیز اطلاعات محرمانه را از متن لاگ حذف کنید.

۶. اجرا، توقف و ری‌استارت

Start برنامه را اجرا می‌کند، Stop آن را متوقف می‌کند و Restart اجرای فعلی را دوباره راه‌اندازی می‌کند. در هر فرمان، نام ربات خودتان را جایگزین mybot کنید.

اجرا — Start

اجرای ربات
botctl start mybot
    

توقف — Stop

توقف ربات
botctl stop mybot
    

اجرای مجدد — Restart

راه‌اندازی مجدد ربات
botctl restart mybot
    

پس از start، فرمان botctl status mybot را اجرا کنید و سپس در تلگرام به ربات پیام بفرستید. اگر برنامه متوقف شد یا پاسخ نداد، ۱۰۰ خط آخر لاگ را ببینید. قبل از start، اجرای مستقیم همان ربات در Terminal را با Ctrl+C متوقف کرده باشید.

۷. تنظیم راه‌اندازی خودکار

با فعال‌بودن Autostart، برنامه پس از ریبوت سرور و در صورت Crash شدن دوباره اجرا می‌شود. فرمان enable این قابلیت را فعال و disable آن را غیرفعال می‌کند.

فعال‌کردن Autostart

فعال‌کردن اجرای خودکار
botctl enable mybot
    

غیرفعال‌کردن Autostart

غیرفعال‌کردن اجرای خودکار
botctl disable mybot
    

برای ادامهٔ کار معمولاً start و سپس enable را انجام می‌دهید. بعد از دیدن وضعیت اجرا، Terminal و cPanel را ببندید و دوباره در تلگرام پیام بفرستید؛ پاسخ ربات نشان می‌دهد اجرای آن مستقل از نشست ترمینال ادامه دارد.

رفتار توقف دستی ربات

اگر ربات را با botctl stop mybot دستی متوقف کنید، تا ریبوت بعدی به‌صورت خودکار دوباره اجرا نمی‌شود. برای اجرای دستی دوباره، از botctl start mybot استفاده کنید.

۸. حذف ربات از BotCTL

برای حذف تعریف ربات از BotCTL از فرمان remove استفاده کنید:

حذف ربات
botctl remove mybot
    

برای حذف همراه با فایل لاگ، گزینهٔ --purge-log را اضافه کنید. قبل از حذف لاگ، اطلاعات موردنیاز برای عیب‌یابی را نگه دارید.

حذف ربات و لاگ آن
botctl remove mybot --purge-log
    

۹. فرمان اجرای درست برای BotCTL

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

نمونهٔ صحیح

اجرای قابل مدیریت
botctl add telegram 'python3 bot.py' --workdir /home/myuser/telegrambot
    

نمونهٔ اشتباه — اجرا نکنید

افزودن nohup یا & به فرمان، با این روش مدیریت سازگار نیست. از screen یا tmux نیز داخل فرمان ثبت ربات استفاده نکنید.

نمونهٔ نامناسب برای BotCTL
botctl add telegram 'nohup python3 bot.py &'
    

۱۰. رفع خطا و به‌روزرسانی ربات

برای تغییر کد، در File Manager فایل را با Edit ویرایش یا نسخهٔ تازه را با Upload منتقل کنید. اگر پکیج‌ها تغییر کرده‌اند، آن‌ها را با Python محیط مجازی نصب کنید و سپس botctl restart mybot را اجرا کنید. وضعیت، لاگ و پاسخ تلگرام را دوباره ببینید.

اگر ربات اجرا نشد، ابتدا ۱۰۰ خط آخر لاگ را بخوانید. نبودن پکیج، مسیر اشتباه Python یا تنظیم نشدن توکن از دلایل رایج‌اند. گزارش خطا را بدون اطلاعات محرمانه از طریق پشتیبانی تخصصی ارسال کنید.

پیام‌های آخرین اجرا
botctl logs mybot -n 100
    
Stop و disable چه تفاوتی دارند؟

Stop اجرای فعلی ربات را متوقف می‌کند. Disable تنظیم Autostart را غیرفعال می‌کند. برای اجرای دوبارهٔ ربات، از start و برای فعال‌کردن راه‌اندازی خودکار از enable استفاده کنید.

چرا ربات در ترمینال اجرا می‌شود ولی در BotCTL نه؟

فرمان BotCTL باید به Python مناسب، پوشهٔ کاری صحیح، پکیج‌ها و متغیرهای محیطی پروژه دسترسی داشته باشد. لاگ ربات نشان می‌دهد کدام مسیر یا تنظیم نیاز به اصلاح دارد.

برای انتخاب منابع میزبانی، راهنمای RAM، CPU و فضای دیسک نیز مسیر ساخت پلن را توضیح می‌دهد.

از آموزش تا اجرای پروژه

مدیریت ربات، در کنار میزبانی تخصصی

هاست ربات پایتون با سرور آلمان و BotCTL؛ کد، محیط اجرا و پشتیبانی را در مسیر توسعهٔ ربات کنار هم داشته باشید.

انتخاب هاست ربات تلگرام ۳ روز تست رایگان

برای راه‌اندازی پروژه، پشتیبانی تخصصی پایتون هاست همراه شماست.

قدم بعدی شما

همهٔ آموزش‌ها
آموزش راه‌اندازی ربات تلگرام روی هاست cPanel
تلگرام · ۱۲ دقیقه

آموزش راه‌اندازی ربات تلگرام روی هاست cPanel

ربات پایتونی خود را روی cPanel اجرا کنید؛ از ورود به پنل و آپلود فایل‌ها تا نصب کتابخانه‌ها، تنظیم توکن و اجرای مداوم با BotCTL.

ادامهٔ آموزش
چگونه منابع هاست پایتون را انتخاب کنیم؟
انتخاب هاست · ۸ دقیقه

چگونه منابع هاست پایتون را انتخاب کنیم؟

منابع هاست را به زبان ساده بشناسید؛ انتخاب RAM، CPU، دیسک و محل سرور، همراه راهنمای ورود به cPanel و مشاهدهٔ مصرف پروژه.

ادامهٔ آموزش
آموزش اجرای Flask روی هاست cPanel
فلسک · ۱۰ دقیقه

آموزش اجرای Flask روی هاست cPanel

آموزش قدم‌به‌قدم Flask برای اولین انتشار؛ ورود به cPanel، انتقال فایل‌ها، نصب کتابخانه‌ها و تنظیم فایل شروع تا نمایش برنامه روی دامنه.

ادامهٔ آموزش