Telegram-botni uy kompyuteridan VPS’ga 30 daqiqada qanday kōçiriş — MyCloud
Yuklanmoqda...

Telegram-botni uy kompyuteridan VPS’ga 30 daqiqada qanday kōçiriş

VPS va serverlar Çop etilgan: 15.09.2026 · 7 daqiqa ōqiş

Noutbukda işga tuşirilgan bot qopqoq yopilgunça yaşaydi. VPS’ga kōçiş yarim soat oladi va kuniga 4 000 sōm turadi — quyida Python va Node.js uçun bosqiçma-bosqiç yōriqnoma.

1-qadam. Server yarating

Şaxsiy kabinetda Ubuntu 22.04 yoki 24.04, 1 vCPU, 1 GB RAM, 20 GB disk tanlang — bir neçta bot uçun yetadi. 10–15 daqiqadan keyin IP-manzil va root parolini olasiz. Node.js va Python uçun tizimdagi farq ahamiyatsiz, Ubuntu — eng başorat qilinadigan variant.

2-qadam. Ulaning va tizimni tayyorlang

ssh root@SIZNING_IP
apt update && apt upgrade -y
adduser bot
usermod -aG sudo bot

Root’dan işlaş — yomon odat; alohida foydalanuvçi yarating. Keyingi barça buyruqlar undan bajariladi.

3-qadam. Muhitni ōrnating

Python:

sudo apt install -y python3 python3-venv python3-pip git
cd ~ && git clone https://github.com/siz/sizning-bot.git bot
cd bot && python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

Node.js:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs git
cd ~ && git clone https://github.com/siz/sizning-bot.git bot
cd bot && npm install

Bot tokeni va boşqa sirlarni kodga emas, loyiha papkasidagi .env fayliga qōying. Bot qōlda işga tuşişini tekşiring: python bot.py yoki node index.js. Telegramda javob bersa — davom eting.

4-qadam. systemd xizmati sifatida işga tuşiring

Bu asosiy qadam: xizmat nosozlik yoki server qayta yuklanganidan keyin ōzi qayta işga tuşadi. /etc/systemd/system/bot.service faylini yarating:

[Unit]
Description=Telegram bot
After=network.target

[Service]
User=bot
WorkingDirectory=/home/bot/bot
EnvironmentFile=/home/bot/bot/.env
ExecStart=/home/bot/bot/venv/bin/python bot.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Node.js uçun ExecStart ni /usr/bin/node index.js ga almaştiring. Keyin:

sudo systemctl daemon-reload
sudo systemctl enable --now bot
sudo systemctl status bot
journalctl -u bot -f

Oxirgi buyruq loglarni real vaqtda kōrsatadi — biror narsa notōḡri ketsa, xatolarni ōşa yerda kōrasiz.

5-qadam (ixtiyoriy). Polling ōrniga webhook’lar

Long polling darhol işlaydi va heç narsa talab qilmaydi. Webhook’lar tezroq va tejamkorroq, lekin domen va HTTPS kerak. Domen A-yozuvini server IP’siga yōnaltiring, Nginx va certbot ōrnating:

sudo apt install -y nginx certbot python3-certbot-nginx
sudo certbot --nginx -d bot.sizning-domen.uz

Nginx konfigida location /webhook ni bot tinglayotgan portga (masalan, 8080) yōnaltiring va setWebhook orqali webhook’ni rōyxatdan ōtkazing. Telegram webhook’larni 443, 80, 88 va 8443 portlarda qabul qiladi.

6-qadam. Minimal xavfsizlik

  • Brandmauerni yoqing: sudo ufw allow OpenSSH && sudo ufw allow 443 && sudo ufw enable.
  • SSH uçun parol bilan kirişni ōçiring, faqat kalitlarni qoldiring (/etc/ssh/sshd_config da PasswordAuthentication no).
  • fail2ban ōrnating — u parol tanlaşni bloklaydi.
  • Şaxsiy kabinetda server snapşotini oling — muvaffaqiyatsiz tajribalar uçun qaytiş nuqtasi.

Keyin nima

Botlar bir neçta bōlganda yoki ma’lumotlar bazasi paydo bōlganda xotira qōşing — bu qayta ōrnatmasdan qilinadi. Konteynerlar qulayroq bōlsa, Docker ham odatdagidek ōrnatiladi. Tariflar va kōp sōraladigan savollarga javoblar — Telegram-bot uçun server sahifasida.

Maqoladagi vazifada yordam kerakmi?

Konfiguratsiyani tanlaymiz, narxini hisoblaymiz va loyihani bepul kōçiramiz.