Tillbaka till bloggen
Guides

Bygg din första Telegram-bot: En komplett guide till Bot API

En praktisk guide till Telegram Bot API: skaffa en BotFather-token, anropa sendMessage och getUpdates, sätt upp en webhook, hantera rate limits och lansera din första bot.

Bygg din första Telegram-bot: En komplett guide till Bot API

Den snabbaste vägen till att förstå Telegram Bot API är genom tre enkla steg: skaffa en token från BotFather, anropa getUpdates för att läsa meddelanden och anropa sendMessage för att svara. All annan botutveckling bygger på denna grundläggande loop. Den här guiden tar dig igenom hela processen, från din första cURL-förfrågan till en fungerande bot med webhook och ett bibliotek.

Bot API är ett HTTP-gränssnitt, vilket innebär att du kan testa det med curl innan du skriver en enda rad applikationskod. Detta gör det till ett av de mer användarvänliga API:erna att lära sig. Om du är en utvecklare som vill ha en fungerande bot idag, eller en byggare som överväger kod kontra en no-code-plattform som TeleClaw, har du kommit rätt.

När du är klar kommer du att förstå hur API:et autentiserar förfrågningar, hur man tar emot och skickar meddelanden, skillnaden mellan long polling och webhooks, samt de rate limits som ofta ställer till det för de första botarna.

Viktiga insikter

  • En bot är bara en HTTP-klient. Varje metod är en förfrågan till https://api.telegram.org/bot<TOKEN>/METHOD_NAME, så cURL räcker för att komma igång.
  • Tre kärnmetoder får dig att köra: getMe för att verifiera token, getUpdates för att läsa meddelanden och sendMessage för att svara.
  • Long polling och webhooks är ömsesidigt uteslutande. Använd polling för lokal testning, byt till en webhook för produktion.
  • API:et är gratis, men Telegram begränsar massutskick till cirka 30 meddelanden per sekund till olika användare och ett per sekund per chatt.
  • Ett bibliotek sparar tid när din bot växer bortom ett enkelt skript. Använd python-telegram-bot, aiogram eller Telegraf.

Vad är Telegram Bot API?

Telegram Bot API är ett HTTP-baserat gränssnitt som kopplar din kod till Telegram via en bot. Enligt Telegrams utvecklarintroduktion är botar speciella konton som inte kräver ett telefonnummer och fungerar som ett gränssnitt för kod som körs på din server.

Varje förfrågan du gör autentiseras med en bot-token snarare än ett användarkonto. Token identifierar boten, så du behandlar den som ett lösenord och lägger den aldrig i ett offentligt repository. Telegrams dokumentation säger det tydligt: spara din token på ett säkert ställe och dela den inte.

Själva API:et är gratis. Telegram har erbjudit Bot API kostnadsfritt sedan det lanserades, utan avgift per meddelande och utan begränsning för hur många botar du kan skapa. Det är därför så många community-verktyg, supportassistenter och automatiseringar körs på det. Om du är ny på plattformen, täcker vår guide om hur man skapar en Telegram-bot kontoinställningarna mer detaljerat.

Steg 1: Skaffa en bot-token från BotFather

Öppna Telegram och sök efter @BotFather, den officiella boten för att skapa och hantera andra botar. Starta en chatt och skicka kommandot /newbot.

BotFather frågar dig sedan om två saker i ordning:

  1. Ett visningsnamn för din bot, till exempel “Min första API-bot”.
  2. Ett användarnamn som slutar på bot, till exempel min_forsta_api_demo_bot.

När du är klar returnerar BotFather en API-token som ser ut som 123456789:AAExampleTokenStringHere. Denna token är den enda autentiseringsuppgiften du behöver för resten av denna guide.

Viktigt: Vem som helst med din token kan kontrollera din bot. Förvara den i en miljövariabel, inte i källkoden. Om den läcker, skicka /revoke till BotFather och skaffa en ny.

Steg 2: Anropa din första Bot API-metod

Innan du skriver något program, bekräfta att token fungerar. Metoden getMe returnerar grundläggande information om din bot och är den standardiserade hälsokontrollen. Ersätt <YOUR_TOKEN> med värdet från BotFather.

curl https://api.telegram.org/bot<YOUR_TOKEN>/getMe

Ett lyckat svar är JSON med "ok": true och din bots ID, namn och användarnamn. Om du ser "ok": false är token felaktig eller har ett stavfel.

Denna enda förfrågan är hela mönstret. Varje Telegram Bot API-metod följer samma form: ett HTTPS-anrop till https://api.telegram.org/bot<TOKEN>/METHOD_NAME, med parametrar i frågesträngen eller POST-kroppen, och ett JSON-objekt som svar. Den fullständiga listan finns i Bot API-referensen, som dokumenterar varje metod och objekt du någonsin kommer att behöva.

Steg 3: Ta emot och skicka meddelanden

