Så hostar du en Telegram-bot
På den här sidan
En Telegram-bot svarar bara medan dess kod körs. Bygger du den på din laptop tystnar den så fort laptopen somnar — så förr eller senare behöver varje bot ett hem som alltid är igång.
Den här guiden täcker hela vägen: att skapa boten med BotFather, att välja mellan polling och webhooks, ett fungerande exempel i Python och i JavaScript, de gränser och regler Telegram sätter och hur du håller boten online 24/7.
Steg 1: Skapa boten med BotFather
- Öppna @BotFather i Telegram och skicka
/newbot. - Ge boten ett visningsnamn och sedan ett användarnamn: 5 till 32 tecken, latinska bokstäver, siffror och understreck, som slutar på
bot— till exempelmy_shop_helper_bot. - BotFather svarar med token, som ser ut som
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Den som har den styr din bot, så håll den utanför koden och dela den aldrig. Om den läcker, skicka/tokentill BotFather för att få en ny.
Två andra BotFather-kommandon som är bra att känna till: /setcommands lägger till kommandolistan som användarna ser när de skriver /, och /setprivacy styr vad boten ser i grupper. Som standard är integritetsläget på, så i en grupp tar boten bara emot kommandon riktade till den och svar på sina egna meddelanden — om du inte gör den till administratör.
Polling eller webhooks?
En bot får sina meddelanden från Telegram på ett av två sätt — aldrig båda samtidigt:
| Long polling | Webhook | |
|---|---|---|
| Så fungerar det | Boten frågar hela tiden Telegram efter nya meddelanden över en öppen anslutning | Telegram skickar varje uppdatering till din HTTPS-adress |
| Kräver | Bara utgående internetåtkomst | En domän, ett giltigt certifikat och port 443, 80, 88 eller 8443 |
| Bäst för | Nästan alla botar, och enklast att hosta | Mycket belastade botar eller serverless-plattformar |
Börja med polling. Det kräver varken domän, certifikat eller öppen port, och alla bibliotek stöder det. Om en webhook någon gång har satts på token, anropa deleteWebhook först — polling fungerar inte medan en webhook är aktiv.
Polling-botar körs på HytHosts bothosting utan domän eller öppen port att konfigurera — Python eller Node.js från €0.89/mån.
Se bothostingplanerSteg 2a: En bot i Python (python-telegram-bot)
python-telegram-bot 22 kräver Python 3.10 eller senare. Installera det med pip install python-telegram-bot och skapa bot.py:
import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text("Hi! Send me a message and I will echo it.")
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text(update.message.text)
def main() -> None:
application = Application.builder().token(os.environ["TELEGRAM_TOKEN"]).build()
application.add_handler(CommandHandler("start", start))
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
application.run_polling(allowed_updates=Update.ALL_TYPES)
if __name__ == "__main__":
main()
aiogram 3 är det andra populära valet i Python, också för Python 3.10 eller senare.
Steg 2b: En bot i JavaScript (grammY)
grammY är det aktivt underhållna Telegram-ramverket för Node.js. Kör npm install grammy och skapa bot.js:
const { Bot } = require("grammy");
const bot = new Bot(process.env.TELEGRAM_TOKEN);
bot.command("start", (ctx) => ctx.reply("Welcome! Up and running."));
bot.on("message:text", (ctx) => ctx.reply(ctx.message.text));
process.once("SIGINT", () => bot.stop());
process.once("SIGTERM", () => bot.stop());
bot.start();
Äldre guider använder Telegraf, som inte har fått någon release sedan februari 2024; för en ny bot är grammY det säkrare valet.
Telegrams gränser och regler för botar
Gränser enligt Telegrams bot-FAQ:
- Ungefär ett meddelande per sekund i en enskild chatt, 20 meddelanden per minut i en grupp och ungefär 30 meddelanden per sekund totalt.
- Filer: boten kan skicka upp till 50 MB och ladda ner upp till 20 MB.
- Bara en kopia av boten får polla åt gången. En andra får Conflict: terminated by other getUpdates request — använd en separat token för tester.
Regler: Telegrams villkor för botutvecklare förbjuder spam och oönskade meddelanden samt att kringgå hastighetsgränser. En bot behöver en integritetspolicy (Telegrams standardpolicy gäller om du inte skriver en egen) och måste radera en användares data på begäran. Att automatisera ett personligt konto i stället för en bot — en så kallad userbot — är något helt annat, och Telegram stänger av konton som används för flooding eller spam.
Telegram-bothosting hos HytHost
Våra bothosting-planer kör Telegram-botar likaväl som Discord-botar:
- Välj en plan och runtime — Python för python-telegram-bot eller aiogram, Node.js för grammY. Välj Python 3.10 eller senare, eller en aktuell Node.js, under fliken Startup.
- Ladda upp din kod med filhanteraren eller SFTP, tillsammans med
requirements.txtellerpackage.json. - Lägg token i en
.env-fil eller en miljövariabel, inte i koden. - Starta den. Med polling behöver boten varken domän eller öppen port; panelen startar om den om den kraschar.
Vad våra regler tillåter: botar byggda på det officiella Bot API med en token från BotFather. Inte tillåtet: userbots som automatiserar ett personligt konto, oönskade massutskick, skrapning av användare eller grupper samt botar som laddar ner och sprider media utan rättigheterna till det. En bot som bryter mot dessa regler stängs av.
Planerna inkluderar en MySQL-databas och säkerhetskopior. Gör du också en Discord-bot? Se så gör du en Discord-bot.
Håll din Telegram-bot online 24/7 utan din dator: bothosting för Python eller Node.js från €0.89/mån, omstarter ingår.
Se bothostingplanerVanliga frågor
Du kan köra den gratis på din egen dator, men den går offline så fort datorn somnar eller startar om. Gratisnivåer i molnet pausar ofta inaktiva appar eller begränsar deras användning. För en bot som ska hålla sig online är en liten betald host det pålitliga alternativet.
Polling för nästan alla botar: det kräver varken domän, certifikat eller öppen port. Webhooks passar mycket belastade botar eller serverless-plattformar och kräver HTTPS på port 443, 80, 88 eller 8443. En token kan inte använda båda samtidigt.
Skicka /token till @BotFather och välj boten för att få en ny token, och uppdatera den sedan överallt där boten körs. Förvara token i en miljövariabel eller en .env-fil, aldrig i kod som du delar.
Två kopior av boten pollar med samma token, till exempel en på din dator och en på servern. Stoppa den ena och använd en separat bot och token för tester.
Väldigt lite. En typisk Python- eller Node.js-bot som svarar på kommandon fungerar oftast bra på 512 MB; botar som bearbetar bilder eller håller stora datamängder i minnet behöver mer.
Din Telegram-bot, online 24/7
HytHosts bothosting kör din Telegram-bot i Python eller Node.js med automatiska omstarter, en MySQL-databas och säkerhetskopior — från €0.89/mån.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursVar den här guiden till hjälp?