برای میزبانی ربات تلگرام یک سرور خارج کوچک کافی است: ۱ هسته و ۰٫۵ تا ۱ گیگابایت رم برای بیشتر رباتها، و ۲ گیگ رم اگر دیتابیس یا پردازش سنگین دارید. سرور خارج لازم است چون API تلگرام از سرورهای داخل ایران بهطور پایدار در دسترس نیست. ارزانترین سرور خارج کلودیفای امروز ۳٬۱۰۰ تومان در ساعت است.
چرا ربات تلگرام به سرور نیاز دارد؟
ربات تلگرام یک برنامهٔ همیشهروشن است: یا مدام از سرورهای تلگرام پیام جدید میگیرد (Polling) یا منتظر میماند تا تلگرام پیامها را برایش بفرستد (Webhook). اگر ربات را روی کامپیوتر شخصی اجرا کنید، با خاموش شدن سیستم، قطع اینترنت یا ریاستارت، ربات هم از کار میافتد. سرور مجازی یک کامپیوتر همیشهروشن با آیپی ثابت و اینترنت پایدار است.
چرا سرور خارج و نه سرور ایران؟
| معیار | سرور خارج | سرور ایران |
|---|---|---|
| دسترسی به API تلگرام (api.telegram.org) | مستقیم و پایدار | پایدار نیست |
| نصب کتابخانهها از pip و npm | بدون محدودیت | ممکن است به میرور نیاز داشته باشد |
| تنظیم Webhook با HTTPS | ساده | وابسته به دسترسی تلگرام به سرور |
| مناسب برای ربات | بله | فقط برای بخشهایی که به تلگرام وصل نمیشوند |
اگر ربات شما به سرویسهای داخلی (مثلاً درگاه پرداخت یا API ایرانی) هم نیاز دارد، میتوانید معماری ترکیبی داشته باشید: ربات روی سرور خارج و سرویس داخلی روی سرور ایران. مقایسهٔ کامل: سرور ایران یا خارج؟. اگر ربات را روی سرور ایران راهانداختهاید و کار نمیکند، علت معمولاً همین محدودیت دسترسی است.
چه مشخصاتی لازم است؟
| نوع ربات | پردازنده | رم | دیسک |
|---|---|---|---|
| ربات ساده (پاسخ خودکار، منو، فرم) | ۱ هسته | ۰٫۵ تا ۱ گیگ | ۱۰ گیگ |
| ربات با دیتابیس (SQLite/PostgreSQL) و چند هزار کاربر | ۱ تا ۲ هسته | ۱ تا ۲ گیگ | ۲۰ گیگ |
| ربات فروشگاهی یا چند ربات روی یک سرور | ۲ هسته | ۲ تا ۴ گیگ | ۲۵+ گیگ |
| ربات با پردازش فایل، تصویر یا ویدیو | ۲ تا ۴ هسته | ۴ گیگ به بالا | بسته به حجم فایلها |
این جدول نقطهٔ شروع است؛ مصرف واقعی را بعد از راهاندازی با htop و free -h ببینید و در صورت نیاز پلن بزرگتر بسازید. جزئیات بیشتر: چند گیگ رم و چند هسته لازم دارم؟.
کدام لوکیشن؟
برای ربات تلگرام، لوکیشن اهمیت زیادی ندارد چون ارتباط اصلی ربات با سرورهای تلگرام است، نه مستقیم با کاربر. لوکیشنهای اروپایی مانند آلمان و هلند یا آمریکا (که معمولاً ارزانترین پلنها را دارد) انتخابهای رایجاند. اگر ربات شما به API خاصی وصل میشود، سرور را نزدیک همان API بگذارید.
ارزانترین پلنهای مناسب ربات
| کشور | تعداد لوکیشن | تعداد پلن | ارزانترین ساعتی | ماهانه تقریبی | ارائهدهندگان |
|---|---|---|---|---|---|
| ۳۰ | ۷۸۸ | ۳٬۱۰۰ تومان | ۲٬۲۶۳٬۰۰۰ تومان | Digitalocean، Gcore، Google Cloud، Hetzner، Vultr | |
| ۱۱ | ۲۳۷ | ۳٬۸۰۰ تومان | ۲٬۷۷۴٬۰۰۰ تومان | Digitalocean، Gcore، Google Cloud، Hetzner، OVH، ProVM، Vultr | |
| ۷ | ۱۹۹ | ۳٬۸۰۰ تومان | ۲٬۷۷۴٬۰۰۰ تومان | Digitalocean، Gcore، Google Cloud، Vultr | |
| ۱۱ | ۱۷۹ | ۴٬۱۰۰ تومان | ۲٬۹۹۳٬۰۰۰ تومان | Gcore، Google Cloud، OVH، ProVM، Scaleway، Vultr | |
| ۷ | ۱۷۸ | ۳٬۸۰۰ تومان | ۲٬۷۷۴٬۰۰۰ تومان | Digitalocean، Gcore، Google Cloud، Scaleway، Vultr | |
| ۸ | ۱۷۴ | ۳٬۸۰۰ تومان | ۲٬۷۷۴٬۰۰۰ تومان | Digitalocean، Gcore، Google Cloud، OVH، ProVM، Vultr | |
| ۶ | ۱۵۷ | ۳٬۸۰۰ تومان | ۲٬۷۷۴٬۰۰۰ تومان | Digitalocean، Google Cloud، OVH، ProVM، Vultr | |
| ۶ | ۱۴۷ | ۳٬۸۰۰ تومان | ۲٬۷۷۴٬۰۰۰ تومان | Digitalocean، Gcore، Google Cloud، Hetzner، Vultr |
دادهٔ ۱۱ آبان ۱۴۰۵؛ قیمت سرور خارج بر اساس نرخ روز ارز بهروز میشود و مبلغ دقیق هر پلن پیش از خرید در پنل نمایش داده میشود.
راهاندازی ربات در ۵ گام
- در کلودیفای یک سرور خارج با Ubuntu 24.04 بسازید (۱ هسته و ۰٫۵ تا ۱ گیگ رم برای شروع).
- با SSH به سرور وصل شوید و چکلیست امنیتی را اجرا کنید (کاربر جدا، کلید SSH، فایروال).
- Python و venv (یا Node.js) را نصب و کد ربات را با git یا scp منتقل کنید.
- توکن ربات را در فایل محیطی (.env) با دسترسی محدود نگه دارید، نه داخل کد.
- ربات را بهصورت سرویس systemd با Restart=always اجرا کنید تا پس از خطا یا ریاستارت خودکار بالا بیاید.
آموزش کامل با همهٔ دستورها: راهاندازی ربات تلگرام پایتون روی سرور با systemd. برای اتصال به سرور: اتصال به سرور لینوکس با SSH.
Polling یا Webhook؟
- Polling: سادهترین روش؛ نیاز به دامنه و SSL ندارد. برای بیشتر رباتها کافی است.
- Webhook: تلگرام پیامها را به آدرس HTTPS شما میفرستد؛ مصرف منابع کمتری دارد و برای رباتهای پرترافیک مناسبتر است. به دامنه و گواهی SSL نیاز دارد؛ راهنمای نصب Nginx و SSL رایگان را ببینید.
هزینهٔ ماهانهٔ سرور ربات
با ارزانترین پلن امروز (۳٬۱۰۰ تومان در ساعت)، هزینهٔ یک ماه کامل (حدود ۷۳۰ ساعت) نزدیک به ۲٬۲۶۳٬۰۰۰ تومان است. چون صورتحساب ساعتی است، اگر ربات را فقط برای تست چند ساعت لازم دارید، فقط همان چند ساعت را پرداخت میکنید. اگر چند ربات دارید، اجرای همه روی یک سرور (هر کدام یک سرویس systemd جدا) معمولاً اقتصادیتر است.
سؤالات متداول
ارزانترین سرور برای ربات تلگرام کدام است؟
ارزانترین پلن خارج کلودیفای امروز ۳٬۱۰۰ تومان در ساعت (۱ هسته، ۵۱۲ مگابایت رم) است و برای بیشتر رباتهای ساده کافی است.
میتوانم چند ربات را روی یک سرور اجرا کنم؟
بله؛ تا وقتی رم و پردازنده کافی باشد. برای هر ربات یک سرویس systemd و یک کاربر یا پوشهٔ جدا بسازید.
ربات من روی سرور ایران کار نمیکند؛ چرا؟
به احتمال زیاد چون اتصال سرور به api.telegram.org پایدار نیست. ربات را به سرور خارج منتقل کنید.
ربات Node.js را هم میشود اجرا کرد؟
بله؛ Node.js را نصب کنید و ربات را با systemd یا PM2 اجرا کنید. اصول کار مانند ربات پایتون است.
اگر سرور ریاستارت شود ربات چه میشود؟
اگر ربات را بهصورت سرویس systemd با enable و Restart=always تعریف کرده باشید، پس از بالا آمدن سرور خودکار اجرا میشود.
بکاپ دیتابیس ربات را چطور بگیرم؟
یک کار زمانبندیشده (cron) بسازید که دیتابیس را خروجی بگیرد و به محل دیگری (سرور دوم یا فضای ذخیرهسازی) منتقل کند. در پلنهایی که اسنپشات دارند، یک اسنپشات پیش از تغییرات مهم هم مفید است.