Nu ska vi göra boten användbar. Det finns en regel som överraskar nybörjare: en bot kan inte starta en konversation. Användaren måste meddela boten först. Så öppna din bot i Telegram och skicka den valfri text, till exempel “hej”.

Läs sedan meddelandet med getUpdates, som hämtar inkommande uppdateringar med long polling och returnerar en array av uppdateringsobjekt.

curl https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates

I svaret, hitta message.chat.id. Det chat_id är adressen du svarar till. Kopiera det, och anropa sedan sendMessage:

curl -X POST https://api.telegram.org/bot<YOUR_TOKEN>/sendMessage \
 -d chat_id=<CHAT_ID> \
 -d text="Hej från min första bot"

Din bot svarar i chatten. Denna tur och retur, läsa med getUpdates och svara med sendMessage, är kärnloopen bakom de flesta Telegram-botar. Parametern text accepterar upp till 4096 tecken per meddelande, så långa svar måste delas upp.

Två detaljer att komma ihåg när du skalar detta Telegram Bot API-exempel till verklig kod:

  • Beräkna om offset. Skicka den senaste uppdateringens update_id plus ett som offset-parameter i ditt nästa getUpdates-anrop, annars fortsätter Telegram att returnera samma uppdateringar.
  • En metod i taget. getUpdates slutar fungera i samma ögonblick som du registrerar en webhook, vilket är ämnet för nästa steg.

Steg 4: Välj long polling eller en webhook

Telegram erbjuder två sätt att ta emot uppdateringar, och du kan bara använda ett per bot åt gången.

  • Long polling innebär att din kod upprepade gånger anropar getUpdates. Det är den enklaste vägen för inlärning och lokal utveckling eftersom det inte kräver någon offentlig URL, bara en process som fortsätter att köras.
  • Webhooks innebär att Telegram skickar varje uppdatering till din HTTPS-slutpunkt som en POST-förfrågan i samma ögonblick som den inträffar. Detta är produktionsstandarden: lägre latens, ingen inaktiv polling, och det skalar bättre under jämn trafik.

För att byta till en webhook, registrera din offentliga HTTPS-URL en gång:

curl "https://api.telegram.org/bot<YOUR_TOKEN>/setWebhook?url=https://yourdomain.com/webhook"

Din slutpunkt behöver ett giltigt TLS-certifikat och måste returnera HTTP 200 snabbt. Om uppdateringar slutar komma, är det första steget alltid att inspektera felet. För hela registrerings-, verifierings- och felsökningsflödet, se vår guide för Telegram bot webhook-inställning. Den korta versionen: börja med polling medan du bygger, flytta till en webhook innan du lanserar.

Steg 5: Använd ett bibliotek för API:et

Rå cURL är utmärkt för att lära sig, men produktionsbotar använder ett bibliotek. Ett bibliotek hanterar API-anropen, uppdateringsparsning, återförsök och konversationsstatus, så du skriver bara din botspecifika logik. Telegram listar community-bibliotek för nästan alla språk på sin Bot API-exempelsida.

Välj efter det språk du redan kan:

  • Python: python-telegram-bot är ren Python, helt asynkron och stöder Python 3.10 och uppåt. aiogram och pyTelegramBotAPI är populära alternativ.
  • Node.js: Telegraf är moget och TypeScript-vänligt. node-telegram-bot-api är ett långvarigt alternativ.

Här är samma ekobot i Python, den vanligaste utgångspunkten för en Telegram Bot API Python-handledning:

from telegram import Update
from telegram.ext import Application, MessageHandler, filters, ContextTypes

TOKEN = "YOUR_TOKEN"

async def echo(update: Update, context: ContextTypes. DEFAULT_TYPE):
 await update.message.reply_text(update.message.text)

app = Application.builder().token(TOKEN).build()
app.add_handler(MessageHandler(filters. TEXT & ~filters. COMMAND, echo))
app.run_polling()

Och motsvarande Node.js med Telegraf:

import { Telegraf } from 'telegraf'

const bot = new Telegraf(process.env. BOT_TOKEN)
bot.on('text', (ctx) => ctx.reply(ctx.message.text))
bot.launch()

Båda gör samma jobb som cURL-loopen från Steg 3, men på några få rader och med de krångliga delarna hanterade åt dig. Maria, en backend-utvecklare som prototypar en supportbot, gick från cURL-tester till python-telegram-bot på en eftermiddag och hade kommandohanterare och inline-knappar igång samma dag. API-koncepten överfördes direkt eftersom biblioteket är en tunn omslutning över samma HTTP-metoder.

Rate limits och kvoter att känna till

API:et är gratis, men det är inte obegränsat. Telegrams Bots FAQ listar riktlinjerna som förhindrar att din bot stryps.

  • Ett meddelande per sekund per chatt. I en enskild konversation, undvik att skicka snabbare än så.
  • Cirka 30 meddelanden per sekund totalt när du skickar till många olika användare. Överskrider du detta börjar du få HTTP 429 “Too Many Requests”-svar.
  • Ungefär 20 meddelanden per minut till samma grupp.

