Einen Telegram-Bot hosten
Auf dieser Seite
Ein Telegram-Bot antwortet nur, solange sein Code läuft. Baust du ihn auf deinem Laptop, verstummt er, sobald der Laptop in den Ruhezustand geht – früher oder später braucht also jeder Bot ein Zuhause, das eingeschaltet bleibt.
Diese Anleitung deckt den ganzen Weg ab: den Bot mit BotFather anlegen, zwischen Polling und Webhooks wählen, ein funktionierendes Beispiel in Python und in JavaScript, die Limits und Regeln von Telegram und wie du den Bot 24/7 online hältst.
Schritt 1: Den Bot mit BotFather anlegen
- Öffne in Telegram @BotFather und sende
/newbot. - Gib dem Bot einen Anzeigenamen und dann einen Benutzernamen: 5 bis 32 Zeichen, lateinische Buchstaben, Ziffern und Unterstriche, mit
botam Ende – zum Beispielmy_shop_helper_bot. - BotFather antwortet mit dem Token, der etwa so aussieht:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Wer ihn hat, steuert deinen Bot – halte ihn also aus deinem Code heraus und gib ihn nie weiter. Ist er durchgesickert, sende/tokenan BotFather, um einen neuen zu bekommen.
Zwei weitere nützliche BotFather-Befehle: /setcommands legt die Befehlsliste fest, die Nutzer beim Tippen von / sehen, und /setprivacy steuert, was der Bot in Gruppen sieht. Standardmäßig ist der Privatsphäre-Modus aktiv, sodass der Bot in einer Gruppe nur an ihn gerichtete Befehle und Antworten auf seine eigenen Nachrichten erhält – es sei denn, du machst ihn zum Admin.
Polling oder Webhooks?
Ein Bot erhält seine Nachrichten von Telegram auf eine von zwei Arten – nie beide gleichzeitig:
| Long Polling | Webhook | |
|---|---|---|
| So funktioniert es | Der Bot fragt Telegram über eine offene Verbindung ständig nach neuen Nachrichten | Telegram schickt jedes Update an deine HTTPS-Adresse |
| Voraussetzungen | Nur ausgehender Internetzugang | Eine Domain, ein gültiges Zertifikat und Port 443, 80, 88 oder 8443 |
| Ideal für | Fast jeden Bot, und am einfachsten zu hosten | Sehr stark genutzte Bots oder Serverless-Plattformen |
Fang mit Polling an. Es braucht keine Domain, kein Zertifikat und keinen offenen Port, und jede Bibliothek unterstützt es. Wurde für den Token jemals ein Webhook gesetzt, rufe zuerst deleteWebhook auf – Polling funktioniert nicht, solange ein Webhook aktiv ist.
Polling-Bots laufen auf dem Bot-Hosting von HytHost ohne Domain oder offenen Port – Python oder Node.js ab €0.89/Monat.
Bot-Hosting-Tarife ansehenSchritt 2a: Ein Bot in Python (python-telegram-bot)
python-telegram-bot 22 benötigt Python 3.10 oder neuer. Installiere es mit pip install python-telegram-bot und lege bot.py an:
import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text("Hi! Send me a message and I will echo it.")
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text(update.message.text)
def main() -> None:
application = Application.builder().token(os.environ["TELEGRAM_TOKEN"]).build()
application.add_handler(CommandHandler("start", start))
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
application.run_polling(allowed_updates=Update.ALL_TYPES)
if __name__ == "__main__":
main()
aiogram 3 ist die andere beliebte Wahl in Python, ebenfalls ab Python 3.10.
Schritt 2b: Ein Bot in JavaScript (grammY)
grammY ist das aktiv gepflegte Telegram-Framework für Node.js. Führe npm install grammy aus und lege bot.js an:
const { Bot } = require("grammy");
const bot = new Bot(process.env.TELEGRAM_TOKEN);
bot.command("start", (ctx) => ctx.reply("Welcome! Up and running."));
bot.on("message:text", (ctx) => ctx.reply(ctx.message.text));
process.once("SIGINT", () => bot.stop());
process.once("SIGTERM", () => bot.stop());
bot.start();
Ältere Tutorials nutzen Telegraf, das seit Februar 2024 kein Release mehr bekommen hat; für einen neuen Bot ist grammY die sicherere Wahl.
Limits und Regeln von Telegram für Bots
Limits aus der Bot-FAQ von Telegram:
- Etwa eine Nachricht pro Sekunde in einem einzelnen Chat, 20 Nachrichten pro Minute in einer Gruppe und insgesamt etwa 30 Nachrichten pro Sekunde.
- Dateien: Der Bot kann bis zu 50 MB senden und bis zu 20 MB herunterladen.
- Es darf immer nur eine Instanz des Bots pollen. Eine zweite erhält Conflict: terminated by other getUpdates request – nutze zum Testen einen eigenen Token.
Regeln: Die Bedingungen von Telegram für Bot-Entwickler verbieten Spam, unerwünschte Nachrichten und das Umgehen von Rate-Limits. Ein Bot braucht eine Datenschutzerklärung (die Standarderklärung von Telegram gilt, wenn du keine eigene schreibst) und muss die Daten eines Nutzers auf Anfrage löschen. Ein persönliches Konto statt eines Bots zu automatisieren – ein sogenannter Userbot – ist etwas völlig anderes, und Telegram sperrt Konten, die für Flooding oder Spam genutzt werden.
Telegram-Bot-Hosting bei HytHost
Auf unseren Bot-Hosting-Tarifen laufen Telegram-Bots genauso wie Discord-Bots:
- Tarif und Runtime wählen – Python für python-telegram-bot oder aiogram, Node.js für grammY. Wähle im Tab Startup Python 3.10 oder neuer bzw. eine aktuelle Node.js-Version.
- Code hochladen per Dateimanager oder SFTP, zusammen mit
requirements.txtoderpackage.json. - Den Token in eine
.env-Datei legen oder in eine Umgebungsvariable, nicht in den Code. - Starten. Mit Polling braucht der Bot keine Domain und keinen offenen Port; stürzt er ab, startet ihn das Panel neu.
Was unsere Regeln erlauben: Bots auf Basis der offiziellen Bot API mit einem BotFather-Token. Nicht erlaubt: Userbots, die ein persönliches Konto automatisieren, unerwünschte Massennachrichten, das Scrapen von Nutzern oder Gruppen sowie Bots, die Medien ohne die Rechte daran herunterladen und weitergeben. Ein Bot, der gegen diese Regeln verstößt, wird gesperrt.
Die Tarife enthalten eine MySQL-Datenbank und Backups. Baust du auch einen Discord-Bot? Siehe Einen Discord-Bot erstellen.
Halte deinen Telegram-Bot 24/7 online, ohne dass dein PC läuft: Bot-Hosting für Python oder Node.js ab €0.89/Monat, Neustarts inklusive.
Bot-Hosting-Tarife ansehenHäufig gestellte Fragen
Du kannst ihn kostenlos auf deinem eigenen Computer laufen lassen, aber er geht offline, sobald der Computer in den Ruhezustand geht oder neu startet. Kostenlose Cloud-Angebote pausieren inaktive Apps oft oder begrenzen ihre Nutzung. Für einen Bot, der online bleibt, ist ein kleiner kostenpflichtiger Host die zuverlässige Option.
Polling für fast jeden Bot: Es braucht keine Domain, kein Zertifikat und keinen offenen Port. Webhooks eignen sich für sehr stark genutzte Bots oder Serverless-Plattformen und benötigen HTTPS auf Port 443, 80, 88 oder 8443. Ein Token kann nicht beides gleichzeitig nutzen.
Sende /token an @BotFather und wähle den Bot aus, um einen neuen Token zu erhalten, und aktualisiere ihn dann überall, wo der Bot läuft. Bewahre den Token in einer Umgebungsvariable oder einer .env-Datei auf, nie in Code, den du teilst.
Zwei Instanzen des Bots pollen mit demselben Token, zum Beispiel eine auf deinem PC und eine auf dem Server. Stoppe eine davon und nutze zum Testen einen eigenen Bot mit eigenem Token.
Sehr wenig. Ein typischer Python- oder Node.js-Bot, der auf Befehle antwortet, läuft meist problemlos mit 512 MB; Bots, die Bilder verarbeiten oder große Datenmengen im Speicher halten, brauchen mehr.
Dein Telegram-Bot, 24/7 online
Das Bot-Hosting von HytHost betreibt deinen Telegram-Bot in Python oder Node.js mit automatischen Neustarts, einer MySQL-Datenbank und Backups – ab €0.89/Monat.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursWar diese Anleitung hilfreich?