Tilbake til bloggen
Guides

Telegram Bot API-veiledning: Bygg din første bot

En praktisk veiledning til Telegram Bot API: Skaff et BotFather-token, kall sendMessage og getUpdates, sett opp en webhook, håndter rate limits, og lanser din første bot.

Telegram Bot API-veiledning: Bygg din første bot

Den raskeste veiledningen til Telegram Bot API består av tre kommandoer: skaff et token fra BotFather, kall getUpdates for å lese meldinger, og kall sendMessage for å svare. Alt annet innen bot-utvikling bygger på denne loopen. Denne guiden tar deg gjennom hele prosessen, fra din første cURL-forespørsel til en fungerende bot med webhook og et bibliotek.

Bot API er et HTTP-grensesnitt, noe som betyr at du kan teste det med curl før du skriver en eneste linje med applikasjonskode. Dette gjør det til et av de mer brukervennlige API-ene å lære. Hvis du er en utvikler som ønsker en fungerende bot i dag, eller en som vurderer kode kontra en no-code-plattform som TeleClaw, er du på rett sted.

Ved slutten av denne guiden vil du forstå hvordan API-et autentiserer forespørsler, hvordan du mottar og sender meldinger, forskjellen mellom long polling og webhooks, og rate limits som ofte skaper problemer for de første bottene.

Viktige punkter

  • En bot er bare en HTTP-klient. Hver metode er en forespørsel til https://api.telegram.org/bot<TOKEN>/METHOD_NAME, så cURL er nok til å komme i gang.
  • Tre kjernemetoder får deg i gang: getMe for å verifisere tokenet, getUpdates for å lese meldinger, og sendMessage for å svare.
  • Long polling og webhooks utelukker hverandre. Bruk polling for lokal testing, bytt til en webhook for produksjon.
  • API-et er gratis, men Telegram begrenser masseutsendelser til omtrent 30 meldinger per sekund til forskjellige brukere og én per sekund per chat.
  • Et bibliotek sparer tid når boten din vokser utover et enkelt skript. Bruk python-telegram-bot, aiogram eller Telegraf.

Hva er Telegram Bot API?

Telegram Bot API er et HTTP-basert grensesnitt som kobler koden din til Telegram via en bot. Ifølge Telegrams utviklerintroduksjon er botter spesielle kontoer som ikke krever et telefonnummer og fungerer som et grensesnitt for kode som kjører på serveren din.

Hver forespørsel du sender, autentiseres med et bot-token i stedet for en brukerkonto. Tokenet identifiserer boten, så du bør behandle det som et passord og aldri legge det ut i et offentlig repository. Telegrams dokumentasjon sier det tydelig: lagre tokenet ditt på et sikkert sted og ikke del det.

Selve API-et er gratis. Telegram har tilbudt Bot API gratis siden lanseringen, uten kostnad per melding og ingen begrensning på hvor mange botter du kan opprette. Dette er grunnen til at så mange fellesskapsverktøy, supportassistenter og automatiseringer kjører på det. Hvis du er ny på plattformen, dekker vår guide om hvordan du oppretter en Telegram-bot kontooppsettet mer detaljert.

Trinn 1: Skaff et bot-token fra BotFather

Åpne Telegram og søk etter @BotFather, den offisielle boten for å opprette og administrere andre botter. Start en chat og send kommandoen /newbot.

BotFather vil deretter spørre om to ting i rekkefølge:

  1. Et visningsnavn for boten din, for eksempel “Min Første API Bot”.
  2. Et brukernavn som slutter med bot, for eksempel min_forste_api_demo_bot.

Når du er ferdig, returnerer BotFather et API-token som ser ut som 123456789:AAExampleTokenStringHere. Dette tokenet er den eneste legitimasjonen du trenger for resten av denne veiledningen.

Viktig: Alle med ditt token kontrollerer boten din. Oppbevar det i en miljøvariabel, ikke i kildekoden. Hvis det lekker, send /revoke til BotFather og få et nytt.

Trinn 2: Kall din første Bot API-metode

Før du skriver noe program, bekreft at tokenet fungerer. getMe-metoden returnerer grunnleggende informasjon om boten din og er standard helsesjekk. Erstatt <YOUR_TOKEN> med verdien fra BotFather.

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

Et vellykket svar er JSON med "ok": true og botens ID, navn og brukernavn. Hvis du ser "ok": false, er tokenet feil eller har en skrivefeil.

Denne ene forespørselen er hele mønsteret. Hver Telegram Bot API-metode følger samme form: et HTTPS-kall til https://api.telegram.org/bot<TOKEN>/METHOD_NAME, med parametere i spørrestrengen eller POST-kroppen, og et JSON-objekt i retur. Den fullstendige listen finner du i Bot API-referansen, som dokumenterer hver metode og hvert objekt du noensinne vil trenge.

