
رباتهای تلگرام ابزارهایی قدرتمند برای مدیریت سرورهای Multi Theft Auto (MTA) هستند که به مدیران سرور امکان میدهند تا از راه دور و بهصورت خودکار وظایف مدیریتی مانند نظارت بر بازیکنان، اجرای دستورات، و بررسی وضعیت سرور را انجام دهند. این رباتها با استفاده از API تلگرام و اسکریپتهای Lua (زبان برنامهنویسی MTA) میتوانند تجربه مدیریت سرور را سادهتر و کارآمدتر کنند. در این مقاله، بهصورت گامبهگام نحوه ساخت و استفاده از ربات تلگرام برای مدیریت سرورهای MTA را توضیح میدهیم.
پیشنیازها
قبل از شروع، موارد زیر را آماده کنید:
-
سرور MTA فعال: سرور MTA باید روی کامپیوتر یا VPS (ترجیحاً VPS ایرانی برای پینگ پایین) راهاندازی شده باشد.
-
دانش پایه Lua: برای اسکریپتنویسی در MTA.
-
دانش پایه Python یا PHP: برای برنامهنویسی ربات تلگرام.
-
نرمافزارها و ابزارها:
-
کلاینت و سرور MTA (از multitheftauto.com).
-
BotFather در تلگرام برای ایجاد ربات.
-
ویرایشگر کد مانند Visual Studio Code یا Notepad++.
-
(اختیاری) XAMPP برای دیتابیس MySQL (در صورت نیاز به ذخیره دادهها).
-
-
VPS یا هاست: برای اجرای دائمی ربات تلگرام (توصیه: VPS ایرانی از پارسپک یا هاست ایران برای سرعت و پایداری).
گامهای ساخت ربات تلگرام برای مدیریت سرور MTA
گام 1: ایجاد ربات تلگرام با BotFather
-
باز کردن BotFather:
-
در تلگرام، ربات @BotFather را جستجو کنید و روی Start کلیک کنید.
-
-
ایجاد ربات جدید:
-
دستور /newbot را وارد کنید.
-
نامی برای ربات انتخاب کنید (مثلاً MTA Server Manager).
-
نام کاربری ربات را وارد کنید که باید با Bot@ یا _bot پایان یابد (مثلاً @MTAServerBot).
-
اگر نام کاربری معتبر باشد، BotFather یک توکن به شما میدهد. این توکن را کپی کنید و در جایی امن ذخیره کنید.
-
-
تنظیمات اولیه ربات:
-
دستورات زیر را برای تکمیل تنظیمات ربات اجرا کنید:
-
/setdescription: توضیحات ربات (مثلاً «ربات مدیریت سرور MTA»).
-
/setcommands: دستورات ربات (مثلاً /status برای نمایش وضعیت سرور).
-
/setjoingroups: اجازه دهید ربات به گروهها اضافه شود (برای مدیریت گروههای تلگرامی سرور).
-
-
منبع:
گام 2: آمادهسازی سرور برای اتصال به ربات
-
نصب پلاگین HTTP در MTA:
-
برای ارتباط ربات با سرور MTA، نیاز به پلاگین یا اسکریپت Lua دارید که درخواستهای HTTP را مدیریت کند.
-
اسکریپت نمونهای مانند MTA-HTTP را از community.multitheftauto.com دانلود کنید.
-
فایلهای اسکریپت را در پوشه resources سرور MTA (مثلاً C:\MTA-Server\mods\deathmatch\resources) قرار دهید.
-
-
تنظیم meta.xml:
-
فایل meta.xml اسکریپت را ویرایش کنید تا شامل اطلاعات پلاگین باشد:
<meta> <info author="YourName" version="1.0" type="script" name="MTA_HTTP"/> <script src="server.lua" type="server"/> </meta>
-
-
اسکریپت Lua برای مدیریت درخواستها:
-
یک فایل Lua (مثلاً server.lua) ایجاد کنید تا دستورات ربات را به سرور MTA منتقل کند:
function handleHTTPRequest(request, response) local command = request.postData.command if command == "status" then local players = getElementsByType("player") local playerCount = #players response:write("تعداد بازیکنان آنلاین: " .. playerCount) elseif command == "kick" then local playerName = request.postData.player local player = getPlayerFromName(playerName) if player then kickPlayer(player, "اخراج توسط ربات") response:write("بازیکن " .. playerName .. " اخراج شد.") else response:write("بازیکن یافت نشد.") end end end addEventHandler("onHTTPRequest", root, handleHTTPRequest)
-
منبع: wiki.multitheftauto.com
گام 3: برنامهنویسی ربات تلگرام
برای برنامهنویسی ربات، میتوانید از زبان Python (با کتابخانه python-telegram-bot) یا PHP استفاده کنید. در این آموزش، از Python استفاده میکنیم.
-
نصب کتابخانه Python:
-
مطمئن شوید Python 3 روی سیستم یا VPS نصب است.
-
کتابخانه python-telegram-bot را نصب کنید:
pip install python-telegram-bot
-
کتابخانه requests برای ارسال درخواست به سرور MTA:
pip install requests
-
-
ایجاد اسکریپت ربات:
-
فایل bot.py ایجاد کنید و کد زیر را در آن قرار دهید:
import logging from telegram.ext import Updater, CommandHandler, MessageHandler, Filters import requests # تنظیم توکن ربات TOKEN = "YOUR_BOT_TOKEN" # توکن دریافتی از BotFather MTA_SERVER_URL = "http://your.server.ip:22005/mta_http" # آدرس سرور MTA logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO) def start(update, context): update.message.reply_text("خوش آمدید! این ربات برای مدیریت سرور MTA است. دستورات: /status، /kick") def status(update, context): response = requests.post(MTA_SERVER_URL, json={"command": "status"}) update.message.reply_text(response.text) def kick(update, context): try: player_name = context.args[0] response = requests.post(MTA_SERVER_URL, json={"command": "kick", "player": player_name}) update.message.reply_text(response.text) except IndexError: update.message.reply_text("لطفاً نام بازیکن را وارد کنید: /kick player_name") def main(): updater = Updater(TOKEN, use_context=True) dp = updater.dispatcher dp.add_handler(CommandHandler("start", start)) dp.add_handler(CommandHandler("status", status)) dp.add_handler(CommandHandler("kick", kick)) updater.start_polling() updater.idle() if __name__ == "__main__": main()
-
توکن ربات را با توکن دریافتی از BotFather جایگزین کنید.
-
MTA_SERVER_URL را با آدرس IP و پورت سرور MTA خود تنظیم کنید (پورت پیشفرض HTTP معمولاً 22005 است).
-
منبع:
گام 4: اجرای ربات روی VPS یا هاست
برای اجرای دائمی ربات، نیاز به VPS یا هاست دارید تا ربات 24/7 فعال باشد.
-
انتخاب VPS:
-
VPS ایرانی (مانند پارسپک یا هاست ایران) برای پینگ پایین و سرعت بالا توصیه میشود.
-
VPS خارجی (مانند DigitalOcean) برای رباتهایی که به APIهای خارجی متصل هستند مناسب است.
-
-
نصب پیشنیازها روی VPS:
-
برای لینوکس (اوبونتو):
sudo apt update sudo apt install python3 python3-pip pip3 install python-telegram-bot requests
-
-
آپلود و اجرای اسکریپت:
-
فایل bot.py را با استفاده از FileZilla یا SCP به VPS آپلود کنید.
-
ربات را اجرا کنید:
python3 bot.py
-
برای اجرای دائمی، از screen یا pm2 استفاده کنید:
screen -S mtabot python3 bot.py
سپس Ctrl+A+D را فشار دهید تا از screen خارج شوید.
-
-
تنظیم Webhook (اختیاری):
-
برای عملکرد بهتر، Webhook تنظیم کنید تا ربات بهجای Polling از درخواستهای HTTP استفاده کند:
curl -F "url=https://your-vps-ip:8443" https://api.telegram.org/bot<YOUR_BOT_TOKEN>/setWebhook
-
منبع:
گام 5: استفاده از ربات برای مدیریت سرور
پس از اجرای ربات، میتوانید از دستورات زیر در تلگرام استفاده کنید:
-
/start: نمایش پیام خوشآمدگویی.
-
/status: نمایش تعداد بازیکنان آنلاین در سرور MTA.
-
/kick [player_name]: اخراج بازیکن از سرور.
قابلیتهای پیشنهادی برای افزودن:
-
نمایش لاگهای سرور: لاگهای سرور (مانند خطاها یا ورود/خروج بازیکنان) را در تلگرام دریافت کنید.
-
مدیریت گروهی: ربات را به گروه تلگرامی سرور اضافه کنید تا بازیکنان بتوانند اطلاعیهها را دریافت کنند.
-
دستورات پیشرفته:
-
/ban [player_name]: بن کردن بازیکن.
-
/restart: ریاستارت سرور.
-
/resources: نمایش منابع فعال در سرور.
-
منبع:
گام 6: بهینهسازی برای سرورهای ایرانی
-
استفاده از VPS ایرانی: برای کاهش پینگ و افزایش سرعت برای بازیکنان ایرانی، از VPSهای داخلی مانند پارسپک استفاده کنید.
-
پشتیبانی از زبان فارسی: پیامهای ربات را به فارسی تنظیم کنید تا برای کاربران ایرانی جذابتر باشد.
-
فیلترهای ضداسپم: برای گروههای تلگرامی سرور، فیلترهایی برای جلوگیری از اسپم یا پیامهای غیرمجاز اضافه کنید:
addEventHandler("onPlayerChat", root, function(message, messageType) if string.find(message, "http") then cancelEvent() outputChatBox("ارسال لینک ممنوع است!", source, 255, 0, 0) end end)
منبع:
مشکلات رایج و راهحلها
-
ربات پاسخ نمیدهد:
-
مطمئن شوید توکن درست وارد شده است.
-
بررسی کنید که ربات روی VPS در حال اجراست (screen -r mtabot).
-
لاگهای ربات را بررسی کنید (در Python با logging).
-
-
اتصال به سرور MTA برقرار نمیشود:
-
پورت HTTP سرور (مثلاً 22005) را در فایروال باز کنید.
-
مطمئن شوید اسکریپت Lua روی سرور فعال است (start mta_http).
-
-
مشکلات پینگ بالا:
-
از VPS ایرانی استفاده کنید.
-
سرور را روی پورتهای بهینه (مانند 22003 برای بازی و 22005 برای HTTP) تنظیم کنید.
-
منبع:
جمعبندی
رباتهای تلگرام ابزارهایی عالی برای مدیریت سرورهای MTA هستند که با استفاده از API تلگرام و اسکریپتهای Lua میتوانند وظایف مدیریتی را خودکار کنند. با ایجاد ربات، تنظیم سرور برای ارتباط HTTP، و اجرای ربات روی VPS، میتوانید سرور خود را از راه دور مدیریت کنید. برای بازیکنان ایرانی، استفاده از VPS داخلی و افزودن قابلیتهای فارسیزبان مانند پیامهای خوشآمدگویی یا فیلترهای ضداسپم میتواند تجربه را بهبود ببخشد.