Telegram Bot in PHP selber bauen: Komplettguide für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Telegram Bot mit PHP: Vom ersten Schritt bis zur ersten Begrüßung

\n\n

Wenn es um die Entwicklung von Telegram-Bots geht, denken die meisten zuerst an Python. Das ist auch naheliegend: Es gibt die elegante Bibliothek python-telegram-bot, unzählige Tutorials und eine riesige Community. Aber was, wenn dein Hauptstack PHP ist? Oder du schnell einen einfachen Bot für Benachrichtigungen bauen willst, ohne einen separaten Python-Server aufzusetzen?

\n\n

Die gute Nachricht: Die Telegram Bot API ist sprachunabhängig. Es ist eine reine HTTP-Schnittstelle, und PHP kommt damit genauso gut zurecht. In diesem Artikel zeigen wir dir, wie du einen Telegram Bot mit PHP von Grund auf erstellst: von der Registrierung bei BotFather bis zu einem vollwertigen Bot, der auf Befehle reagiert, Nachrichten sendet und Callback-Anfragen verarbeitet. Alles mit echten Code-Beispielen, ohne überflüssiges Blabla.

\n\n

Warum PHP für einen Telegram Bot eine gute Wahl ist

\n\n

Viele Entwickler stehen PHP im Bot-Kontext skeptisch gegenüber. „PHP ist doch nur für einfache Webseiten, nicht für echte APIs“, heißt es oft. Dabei meistert PHP die Rolle als serverseitiger Handler hervorragend: Es ist einfach, vorhersagbar und läuft auf praktisch jedem Hosting. Für einen Bot, der keine Höchstleistungen erfordert (und das tun die meisten Bots), ist PHP die ideale Wahl.

\n\n

Außerdem: Wenn du bereits eine PHP-Website hast, kannst du den Bot auf dem gleichen Hosting betreiben. Keine zusätzlichen Worker, Dämonen oder komplizierten Konfigurationen nötig. Einfach eine Datei bot.php, die per Webhook erreichbar ist und Anfragen von Telegram verarbeitet.

\n\n

Was du für den Start brauchst

\n\n
    \n
  • Hosting mit PHP 7.4+ (jedes günstige Shared-Hosting reicht völlig aus).
  • \n
  • HTTPS-Zugriff – Telegram verlangt, dass der Webhook über eine sichere Verbindung läuft. Let's Encrypt ist eine gute Option.
  • \n
  • Ein Telegram-Konto – logisch, aber ohne geht es nicht.
  • \n
  • Grundlegende PHP-Kenntnisse – du solltest verstehen, wie Funktionen, Arrays und cURL funktionieren.
  • \n
\n\n

Wenn das alles vorhanden ist – los geht's!

\n\n

Schritt 1: Bot bei BotFather registrieren

\n\n

Starte in Telegram einen Chat mit @BotFather – dem „Züchter“ aller Bots. Sende den Befehl:

\n\n
/newbot
\n\n

Du wirst aufgefordert, einen Namen für den Bot (der in den Kontakten angezeigt wird) und einen Username (muss auf bot enden) einzugeben. Danach erhältst du einen Token – eine lange Zeichenfolge wie diese:

\n\n
1234567890:ABCdefGhIJKlmNoPQRsTUVwXYZ
\n\n

Das ist der Zugangsschlüssel zu deinem Bot. Gib ihn niemals weiter – jeder, der den Token kennt, kann den Bot steuern.

\n\n

Ich empfehle dir außerdem, sofort ein Profilbild und eine Beschreibung mit den Befehlen /setuserpic und /setdescription festzulegen. Das ist nicht zwingend nötig, macht den Bot aber sympathischer.

\n\n

Schritt 2: Methode zum Abrufen von Updates wählen

\n\n

Die Telegram Bot API bietet zwei Möglichkeiten:

\n\n
    \n
  • Polling (Long Polling) – Du fragst ständig den Telegram-Server: „Gibt es neue Nachrichten?“. Das funktioniert, erfordert aber ein dauerhaft laufendes Skript (z. B. per Cronjob).
  • \n
  • Webhook – Telegram sendet selbst einen POST-Request an deinen Server, sobald eine neue Nachricht eingeht. Das ist bequemer und schneller.
  • \n
\n\n

Wir verwenden Webhook. Prüfe zunächst, ob dein Server über HTTPS aus dem Internet erreichbar ist. Falls du kein SSL-Zertifikat hast, nutze Cloudflare (die bieten kostenloses SSL) oder kaufe ein günstiges Zertifikat.

\n\n

Webhook einrichten

\n\n

Sende einen GET-Request an folgende URL (du kannst sie einfach im Browser öffnen):

\n\n
https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://deine-seite.de/bot.php
\n\n

Ersetze <TOKEN> durch deinen echten Token und https://deine-seite.de/bot.php durch den tatsächlichen Pfad zu deinem Skript. Als Antwort solltest du ein JSON erhalten:

\n\n
{"ok": true, "result": true, "description": "Webhook was set"}

Blogs

Buchempfehlungen