Trinn 3: Motta og send meldinger

Nå skal vi gjøre boten nyttig. Det er én regel som overrasker nybegynnere: en bot kan ikke starte en samtale. Brukeren må sende melding til boten først. Så åpne boten din i Telegram og send den en hvilken som helst tekst, for eksempel “hei”.

Deretter leser du den meldingen med getUpdates, som henter innkommende oppdateringer ved hjelp av long polling og returnerer en matrise med oppdateringsobjekter.

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

I svaret finner du message.chat.id. Denne chat_id er adressen du svarer til. Kopier den, og kall deretter sendMessage:

curl -X POST https://api.telegram.org/bot<YOUR_TOKEN>/sendMessage \
 -d chat_id=<CHAT_ID> \
 -d text="Hei fra min første bot"

Boten din svarer i chatten. Denne rundreisen, lesing med getUpdates og svar med sendMessage, er kjerneløkken bak de fleste Telegram-botter. text-parameteren aksepterer opptil 4096 tegn per melding, så lange svar må deles opp.

To detaljer å huske når du skalerer dette Telegram Bot API-eksemplet til ekte kode:

  • Beregn offset på nytt. Send den siste oppdateringens update_id pluss én som offset-parameteren på ditt neste getUpdates-kall, ellers vil Telegram fortsette å returnere de samme oppdateringene.
  • Én metode om gangen. getUpdates slutter å fungere i det øyeblikket du registrerer en webhook, som er temaet for neste trinn.

Trinn 4: Velg long polling eller en webhook

Telegram tilbyr to måter å motta oppdateringer på, og du kan bare bruke én per bot om gangen.

  • Long polling betyr at koden din gjentatte ganger kaller getUpdates. Det er den enkleste veien for læring og lokal utvikling fordi det ikke krever en offentlig URL, bare en prosess som holder seg kjørende.
  • Webhooks betyr at Telegram sender hver oppdatering til ditt HTTPS-endepunkt som en POST-forespørsel i det øyeblikket det skjer. Dette er produksjonsstandarden: lavere latens, ingen inaktiv polling, og det skalerer bedre under jevn trafikk.

For å bytte til en webhook, registrer din offentlige HTTPS-URL én gang:

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

Endepunktet ditt trenger et gyldig TLS-sertifikat og må returnere HTTP 200 raskt. Hvis oppdateringer slutter å komme, er det første du alltid gjør å inspisere feilen. For fullstendig registrering, verifisering og feilsøking, se vår Telegram bot webhook oppsettguide. Kortversjonen: start med polling mens du bygger, flytt til en webhook før du lanserer.

Trinn 5: Pakk API-et inn i et bibliotek

Rå cURL er flott for læring, men produksjonsbotter bruker et bibliotek. Et bibliotek håndterer API-kall, oppdateringsparsing, nye forsøk og samtalestatus, slik at du bare skriver din bot-spesifikke logikk. Telegram lister opp fellesskapsbiblioteker for nesten alle språk på sin Bot API-eksempelside.

Velg etter språket du allerede kan:

  • Python: python-telegram-bot er ren Python, fullt asynkron, og støtter Python 3.10 og nyere. aiogram og pyTelegramBotAPI er populære alternativer.
  • Node.js: Telegraf er moden og TypeScript-vennlig. node-telegram-bot-api er et langvarig alternativ.

Her er den samme ekkoboten i Python, det vanligste utgangspunktet for en Telegram Bot API Python-veiledning:

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()

Og Node.js-ekvivalenten 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()

Begge gjør den samme jobben som cURL-løkken fra trinn 3, men på noen få linjer og med de rotete delene håndtert for deg. Maria, en backend-utvikler som prototyper en supportbot, flyttet fra cURL-tester til python-telegram-bot på en ettermiddag og hadde kommandohåndterere og inline-knapper fungerende samme dag. API-konseptene ble overført direkte fordi biblioteket er en tynn wrapper over de samme HTTP-metodene.

Rate limits og kvoter du bør kjenne til

API-et er gratis, men det er ikke ubegrenset. Telegrams Bots FAQ lister opp retningslinjene som hindrer boten din i å bli strupet.

  • Én melding per sekund per chat. I en enkelt samtale, unngå å sende raskere enn dette.
  • Omtrent 30 meldinger per sekund totalt når du sender til mange forskjellige brukere. Går du over, begynner du å motta HTTP 429 “Too Many Requests”-svar.
  • Omtrent 20 meldinger per minutt til samme gruppe.

Når en sending virkelig trenger mer, kan du aktivere betalte sendinger i @BotFather, noe som hever taket mot 1000 meldinger per sekund. Meldinger utover de gratis 30 per sekund koster 0,1 Telegram Stars hver. De fleste botter trenger aldri dette, men det er greit å vite at grensen eksisterer før du designer en varslingsfunksjon.