När en sändning verkligen behöver mer, kan du aktivera Paid Broadcasts i @BotFather, vilket höjer taket mot 1000 meddelanden per sekund. Meddelanden utöver de fria 30 per sekund kostar 0.1 Telegram Stars vardera. De flesta botar behöver aldrig detta, men det är bra att känna till gränsen innan du designar en notifieringsfunktion.

Respektera en 429 genom att läsa retry_after-värdet Telegram returnerar och pausa så många sekunder. Ett bibliotek hanterar detta åt dig, vilket är ytterligare en anledning att gå från råa förfrågningar när din trafik är verklig.

Hoppa över koden: AI-botar utan server

Alla projekt behöver inte en anpassad kodbas. Om ditt mål är en AI-assistent i en Telegram-grupp, är Bot API en infrastruktur du kanske inte vill underhålla själv, särskilt hosting, HTTPS och webhook-lagret.

TeleClaw är en no-code-plattform som driver boten åt dig och ansluter Claude AI direkt. Du lägger till @claw i din grupp, klistrar in din BotFather-token i kontrollpanelen och konfigurerar beteendet utan att röra setWebhook eller hantera rate limits. Tomas, som driver en kryptogemenskap med 4 000 medlemmar, ersatte en halvfärdig anpassad bot med TeleClaw och hade AI-moderering och FAQ-svar live samma kväll.

Det är samma Bot API under ytan. Du väljer om du vill driva serverlagret själv eller låta en plattform göra det. Utforska vad det täcker på TeleClaws funktionssida, och jämför alternativ i vår sammanställning av de bästa Telegram-botarna. För en ren dashboard-byggnation, se vår no-code Telegram chatbot-guide.

Slutsats

Du har nu en fungerande mental modell av Telegram Bot API: en token från BotFather, HTTP-metoder som getMe, getUpdates och sendMessage, ett val mellan long polling och webhooks, och ett bibliotek för att omsluta allt när din bot växer. API:et är gratis, väl dokumenterat och tillräckligt tillgängligt för att testas med cURL på några minuter.

Det snabbaste nästa steget är det minsta. Öppna @BotFather, kör /newbot och skicka din första getMe-förfrågan för att bekräfta token. Därifrån kan du bygga i Python eller Node, eller helt hoppa över servern. För att lansera en AI-driven bot på några minuter istället för dagar, lägg till @claw i din grupp och konfigurera den i TeleClaw-kontrollpanelen.

FAQ

Vanliga frågor

Hur använder jag Telegram Bot API?
Meddela @BotFather, skicka /newbot och kopiera den token du får. Anropa sedan valfri metod som en HTTPS-förfrågan till https://api.telegram.org/bot<TOKEN>/METHOD_NAME. Börja med getMe för att bekräfta att token fungerar, getUpdates för att läsa inkommande meddelanden och sendMessage för att svara. När din logik växer, byt från long polling till en webhook och lägg till ett bibliotek som python-telegram-bot eller Telegraf.
Vad är Telegram Bot API?
Telegram Bot API är ett HTTP-gränssnitt som låter din kod skicka och ta emot Telegram-meddelanden via ett botkonto. Botar är speciella konton som inte kräver ett telefonnummer och fungerar som ett gränssnitt för kod som körs på din server. Du autentiserar varje förfrågan med en bot-token från BotFather, och Telegram returnerar JSON-svar som du kan tolka i vilket språk som helst.
Är Telegram Bot API gratis?
Ja. Telegram låter dig använda Bot API kostnadsfritt, utan avgift per meddelande och utan begränsning för hur många botar du kan skapa. Dina verkliga kostnader är hosting (en liten VPS driver en enkel bot för några dollar i månaden) och eventuella AI-API:er du ansluter. Den valfria funktionen Paid Broadcasts gäller endast när du skickar fler än 30 meddelanden per sekund till olika användare.
Ska jag lära mig Telegram Bot API i Python eller Node.js?
Båda fungerar bra, så välj det språk du redan kan. Python-utvecklare börjar oftast med python-telegram-bot eller aiogram, båda helt asynkrona. Node.js-utvecklare väljer Telegraf, som är TypeScript-vänligt, eller node-telegram-bot-api. Alla dessa omsluter samma HTTP-metoder, så koncepten i denna guide överförs direkt mellan dem.
Behöver jag en server för att köra en Telegram-bot?
För anpassad kod, ja. Long polling kräver en process som körs kontinuerligt, och webhooks behöver en HTTPS-slutpunkt med ett giltigt certifikat. Om du vill ha en AI-bot utan att hantera en server, hostar en no-code-plattform som TeleClaw boten, hanterar uppdateringsleverans och ansluter Claude AI åt dig. Du klistrar in din BotFather-token och konfigurerar beteendet i en kontrollpanel.
Fler artiklar

Fortsätt läsa