
رباتهای تلگرام ابزارهای قدرتمندی برای مدیریت و اطلاعرسانی سرورهای بازی محسوب میشوند. این راهنمای جامع به شما آموزش میدهد چگونه یک ربات تلگرام حرفهای برای سرور خود ایجاد کنید که قابلیتهای زیر را داشته باشد:
-
نمایش آمار لحظهای سرور
-
اطلاعرسانی وقایع مهم
-
مدیریت درخواستهای کاربران
-
ارسال هشدارهای فنی
-
تعامل خودکار با بازیکنان
فصل 1: مبانی اولیه رباتهای تلگرام
1.1 معرفی BotFather
BotFather ربات رسمی تلگرام برای ایجاد و مدیریت رباتهاست. مراحل ساخت ربات جدید:
-
جستجوی @BotFather در تلگرام
-
ارسال دستور
/newbot
-
انتخاب نام برای ربات (مثلاً
MyGameServerBot
) -
دریافت توکن API (رشتهای به شکل
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
)
نکته: این توکن مانند رمز عبور ربات شماست و نباید با کسی به اشتراک گذاشته شود.
1.2 انواع رباتها
-
رباتهای معمولی: پاسخ به کامندهای خاص
-
رباتهای اینلاین: قابل فراخوانی در هر چت
-
رباتهای پرداخت: امکان دریافت پرداخت
فصل 2: راهاندازی محیط توسعه
2.1 انتخاب زبان برنامهنویسی
زبان | کتابخانه پیشنهادی | مزایا |
---|---|---|
Python | python-telegram-bot | سینتکس ساده، جامعه بزرگ |
JavaScript | node-telegram-bot-api | مناسب برای توسعهدهندگان وب |
PHP | TelegramBot PHP SDK | سازگاری با هاستهای اشتراکی |
2.2 نصب پیشنیازها
برای پایتون:
pip install python-telegram-bot requests python-dotenv
2.3 ساختار پروژه
/bot ├── config.py # تنظیمات ├── main.py # منطق اصلی ├── commands.py # دستورات ├── server_stats.py # ارتباط با سرور └── .env # متغیرهای محیطی
فصل 3: پیادهسازی ربات
3.1 کدنویسی هسته اصلی
from telegram.ext import Updater, CommandHandler import os from dotenv import load_dotenv load_dotenv() TOKEN = os.getenv('TELEGRAM_BOT_TOKEN') def start(update, context): update.message.reply_text('سلام! ربات اطلاعرسانی سرور آماده خدمت است.') def main(): updater = Updater(TOKEN, use_context=True) dp = updater.dispatcher dp.add_handler(CommandHandler("start", start)) updater.start_polling() updater.idle() if __name__ == '__main__': main()
3.2 اتصال به سرور بازی
برای دریافت آمار از سرور Minecraft با استفاده از API:
import requests def get_server_stats(): try: response = requests.get('http://سرور-شما:25565/api/json') data = response.json() return { 'online': data['players']['online'], 'max': data['players']['max'], 'version': data['version'] } except: return None
فصل 4: افزودن قابلیتهای پیشرفته
4.1 دستورات مدیریتی
def players(update, context): stats = get_server_stats() if stats: message = f"بازیکنان آنلاین: {stats['online']}/{stats['max']}" else: message = "سرور در دسترس نیست" update.message.reply_text(message) # ثبت دستور dp.add_handler(CommandHandler("players", players))
4.2 سیستم اطلاعرسانی خودکار
from threading import Thread import time def check_server_loop(): while True: stats = get_server_stats() if stats and stats['online'] > 50: send_alert("هشدار: ترافیک سرور بالا!") time.sleep(300) # هر 5 دقیقه def send_alert(message): for chat_id in SUBSCRIBERS: bot.send_message(chat_id=chat_id, text=message) # اجرا در تابع main Thread(target=check_server_loop).start()
فصل 5: امنسازی ربات
5.1 مدیریت دسترسیها
-
ایجاد لیست سفید کاربران مجاز
-
سیستم لاگین با رمز عبور
-
محدود کردن دستورات حساس
5.2 محافظت از توکن
-
عدم قرار دادن توکن مستقیم در کد
-
استفاده از فایل .env
-
محدود کردن IPهای مجاز در سرور
فصل 6: استقرار ربات
6.1 میزبانی ربات
سرویس | قیمت (ماهانه) | مزایا |
---|---|---|
PythonAnywhere | رایگان (پایه) | مناسب برای شروع |
Heroku | رایگان (با محدودیت) | پشتیبانی از چند زبان |
VPS شخصی | از 5$ | کنترل کامل |
6.2 اجرای دائمی ربات
استفاده از systemd در لینوکس:
[Unit] Description=Telegram Bot After=network.target [Service] User=botuser WorkingDirectory=/path/to/bot ExecStart=/usr/bin/python3 /path/to/bot/main.py Restart=always [Install] WantedBy=multi-user.target
فصل 7: توسعه و بهبود
7.1 افزودن ویژگیهای جدید
-
اتصال به دیتابیس سرور
-
سیستم تیکت پشتیبانی
-
گزارشگیری خودکار
-
یکپارچهسازی با دیسکورد
7.2 آنالیز استفاده
-
ردیابی پرکاربردترین دستورات
-
نظرسنجی از کاربران
-
بررسی لاگهای خطا
نتیجهگیری
با پیادهسازی این ربات میتوانید:
-
24 ساعته به کاربران خدمت رسانی کنید
-
زمان پاسخگویی را تا 80% کاهش دهید
-
اطلاعرسانی فوری داشته باشید
-
مدیریت سرور را سادهتر کنید