EQVPS

Hur du hostar en Telegram-bot på en VPS (och håller den igång)

15 juni 2026 · 3 min läsning · EQVPS Team

En Telegram-bot som bara körs medan din laptop är öppen körs inte riktigt — den demonstrerar. För att faktiskt ha den online, svarande klockan 3 på natten, överlevande dina omstarter och sina egna krascher, behöver den leva på en server. Här är hela vägen, från början till slut, med kommandona.

Goda nyheter först: en bot är en pytteliten arbetsbelastning. Den sitter mestadels idle och väntar på meddelanden, så den billigaste boxen kör den bra — ingen dedikerad IP, ingen domän, inget fancy.

1. Få en token från BotFather

I Telegram, skicka meddelande till @BotFather, skicka /newbot, välj ett namn och användarnamn. Den ger dig en token som ser ut som 12345:AAH.... Behandla den som ett lösenord — vem som helst med den styr din bot.

2. En minimal bot

SSH:a in i servern, sätt upp Python och biblioteket:

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

En bot som svarar — ~/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()

Notera att den läser token från en miljövariabel — inte hårdkodad. Det spelar roll i nästa steg.

3. Delen som faktiskt håller den igång: systemd

Om du bara kör python bot.py dör den i det ögonblick du stänger SSH. En systemd-tjänst är vad som får den att överleva utloggning, krascher och omstarter. Skapa /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

Sedan:

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 är raden som gör det verkliga jobbet — krasch, och den är tillbaka på 5 sekunder. enable betyder att den kommer upp efter en omstart. Det är hela skillnaden mellan "jag körde en bot en gång" och "min bot är uppe."

4. Varför ingen domän eller öppna portar

Boten använder long polling — den når ut till Telegram efter uppdateringar, så inget behöver nå in. Ingen publik URL, ingen inkommande brandväggsregel, ingen dedikerad IP. Det är precis därför en NAT-VPS (delad IP, SSH på en port) är ett bra och billigt hem för en bot. Webhooks finns för väldigt hög volym, men du behöver dem nästan säkert inte för att börja.

Ärliga förbehåll

Det är det. Lås ner boxen först med säkerhetschecklistan, släpp in tjänsten, och din bot stannar online oavsett om du gör det. På en krypto-betald VPS kan du ha den igång en minut efter att du bestämt dig.

FAQ

Vilken VPS behöver jag för en Telegram-bot?

Den minsta. En Telegram-bot är mestadels idle, väntar på uppdateringar, så 1 GB RAM och 2 kärnor räcker gott för de flesta bottar — även ganska upptagna. Du behöver bara mer om boten gör tungt arbete själv (bildbehandling, en lokal modell, en stor databas).

Hur håller jag en Telegram-bot igång efter att jag stänger SSH?

Kör den som en systemd-tjänst. Till skillnad från att starta den i din terminal håller systemd den vid liv efter att du loggar ut, startar om den om den kraschar, och startar den igen efter en omstart. Det är skillnaden mellan en leksak och något som stannar uppe.

Varför stannar min bot när jag kopplar från?

För att du startade den i din SSH-session, så den dör när den sessionen slutar. Slå in den i en systemd-tjänst (eller tmux för ett snabbtest) och den körs oberoende av din inloggning.

Behöver jag en domän eller webhook för en Telegram-bot?

Nej. Long polling (getUpdates) behöver ingen publik URL, ingen domän, ingen inkommande port — boten når ut till Telegram. Det är därför en NAT-VPS utan dedikerad IP är helt bra för en bot. Webhooks är en valfri optimering för hög volym.

Är det säkert att lägga min bot-token på en VPS?

Ja, om du behandlar den som ett lösenord: håll den i en miljövariabel eller en fil läsbar endast av botens användare, committa den aldrig till git, och lås ner servern med SSH-nycklar. Om en token läcker, återkalla den i BotFather och utfärda en ny.

← Tillbaka till bloggenSe planer & priser →

Kommentarer

Inga kommentarer än. Bli först.

Lämna en kommentar

Kommentarer modereras innan de visas.