BBotnexio

Jetzt kaufen!

← Alle Ratgeber

Telegram-Bot erstellen mit TypeScript und grammY (2026)

English version

Ein Telegram-Bot läuft schnell: Für die erste Version brauchst du keinen Server, und die Bot API kostet nichts. Diese Anleitung baut einen kleinen Bot in TypeScript mit grammY: Befehle, ein Menü mit Inline-Buttons und die Wahl zwischen Long Polling und Webhook.

Schritt 1: Token bei @BotFather holen

  1. In Telegram einen Chat mit @BotFather öffnen und /newbot senden.
  2. Anzeigenamen und einen Benutzernamen wählen, der auf bot endet.
  3. BotFather antwortet mit einem Token wie 123456:ABC-DEF…. Behandle ihn wie ein Passwort: in eine .env-Datei, nie in Git.

Schritt 2: Projekt anlegen

Laut grammY-Anleitung:

mkdir mein-bot && cd mein-bot
npm init -y
npm install -D typescript
npx tsc --init
npm install grammy

Schritt 3: Erste Befehle

import { Bot } from "grammy";

const bot = new Bot(process.env.BOT_TOKEN!);

bot.command("start", (ctx) => ctx.reply("Willkommen! /help zeigt alle Befehle."));
bot.command("help", (ctx) => ctx.reply("/start – Menü\n/help – diese Liste"));
bot.on("message", (ctx) => ctx.reply("Nachricht erhalten."));

bot.start(); // Long Polling

Mit npx tsc kompilieren und node bot.js starten. Mit DEBUG="grammy*" vor dem Start siehst du grammYs Logs.

Schritt 4: Menü mit Inline-Buttons

Inline-Buttons stehen unter einer Nachricht und senden beim Klick eine Callback-Query (grammY-Keyboards):

import { Bot, InlineKeyboard } from "grammy";

const menu = new InlineKeyboard()
  .text("Sprache", "menu:lang")
  .text("Feedback", "menu:feedback");

bot.command("start", (ctx) => ctx.reply("Was möchtest du tun?", { reply_markup: menu }));

bot.callbackQuery("menu:lang", async (ctx) => {
  await ctx.answerCallbackQuery();
  await ctx.reply("Wähle: /language de oder /language en");
});

// Alle übrigen Buttons beantworten, sonst zeigen manche Clients bis zu einer Minute einen Ladekreis.
bot.on("callback_query:data", (ctx) => ctx.answerCallbackQuery());

Den Auffang-Handler zuletzt registrieren.

Schritt 5: Long Polling oder Webhook?

Long PollingWebhook
Server nötignein, läuft auf jedem Rechnerja, öffentliche HTTPS-URL
Einrichtungbot.start()Telegram ruft deine URL auf; grammY bietet webhookCallback für gängige Web-Frameworks
Passt fürEinstieg, kleine BotsServerless oder Dauerbetrieb

Beides erklärt grammYs Deployment-Guide. Fang mit Polling an und wechsle, wenn du es brauchst.

Schritt 6: Bevor du andere einlädst

  • Rate-Limits: begrenzen, wie oft ein Nutzer aufwendige Befehle auslösen kann
  • Datenschutz: so wenig wie möglich speichern. Ein /privacy-Befehl mit deinen Kontaktdaten sowie /mydata und /deletedata zeigen Nutzern, was du speicherst
  • Sessions: Soll der Bot die Sprache eines Nutzers über Neustarts hinweg kennen, speichere sie in einer kleinen Datenbank wie SQLite, mit Löschfrist

Telegram Bot Starter

Der Telegram Bot Starter ist eine Vorlage mit automatisierten Tests für deinen eigenen Telegram-Bot in TypeScript mit grammY. Laut Produktseite: /start (Inline-Menü), /help, /language, /feedback, /cancel, /privacy, /mydata und /deletedata auf Deutsch und Englisch, Feedback-Dialog mit Inline-Buttons, DE/EN nach Telegram-Sprache, Sessions in SQLite (node:sqlite), Rate-Limit pro Nutzer, Admin-Befehle (/stats, /feedbacks, /block, /unblock, /retention), Long Polling oder Webhook, Dockerfile und docker-compose. Voraussetzungen: Node.js 22.13 oder neuer (oder Docker), eigener Bot-Token von @BotFather, eigenes Hosting. Preis: 19 € inkl. MwSt. Lizenz: nur eigene, nicht gewerbliche Nutzung für private und Community-Gruppen und -Kanäle, nicht für Shops, Unternehmen, bezahlte Kanäle oder Kundenaufträge (Lizenz). Nicht mit Telegram verbunden.

Häufige Probleme

  • Bot antwortet nicht: falscher Token, oder der Bot läuft noch woanders mit Polling. Pro Token nur eine Polling-Instanz.
  • Buttons drehen sich endlos: Callback-Query nicht beantwortet. ctx.answerCallbackQuery() ergänzen.
  • Webhook bekommt nichts: URL ist kein öffentliches HTTPS, oder ein alter Webhook zeigt noch woandershin.

FAQ

Brauche ich einen Server für einen Telegram-Bot?
Für den Anfang nicht. Mit Long Polling läuft der Bot auf deinem Rechner. Für Dauerbetrieb brauchst du einen Rechner, der an bleibt, oder einen Webhook mit öffentlichem HTTPS.

Kann ich einen Telegram-Bot ohne Programmieren erstellen?
Für feste Antworten gibt es Baukästen. Eigene Befehle, Menüs und Daten brauchen Code. Mit einer Vorlage passt du vor allem Texte und Einstellungen an.

Ist die Telegram Bot API kostenlos?
Bot bei @BotFather anlegen und die Bot API nutzen kostet nichts. Hosting ist deine Sache.

Ist der Telegram Bot Starter ein Abo?
Nein. 19 € inkl. MwSt., einmal bezahlt, Lieferung als ZIP.

Darf ich den Telegram Bot Starter für den Kundensupport meines Shops nutzen?
Nein. Die Lizenz gilt nur für nicht gewerbliche Bots in privaten und Community-Gruppen, nicht für Kundensupport von Shops oder Unternehmen, bezahlte Kanäle oder Kundenaufträge.

Weitere Guides

→ Telegram Bot Starter für 19 € holen

_Nicht mit Telegram verbunden und nicht von Telegram unterstützt._