EQVPS

څنګه یو Telegram bot په یوه VPS کوربه کړئ (او روان یې وساتئ)

Jun 15, 2026 · 3 دقیقې لوستل · EQVPS Team

یو 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ونه د خورا لوړ حجم لپاره شته، خو تاسو نږدې ډاډه یې د پیل لپاره ورته اړتیا نلرئ.

ریښتيني خبرداري

همدا دی. لومړی box د امنیت checklist سره قفل کړئ، خدمت ورواچوئ، او ستاسو bot آنلاین پاتې کیږي که تاسو یاست که نه. په یوه crypto-تادیه شوي VPS تاسو کولی شئ یو دقیقه وروسته چې پریکړه وکړئ یې چلوي.

پوښتنې

زه د یوه Telegram bot لپاره کوم VPS ته اړتیا لرم؟

ترټولو کوچنی. یو Telegram bot ډیری بې‌کاره دی، د تازه معلوماتو انتظار کوي، نو ۱ GB RAM او ۲ هستې د ډیری botونو لپاره کافي دي — حتی خورا بوخت. تاسو یوازې هغه وخت نور ته اړتیا لرئ چې bot پخپله درنه کار وکړي (د انځور پروسس، یو محلي مودل، یو لوی ډیټابیس).

زه څنګه یو Telegram bot د SSH د تړلو وروسته روان وساتم؟

دا د یوه systemd خدمت په توګه وچلوئ. ستاسو په terminal کې د پیلولو برعکس، systemd یې د وتلو وروسته ژوندی ساتي، بیا یې پیلوي که crash شي، او د یوه بیا پیل وروسته یې بیا پیلوي. دا د یوه لوبتکي او یو څه چې پورته پاتې کیږي ترمنځ توپیر دی.

ولې زما bot درولوي کله چې زه نه‌نښلم؟

ځکه چې تاسو یې ستاسو په SSH سیشن کې پیل کړ، نو دا مري کله چې هغه سیشن پای ته ورسیږي. دا یو systemd خدمت (یا د یوې چټکې ازموینې لپاره tmux) کې ونغاړئ او دا ستاسو له ننوتلو خپلواک چلیږي.

ایا زه د یوه Telegram bot لپاره یو ډومین یا webhook ته اړتیا لرم؟

نه. Long polling (getUpdates) هیڅ عامه URL، هیڅ ډومین، هیڅ دننه‌ورتګ پورټ ته اړتیا نلري — bot Telegram ته بهرته رسیږي. دا دلیل دی چې یو NAT VPS د هیڅ dedicated IP پرته د یوه bot لپاره بشپړ سم دی. Webhookونه د لوړ حجم لپاره یو اختیاري مطلوبول دي.

ایا خپل د bot token په یوه VPS ایښودل خوندي دي؟

هو، که تاسو یې د یوه پټنوم په څیر ونیسئ: دا په یوه چاپیریال متغیر یا یوه فایل کې وساتئ چې یوازې د bot کاروونکي لخوا لوستل کیدلی شي، هیڅکله یې git ته commit مه کوئ، او سرور د SSH کیلیو سره قفل کړئ. که یو token لیک شي، په BotFather کې یې باطل کړئ او یو نوی صادر کړئ.

← بلاګ ته بیرتهپلانونه او بیې وګورئ →

تبصرې

لا تبصرې نشته. لومړی اوسئ.

یوه تبصره پریږدئ

تبصرې د ښکاره کیدو مخکې اعتدال کیږي.