یو Telegram bot چې یوازې هغه وخت چلیږي کله چې ستاسو laptop خلاص وي په رښتیا نه چلیږي — دا ډیمو کوي. د دې لپاره چې دا واقعاً آنلاین وي، د سهار په ۳ بجو ځواب ورکوي، ستاسو د بیا پیلونو او خپلو crashونو ژوندی پاتې شي، دا باید په یوه سرور اوسیږي. دلته ټوله لار ده، له سره تر پایه، د کمانډونو سره.
لومړی ښه خبر: یو bot یو کوچنی کار دی. دا ډیری بېکاره کیني د پیغامونو انتظار کوي، نو ترټولو ارزانه box یې ښه چلوي — هیڅ dedicated IP نشته، هیڅ ډومین نشته، هیڅ عجیب شی نشته.
۱. له BotFather token ترلاسه کړئ
په Telegram کې، @BotFather ته پیغام واستوئ، /newbot ولیږئ، یو نوم او کارننوم وټاکئ. دا تاسو ته یو token درکوي چې د 12345:AAH... په څیر ښکاري. دا د یوه پټنوم په څیر ونیسئ — هرڅوک چې یې لري ستاسو bot کنټرولوي.
۲. یو لږترلږه bot
سرور ته SSH ورننوځئ، Python او کتابتون تنظیم کړئ:
sudo apt update && sudo apt install -y python3-venv
mkdir ~/mybot && cd ~/mybot
python3 -m venv venv && source venv/bin/activate
pip install python-telegram-bot
یو bot چې ځواب ورکوي — ~/mybot/bot.py:
import os
from telegram.ext import ApplicationBuilder, CommandHandler
async def start(update, ctx):
await update.message.reply_text("Alive and on a server. 🟢")
app = ApplicationBuilder().token(os.environ["BOT_TOKEN"]).build()
app.add_handler(CommandHandler("start", start))
app.run_polling()
یادونه چې دا token له یوه چاپیریال متغیر څخه لولي — نه hardcoded. دا په راتلونکي ګام کې مهم دی.
۳. هغه برخه چې واقعاً یې روان ساتي: systemd
که تاسو یوازې python bot.py وچلوئ، دا هغه شیبه مري چې تاسو SSH بند کړئ. یو systemd خدمت هغه څه دي چې دا د وتلو، crashونو، او بیا پیلونو ژوندی ساتي. /etc/systemd/system/mybot.service جوړ کړئ:
[Unit]
Description=Telegram bot
After=network-online.target
[Service]
WorkingDirectory=/home/youruser/mybot
Environment=BOT_TOKEN=12345:AAH...your-token
ExecStart=/home/youruser/mybot/venv/bin/python bot.py
Restart=always
RestartSec=5
User=youruser
[Install]
WantedBy=multi-user.target
بیا:
sudo systemctl daemon-reload
sudo systemctl enable --now mybot
sudo systemctl status mybot # should say active (running)
journalctl -u mybot -f # live logs
Restart=always هغه کرښه ده چې ریښتینی کار کوي — crash شي، او دا په ۵ ثانیو کې بیرته دی. enable پدې معنی چې دا د یوه بیا پیل وروسته پورته راځي. دا ټول د «ما یو ځل یو bot وچلاوه» او «زما bot پورته دی» ترمنځ توپیر دی.
۴. ولې هیڅ ډومین یا خلاص پورټونه نشته
bot long polling کاروي — دا د تازه معلوماتو لپاره Telegram ته رسیږي، نو هیڅ شی ته اړتیا نشته چې دننه ورسیږي. هیڅ عامه URL نشته، هیڅ دننهورتګ firewall قاعده نشته، هیڅ dedicated IP نشته. دا دقیقاً دلیل دی چې یو NAT VPS (شریک IP، په یوه پورټ SSH) د یوه bot لپاره یو ښه او ارزانه کور دی. Webhookونه د خورا لوړ حجم لپاره شته، خو تاسو نږدې ډاډه یې د پیل لپاره ورته اړتیا نلرئ.
ریښتيني خبرداري
- د token حفظالصحه: دلته دا د روښانتیا لپاره په unit فایل کې inline دی — په یوه قفل شوي box سم، خو د هر شریک شي لپاره، دا پرځای یې له یوه یوازې-root
EnvironmentFileڅخه بار کړئ، او هیڅکله یې git ته commit مه کوئ. لیک شوی؟ په BotFather کې یې باطل کړئ، یو نوی صادر کړئ. - درانه botونه: که ستاسو bot پخپله کار وکړي (د انځور تولید، یو محلي مودل)، دا نور کوچنی نه دی — ورته سم پورته لاړ شئ.
همدا دی. لومړی box د امنیت checklist سره قفل کړئ، خدمت ورواچوئ، او ستاسو bot آنلاین پاتې کیږي که تاسو یاست که نه. په یوه crypto-تادیه شوي VPS تاسو کولی شئ یو دقیقه وروسته چې پریکړه وکړئ یې چلوي.
تبصرې
لا تبصرې نشته. لومړی اوسئ.