Telegram-Bot 24/7: Hosting und Grenzen
Polling oder Webhook, Speicher, Neustart: was Sie einplanen sollten, damit ein Telegram-Bot Tag und Nacht erreichbar bleibt, und seine Grenzen.
Ein Telegram-Bot antwortet seinen Nutzern zu jeder Stunde. Damit er verfügbar bleibt, muss er dauerhaft auf einer ständig eingeschalteten Maschine laufen. Am wichtigsten ist, wie er Nachrichten empfängt: durch regelmäßiges Abfragen (Polling) oder über einen Webhook.
- Polling braucht keinen öffentlichen Port; ein Webhook braucht eine erreichbare HTTPS-Adresse.
- Ein aktiver Webhook blockiert das Polling: löschen Sie ihn, bevor Sie zurück zu Polling wechseln.
- Telegram begrenzt die Sendegeschwindigkeit: verteilen Sie Nachrichten und behandeln Sie Ablehnungen.
Polling oder Webhook
Beim Polling fragt der Bot regelmäßig bei Telegram nach neuen Nachrichten. Er braucht keinen nach außen offenen Port. Bei einem Webhook sendet Telegram jede Nachricht an eine HTTPS-Adresse, die Sie angeben: Dann brauchen Sie eine öffentliche Adresse, die antwortet.
- Polling: am einfachsten für einen Bot auf einem Server, ohne öffentlichen Port.
- Webhook: nützlich für eine Web-Anbindung oder hohen Datenverkehr, mit einer aus dem Internet erreichbaren HTTPS-Adresse.
- Ein aktiver Webhook blockiert das Polling (getUpdates): löschen Sie ihn, bevor Sie zurück zu Polling wechseln.
Den Prozess am Leben halten
Ein Bot, den Sie auf Ihrem PC starten, endet mit dem PC. Auf einem Server muss sich der Prozess nach einem Fehler selbst neu starten. Der Code sollte Netzwerkunterbrechungen deshalb abfangen, statt beim ersten Mal zu beenden.
- Fangen Sie Ausnahmen in der Empfangsschleife ab und protokollieren Sie sie, statt zu beenden.
- Halten Sie den Token in Umgebungsvariablen: Sie können ihn ändern, ohne den Code anzufassen.
- Prüfen Sie nach einem Neustart die Logs, ob der Bot wieder Nachrichten empfängt.
Grenzen, die Sie kennen sollten
Telegram begrenzt die Sendegeschwindigkeit. Ein Bot, der in derselben Gruppe zu schnell postet, erhält vorübergehende Ablehnungen. Planen Sie eine Warteschlange und eine Pause zwischen zwei Nachrichten ein.
- Zu dicht aufeinanderfolgende Nachrichten können eine Weile abgelehnt werden: verteilen Sie sie und behandeln Sie den Fehler.
- Ein Bot, der einen langen Verlauf im Speicher hält, verbraucht RAM: speichern Sie diese Daten besser in einer Datenbank.
- Der kostenlose Tarif bietet 315 MB RAM: genug für einen Befehls-Bot, weniger für einen Bot, der große Dateien verarbeitet.
Warum einen Telegram-Bot bei ACLClouds hosten
Ein Telegram-Bot ist ein schlanker Prozess und passt gut zum kostenlosen Tarif. Schreiben Sie ihn in Node.js oder Python und laden Sie ihn dann per SFTP auf Port 2222 hoch.
- Kostenloser Tarif: 1 Bot, 315 MB RAM, 0,25 vCPU, 715 MB Speicher, 4 Tage, kostenlos verlängerbar.
- SFTP-Zugang pro Bot auf Port 2222, um Ihren Code hochzuladen.
- Die Node.js- und Python-Images enthalten ffmpeg, yt-dlp und deno.
Häufig gestellte Fragen
Verbraucht ein Telegram-Bot viel RAM?
Bei einfachen Befehlen nicht. Daten im Speicher und die Verarbeitung von Dateien treiben den Verbrauch nach oben. Messen Sie eine Woche lang, bevor Sie urteilen.
Kann der Bot ohne Webhook laufen?
Ja. Polling reicht für die meisten Bots und braucht keine öffentliche Adresse.
Welche Sprache soll ich wählen?
Node.js und Python sind die beiden Sprachen für Bots bei ACLClouds. Nehmen Sie die, die Sie beherrschen: Beide reichen für einen Telegram-Bot.