سرور مجازی مناسب ربات تلگرام چه مشخصاتی دارد؟
ربات تلگرام یک سرویس سبک اما همیشهروشن است. این مقاله میگوید چه مشخصاتی برایش لازم است، کجا معمولاً به مشکل میخورد و چطور آن را پایدار اجرا کنید.
ربات تلگرام از نظر منابع یک سرویس سبک است، اما یک ویژگی دارد که انتخاب زیرساخت را تعیین میکند: باید همیشه روشن بماند. همین یک نیاز است که هاست اشتراکی و کامپیوتر خانگی را از گزینهها خارج میکند.
چه مقدار منابع لازم است؟
برای اکثر رباتها، کوچکترین پلن کافی است:
- 1 هسته پردازنده — ربات بیشتر وقتش را منتظر پیام میماند، نه در حال پردازش.
- 1 گیگابایت حافظه — برای یک ربات ساده روی لینوکس کافی است.
- 20 گیگابایت فضا — برای کد و لاگ کافی است.
از این نقطه بالاتر بروید اگر:
- ربات پایگاه داده دارد و تعداد کاربرانش زیاد است.
- ربات فایل پردازش میکند — تصویر، صدا، ویدئو. این کار حافظه و پردازنده میخواهد.
- چند ربات را روی یک سرور اجرا میکنید.
polling یا webhook؟
دو روش برای دریافت پیام وجود دارد و انتخابشان روی نیاز سرور اثر میگذارد.
polling یعنی ربات مدام از تلگرام میپرسد پیام جدیدی هست یا نه. راهاندازیاش سادهتر است، آدرس عمومی قابل دسترس و گواهی TLS لازم ندارد و پشت هر اتصالی کار میکند.
webhook یعنی تلگرام خودش پیام را به آدرس شما میفرستد. کارآمدتر است، اما به آدرس عمومی، دامنه و گواهی TLS معتبر نیاز دارد.
برای شروع، polling معمولاً انتخاب منطقیتری است. اگر تعداد پیامها زیاد شد، به webhook مهاجرت کنید.
موقعیت سرور
ربات با سرورهای تلگرام حرف میزند، نه مستقیم با کاربران. پس موقعیت سرور را بر اساس مسیر شبکه تا سرویسهای تلگرام انتخاب کنید، نه بر اساس محل کاربران ربات. راهنمای انتخاب کشور این موضوع را بیشتر باز میکند.
چطور پایدار نگهش دارم؟
این مهمترین بخش است و بیشتر رباتهایی که «گاهی قطع میشوند» دقیقاً همین را ندارند. اجرای ربات با python main.py داخل ترمینال یعنی با بسته شدن جلسه SSH، ربات هم میرود.
راه درست، تبدیل ربات به یک سرویس سیستمی است تا:
- بعد از راهاندازی مجدد سرور خودش بالا بیاید،
- اگر خطا داد دوباره اجرا شود،
- و لاگهایش جایی ثبت شود که بعداً بشود خواند.
مراحل کامل را در اجرای پروژه پایتون روی سرور مجازی لینوکس نوشتهایم.
چند اشتباه رایج
- توکن ربات در کد. توکن را در متغیر محیطی بگذارید، نه داخل فایلی که ممکن است در مخزن عمومی قرار بگیرد.
- لاگ بدون چرخش. فایل لاگی که مدام بزرگ میشود، بالاخره دیسک را پر میکند و سرور را از کار میاندازد. اگر از ژورنال سیستم استفاده کنید، چرخش لاگ از قبل مدیریت میشود.
- بدون پشتیبانگیری از پایگاه داده. اگر ربات داده کاربران را نگه میدارد، پشتیبانگیری منظم لازم است.
- سرور بدون امنسازی اولیه. کارهای اولیه بعد از خرید را انجام دهید.
قوانین استفاده
استفاده از سرور باید با قوانین تاپگیفت، شرایط تأمینکننده و قوانین خود تلگرام سازگار باشد. رباتی که پیام انبوه ناخواسته میفرستد یا شرایط استفاده از سرویس را نقض میکند، میتواند باعث محدود شدن سرور شود.
پلنهای در دسترس با مشخصات کامل در صفحه خرید سرور مجازی است.