Respekter en 429 ved å lese retry_after-verdien Telegram returnerer og pause i så mange sekunder. Et bibliotek håndterer dette for deg, noe som er enda en grunn til å gå bort fra rå forespørsler når trafikken din er reell.

Dropp koden: AI-botter uten server

Ikke alle prosjekter trenger en tilpasset kodebase. Hvis målet ditt er en AI-assistent i en Telegram-gruppe, er Bot API-et en infrastruktur du kanskje ikke ønsker å vedlikeholde selv, spesielt hosting, HTTPS og webhook-laget.

TeleClaw er en no-code-plattform som kjører boten for deg og kobler til Claude AI rett ut av esken. Du legger til @claw i gruppen din, limer inn BotFather-tokenet ditt i dashbordet, og konfigurerer oppførsel uten å røre setWebhook eller håndtering av rate limits. Tomas, som driver et kryptofellesskap med 4000 medlemmer, erstattet en halvferdig tilpasset bot med TeleClaw og hadde AI-moderering og FAQ-svar live samme kveld.

Det er det samme Bot API-et under. Du velger om du vil drifte serverlaget selv eller la en plattform gjøre det. Utforsk hva dette dekker på TeleClaw-funksjonssiden, og sammenlign alternativer i vår oversikt over de beste Telegram-botene. For en ren dashbord-bygging, se vår no-code Telegram chatbot-guide.

Konklusjon

Du har nå en fungerende mental modell av Telegram Bot API: et token fra BotFather, HTTP-metoder som getMe, getUpdates og sendMessage, et valg mellom long polling og webhooks, og et bibliotek for å pakke det hele inn når boten din vokser. API-et er gratis, veldokumentert og tilgjengelig nok til å teste med cURL på minutter.

Det raskeste neste trinnet er det minste. Åpne @BotFather, kjør /newbot, og send din første getMe-forespørsel for å bekrefte tokenet. Derfra kan du bygge i Python eller Node, eller hoppe over serveren helt. For å lansere en AI-drevet bot på minutter i stedet for dager, legg til @claw i gruppen din og konfigurer den i TeleClaw-dashbordet.

FAQ

Ofte stilte spørsmål

Hvordan bruker jeg Telegram Bot API?
Send melding til @BotFather, send /newbot, og kopier tokenet du får. Deretter kan du kalle hvilken som helst metode som en HTTPS-forespørsel til https://api.telegram.org/bot<TOKEN>/METHOD_NAME. Start med getMe for å bekrefte at tokenet fungerer, getUpdates for å lese innkommende meldinger, og sendMessage for å svare. Når logikken din vokser, bytt fra long polling til en webhook og legg til et bibliotek som python-telegram-bot eller Telegraf.
Hva er Telegram Bot API?
Telegram Bot API er et HTTP-grensesnitt som lar koden din sende og motta Telegram-meldinger via en bot-konto. Botter er spesielle kontoer som ikke krever et telefonnummer og fungerer som et grensesnitt for kode som kjører på serveren din. Du autentiserer hver forespørsel med et bot-token fra BotFather, og Telegram returnerer JSON-svar du kan tolke i hvilket som helst språk.
Er Telegram Bot API gratis?
Ja. Telegram lar deg bruke Bot API gratis, uten API-avgift per melding og ingen grense for hvor mange botter du kan opprette. Dine reelle kostnader er hosting (en liten VPS driver en enkel bot for noen få dollar i måneden) og eventuelle AI-API-er du kobler til. Den valgfrie funksjonen for betalte sendinger gjelder kun når du sender mer enn 30 meldinger per sekund til forskjellige brukere.
Bør jeg lære Telegram Bot API i Python eller Node.js?
Begge fungerer bra, så velg språket du allerede kan. Python-utviklere starter vanligvis med python-telegram-bot eller aiogram, begge fullt asynkrone. Node.js-utviklere velger Telegraf, som er TypeScript-vennlig, eller node-telegram-bot-api. Alle pakker inn de samme HTTP-metodene, så konseptene i denne veiledningen overføres direkte mellom dem.
Trenger jeg en server for å kjøre en Telegram-bot?
For tilpasset kode, ja. Long polling krever en prosess som holder seg kjørende, og webhooks krever et HTTPS-endepunkt med et gyldig sertifikat. Hvis du vil ha en AI-bot uten å administrere en server, hoster en no-code-plattform som TeleClaw boten, håndterer oppdateringslevering og kobler til Claude AI for deg. Du limer inn BotFather-tokenet ditt og konfigurerer oppførsel i et dashbord.
Flere artikler

Fortsett å lese