OffshoreVps
Eğitimler8 Eki 20265 dk okumaYazan: OffshoreVps ekibi

Telegram botu VPS’te nasıl barındırılır

Bir bot token’ı alın, Python ile bot yazın, token’ı güvenle saklayın ve bir systemd hizmetiyle 7/24 çalışır durumda tutun.

Bir Telegram botunun mesajları yanıtlamak için sürekli çalışması gerekir. Dizüstü bilgisayarınızda çalıştırmak, kapağı kapattığınızda çevrimdışı kalması demektir. Küçük bir VPS bunu ayda birkaç dolara çözer. Bu rehber bir Python botunu systemd hizmeti olarak çalıştırır; böylece açılışta başlar ve çökmeden sonra yeniden başlar.

Telegram botu barındırmak için kullanılan komutları gösteren VPS üzerindeki terminal penceresi, “sudo apt update && sudo apt install -y python3 p” ile başlıyor
Bu rehberde sunucunuzda çalıştıracağınız komutlardan örnekler.

Hangi boyutta VPS?

Çoğu bot hafiftir. 1 ila 2 vCPU ve 2 GB RAM'li bir plan fazlasıyla yeter. Önerilen planlar için Telegram bot barındırma sayfasına bakın.

Adım 1: Bot token'ı alın

Telegram'da @BotFather ile konuşun, /newbot gönderin, bir ad ve bot ile biten bir kullanıcı adı seçin ve token'ı kopyalayın. Ona parola gibi davranın, çünkü elinde olan herkes botu kontrol edebilir.

Adım 2: Sunucuyu hazırlayın

sudo apt update && sudo apt install -y python3 python3-venv
sudo adduser --disabled-password --gecos "" botuser
sudo -iu botuser
mkdir ~/mybot && cd ~/mybot
python3 -m venv .venv
. .venv/bin/activate
pip install python-telegram-bot

Adım 3: Küçük bir bot yazın

# bot.py
import os
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

async def start(update: Update, ctx: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text("Hello! I am running on a VPS.")

app = ApplicationBuilder().token(os.environ["BOT_TOKEN"]).build()
app.add_handler(CommandHandler("start", start))
app.run_polling()

Polling açık port gerektirmez, bu yüzden alan adı veya webhook kurmanız gerekmez.

Bu rehberin adımları sırasıyla: 1. Hangi boyutta VPS?; 2. bir bot token’ı alın; 3. küçük bir bot yazın; 4. token’ı güvenle saklayın; 5. Güncelleme ve izleme; 6. Polling mi webhook mu?
Bu rehberdeki adımlar sırasıyla.

Adım 4: Token'ı güvenle saklayın

echo "BOT_TOKEN=123456:ABC..." > ~/mybot/.env
chmod 600 ~/mybot/.env

Adım 5: Hizmet olarak çalıştırın

Yönetici kullanıcı olarak geri dönün ve /etc/systemd/system/mybot.service dosyasını oluşturun:

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

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

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

Güncelleme ve izleme

  • Kodu güncelleyin, sonra sudo systemctl restart mybot.
  • Günlükleri journalctl -u mybot -n 100 ile kontrol edin.
  • Bot veri saklıyorsa yedekleri kullanın.

Polling mi webhook mu?

Polling en basitidir ve çoğu bot için yeterlidir. Yüksek hacimde anlık teslimat gerekiyorsa webhook kullanın; bunun için alan adı ve HTTPS gerekir. Bkz. Nginx ve HTTPS ile barındırma.