در این راهنما یاد میگیرید
- برای polling دنبال امکان اجرای پردازش در پسزمینه بگردید.
- برای webhook، نشانی HTTPS، زمان پاسخ و سقف درخواست را بررسی کنید.
- پیش از استفادهٔ واقعی، پاسخ بعد از بیکاری و بازیابی دادهها را آزمایش کنید.
هاست رایگان ربات تلگرام برای چه پروژهای مناسب است؟
برای یادگیری، نمایش یک نمونه یا آزمایش رباتی کمترافیک، هاست رایگان برای ربات تلگرام میتواند کافی باشد. اگر ربات سفارش ثبت میکند، به مشتریان پاسخ میدهد یا اعلانهای زمانبندیشده میفرستد، قبل از انتخاب هاست بررسی کنید که در زمان بیکاری چه اتفاقی برای برنامه میافتد و دادهها بعد از راهاندازی مجدد کجا میمانند.
برای انتخاب، اول مشخص کنید ربات پیامها را با polling میگیرد یا با webhook. کدی که روی لپتاپ با run_polling() اجرا میشود، برای کارکرد مداوم روی هاست به یک پردازش زنده نیاز دارد.
تفاوت polling و webhook در انتخاب هاست
Polling برای کدی که پیوسته اجرا میشود
ربات با getUpdates از تلگرام پیامهای تازه را میگیرد. سرور باید به Telegram Bot API دسترسی خروجی داشته باشد و اجازه دهد پردازش پایتون در پسزمینه فعال بماند. برای دریافت پیام با این روش، نشانی عمومی برای ربات لازم نیست.
Webhook برای رباتی که با رسیدن پیام اجرا میشود
تلگرام هر بهروزرسانی را با درخواست POST به نشانی HTTPS برنامه میفرستد. این مدل با وبسرویس یا تابعی که در پاسخ به درخواست اجرا میشود سازگار است. هنگام ثبت webhook یک secret_token تعیین کنید و هدر مربوط به آن را پیش از پردازش پیام بررسی کنید. برای هر توکن، دریافت پیام را با یکی از این دو روش انجام دهید. مستندات رسمی Telegram Bot API
مقایسهٔ گزینههای هاست رایگان تلگرام
| گزینه | مناسب برای | محدودیت اصلی |
|---|---|---|
| رایانهٔ شخصی | یادگیری و تست polling | خاموشی رایانه، خواب سیستم یا قطع اینترنت پاسخگویی را متوقف میکند. |
| وبسرویس رایگان مثل Render | آزمایش webhook در یک برنامهٔ وب | خواب سرویس، تأخیر شروع دوباره و فایلسیستم موقت |
| تابع بدون سرور مثل Cloudflare Workers | webhook سبک و رویدادمحور | سقف درخواست و زمان CPU، همراه با الزامات سازگاری محیط اجرا |
وبسرویس رایگان Render پس از ۱۵ دقیقه بدون ترافیک ورودی به خواب میرود. درخواست بعدی سرویس را دوباره راه میاندازد و این فرایند ممکن است حدود یک دقیقه طول بکشد. فایلهایی مثل دیتابیس SQLite محلی هم با خواب، راهاندازی مجدد یا انتشار دوباره از بین میروند. شرایط پلن رایگان Render
در Cloudflare Workers میتوانید یک webhook سبک را بهصورت تابع اجرا کنید. اگر ربات موجود شما حلقهٔ polling دارد، برای این مدل باید منطق دریافت پیام را به یک handler تبدیل کنید و سازگاری کتابخانهها را بررسی کنید. سقف منابع و درخواستهای Cloudflare Workers
پیش از انتخاب هاست رایگان چه چیزهایی را تست کنیم؟
- اتصال به تلگرام. از خود هاست یک پیام آزمایشی بفرستید و پاسخ ربات را بررسی کنید. برای webhook، وضعیت تحویل را با
getWebhookInfoببینید. - پاسخ بعد از بیکاری. مدتی به ربات پیام ندهید و زمان پاسخ اولین پیام بعدی را اندازه بگیرید. برای polling بررسی کنید که بعد از بستن ترمینال هم فرایند فعال باشد.
- ماندگاری دادهها. از اطلاعات ضروری بکاپ بگیرید. برنامه را دوباره راهاندازی کنید و ببینید تنظیمات کاربر و سابقهٔ عملیات همچنان در دسترساند.
- بازیابی بعد از خطا. ببینید خطا در لاگ ثبت میشود، چطور از توقف باخبر میشوید و راهاندازی مجدد چگونه انجام میشود. برای webhook، پردازش دوبارهٔ یک
update_idرا هم بررسی کنید تا عملی مثل ثبت سفارش تکرار نشود.
چه زمانی هاست مخصوص ربات تلگرام مناسبتر است؟
اگر ربات کاربران واقعی دارد یا وقفه به کارتان آسیب میزند، محیطی با اجرای مداوم پردازش یا webhook پاسخگو، دادهٔ پایدار و لاگ قابلدسترسی انتخاب کنید. در هاست ربات تلگرام پایتون هاست، سرور آلمان بهصورت پیشفرض انتخاب میشود و میتوانید اجرا و لاگ ربات polling را با BotCTL مدیریت کنید.
برای امتحانکردن پروژه پیش از خرید، صفحهٔ هاست رایگان پایتون و تست سهروزه را ببینید. در طول دوره، روش اجرا و دسترسی به Telegram Bot API را روی محیط انتخابی بررسی کنید. برای شروع استقرار، راهنمای راهاندازی ربات تلگرام روی cPanel مراحل آپلود، تنظیم توکن و اجرا را توضیح میدهد.
سوالات متداول
آیا سرور مخصوص ربات تلگرام رایگان پیدا میشود؟
برای آزمایش میتوانید از محیطهای رایگان استفاده کنید. اگر سرور رایگان برای اجرای شبانهروزی میخواهید، شرایط اجرای پردازش پسزمینه، سقف منابع و سیاست خاموشی را در همان پلن بررسی کنید.
برای هاست تلگرام رایگان به دامنه نیاز دارم؟
در polling برنامه از طریق اتصال خروجی پیامها را میگیرد. برای webhook، نشانی عمومی HTTPS لازم است و میتوانید از زیردامنهٔ HTTPS خود سرویس میزبانی هم استفاده کنید.
چرا ربات روی هاست رایگان بعد از مدتی پاسخ نمیدهد؟
خواب سرویس، توقف پردازش، تمامشدن سهمیه یا خطای اتصال به Telegram Bot API از علتهای رایجاند. وضعیت سرویس و لاگ را در زمان بروز مشکل بررسی کنید.