Skip to content
VDS · యాప్‌లు మరియు బాట్‌లు

సర్వర్‌పై Telegram బాట్: లాంచింగ్ మరియు ఆటోస్టార్ట్

VPS పై Telegram బాట్‌ను ఎలా హోస్ట్ చేయాలి: దాని స్వంత యూజర్ కింద ఐసోలేషన్, systemd సర్వీస్, టోకెన్ నిల్వ, లాగ్‌లు, మరియు నెట్‌వర్క్ అంతరాయాల నిర్వహణ.

23 ఆగస్టు, 2026న నవీకరించబడింది

బాట్‌కు నిరంతరం నడుస్తూ ఉండే ప్రాసెస్ అవసరం — అక్కడే ఉచిత హోస్టింగ్ ముగిసి VDS మొదలవుతుంది. బాట్‌కు వనరులు దాదాపు అవసరం ఉండవు: వేలాది మంది యూజర్లు ఉన్న బాట్‌ను కూడా VDS-1 (1 కోర్, 2 GB) సులభంగా నిర్వహిస్తుంది.

ప్లేస్‌మెంట్

ప్రత్యేక యూజర్ మరియు డైరెక్టరీ — బాట్ root గా నడవకూడదు:

useradd -r -m -d /srv/bot -s /usr/sbin/nologin botuser
cd /srv/bot && sudo -u botuser git clone https://github.com/you/bot.git .
sudo -u botuser python3 -m venv venv
sudo -u botuser venv/bin/pip install -r requirements.txt

Node.js కోసం: venv బదులు npm ci --omit=dev ఉపయోగించండి.

టోకెన్‌ను కోడ్‌లో కాకుండా ఎన్విరాన్‌మెంట్ ఫైల్‌లో ఉంచండి:

install -o botuser -g botuser -m 600 /dev/null /srv/bot/.env
echo 'BOT_TOKEN=123456:ABC...' > /srv/bot/.env

టోకెన్ ఉన్న ఫైల్ రిపాజిటరీలోకి వెళ్లకూడదు: మొదటి కమిట్‌కు ముందే దాన్ని .gitignore లో జోడించండి.

సర్వీస్

/etc/systemd/system/tgbot.service:

[Unit]
Description=Telegram bot
After=network-online.target
Wants=network-online.target

[Service]
User=botuser
WorkingDirectory=/srv/bot
EnvironmentFile=/srv/bot/.env
ExecStart=/srv/bot/venv/bin/python -u bot.py
Restart=always
RestartSec=10
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now tgbot
journalctl -u tgbot -f

Python లో -u ఫ్లాగ్ అవుట్‌పుట్ బఫరింగ్‌ను ఆపేస్తుంది — అది లేకపోతే లాగ్‌లు journal లో కొన్ని నిమిషాల ఆలస్యంతో కనిపిస్తాయి, లేదా అసలు కనిపించవు.

లాంగ్ పోలింగ్ లేదా వెబ్‌హుక్

లాంగ్ పోలింగ్ సులభం: బాట్ స్వయంగా Telegram ను పోల్ చేస్తుంది, మీరు ఏదీ బయటకు తెరవాల్సిన అవసరం లేదు. చాలా పనులకు ఇది సరిపోతుంది.

వెబ్‌హుక్ వేగంగా ఉంటుంది, ట్రాఫిక్ ఖర్చు తక్కువ, కానీ దానికి డొమైన్ మరియు సర్టిఫికెట్ అవసరం:

location /bot/token {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
}

మీకు Let's Encrypt మరియు రివర్స్ ప్రాక్సీ అవసరం. Telegram సెల్ఫ్-సైన్డ్ సర్టిఫికెట్లను ఇష్టపడదు — సాధారణ సర్టిఫికెట్ ఉపయోగించండి.

ఒకేసారి బాట్ యొక్క రెండు కాపీలు ఎప్పుడూ నడవకూడదు: Telegram అప్‌డేట్‌లను ఒకే గ్రహీతకు పంపుతుంది, దాంతో బాట్‌లు అప్పుడప్పుడు మాత్రమే స్పందిస్తాయి. మార్పుల తర్వాత restart చేయండి, రెండోసారి లాంచ్ చేయకండి.

డేటా

సెట్టింగ్‌లు మరియు గణాంకాలకు SQLite సరిపోతుంది — బాట్ పక్కనే ఒక ఫైల్. బాట్‌కు వెబ్ ప్యానెల్ లేదా బహుళ ప్రాసెస్‌లు ఉంటే మాత్రమే ప్రత్యేక డేటాబేస్ సర్వర్ అవసరం.

సాధారణ తప్పులు

లక్షణంకారణం
Conflict: terminated by other getUpdatesబాట్ యొక్క రెండు కాపీలు నడుస్తున్నాయి
రాత్రి తర్వాత బాట్ నిశ్శబ్దమవుతుందిRestart=always కాన్ఫిగర్ చేయలేదు, నెట్‌వర్క్ డ్రాప్‌లో ప్రాసెస్ క్రాష్ అయింది
Unauthorizedటోకెన్ రద్దు చేయబడింది లేదా అదనపు స్పేస్‌లతో కాపీ అయింది
లాగ్‌లు లేవుఅవుట్‌పుట్ బఫరింగ్, లేదా stdout బదులు ఫైల్‌లో రాయడం
మాన్యువల్‌గా పనిచేస్తుంది, సర్వీస్‌గా క్రాష్ అవుతుందిsystemd లో ఎన్విరాన్‌మెంట్ వేరియబుల్స్ లేవు

స్క్రీన్‌షాట్, పబ్లిక్ రిపాజిటరీ లేదా ఇతరుల చాట్‌లో కనిపించిన టోకెన్ రాజీపడినట్లే. దాన్ని BotFather ద్వారా రద్దు చేసి .env ఫైల్‌ను మార్చండి — ఎవరూ గమనించరని ఎప్పుడూ అనుకోకండి.