Sowohl python-telegram-bot als auch aiogram laufen gut in jedem PlayNHost-Bot-Tarif, auch im 0,5-GB-Tarif STARTER (ab 1,99 US$ im Monat). In unseren eigenen Messungen brauchte ein Bot mit python-telegram-bot 22 etwa 40 MB Arbeitsspeicher und ein Bot mit aiogram 3 etwa 169 MB, der Speicher entscheidet also nicht zwischen den beiden. Nimm die Bibliothek, deren Beispielen und Tutorials du folgst. Unser Python-Starter-Bot nutzt python-telegram-bot, weil sie die Python-Bibliothek für Telegram-Bots mit den meisten Sternen und den meisten Downloads ist und die leichteste, die wir gemessen haben.
Was wir gemessen haben
Wir haben jede Bibliothek auf unseren eigenen Servern gemessen, mit einem fertig gebauten Bot, der bereit zum Start war (der Speicher, den der Prozess belegt, vor der ersten Nachricht):
| Bibliothek | Speicher |
|---|---|
| python-telegram-bot 22 (Python 3.13) | 40 MB |
| Telegraf (Node.js 22) | 60 MB |
| grammY (Node.js 22) | 61 MB |
| aiogram 3 (Python 3.13) | 169 MB |
Python allein brauchte im selben Test 8 MB. Dein eigener Code, die Daten, die er im Speicher hält, und die Zahl der Chats kommen zu diesen Zahlen noch dazu.
Warum jede Tarifgröße funktioniert
Der 0,5-GB-Tarif STARTER betreibt jede dieser Bibliotheken mit Platz für deinen eigenen Code: Selbst aiogram, die schwerste, braucht etwa ein Drittel davon. Wähl 1 GB oder mehr, wenn dein Bot Daten im Speicher hält, Dateien oder Bilder verarbeitet oder mehrere Bots in einem Prozess betreibt. Tarife und Preise: Telegram-Bot-Hosting.
Im Vergleich
| python-telegram-bot | aiogram | |
|---|---|---|
| Gemessener Speicher | Etwa 40 MB (Version 22) | Etwa 169 MB (Version 3) |
| GitHub-Sterne (29. Okt. 2026) | 29.536 | 5.912 |
| PyPI-Downloads, letzte 30 Tage (29. Okt. 2026) | 6,76 Millionen | 2,76 Millionen |
| Polling-Aufruf | application.run_polling() | await dp.start_polling(bot) |
| Token-Name in den offiziellen Beispielen | Keiner (ein Platzhalter "TOKEN") | BOT_TOKEN |
| Ein für den Bot gesetzter Webhook | Wird beim Start des Pollings selbst entfernt | Wird nicht entfernt: Es versucht es bei 409 Conflict immer wieder |
| Ein abgelehnter Token (401) | Hört auf, es zu versuchen: Invalid token. Aborting retry loop. | Versucht es immer wieder, der Bot scheint also zu laufen |
| Eine andere Kopie läuft (409) | Versucht es immer wieder | Versucht es immer wieder |
aiogram ist in russischsprachigen Tutorials und Antworten verbreitet. Wenn du einem Tutorial folgst, nutz die Bibliothek, die es nutzt.
Was das auf deinem Server bedeutet
- Der Token: Das Panel gibt ihn deinem Code als
TELEGRAM_BOT_TOKEN,BOT_TOKEN,TOKEN,TELEGRAM_TOKENundTELOXIDE_TOKEN. Dasos.getenv("BOT_TOKEN")von aiogram funktioniert unverändert; ersetze in Beispielen für python-telegram-bot den Platzhalter durchos.environ["TOKEN"]oderos.environ["TELEGRAM_BOT_TOKEN"]. - Ein Bot, der zu laufen scheint, aber nicht antwortet: aiogram versucht es bei einem abgelehnten Token und bei
409 Conflictimmer wieder, python-telegram-bot bei409 Conflict. Das Panel liest die Console und zeigt ein Banner mit der Ursache, zum Beispiel Dein Bot läuft auch noch woanders. Lies dazu Telegram-Bot-Fehler 409 Conflict beheben. - Ein Webhook von einem alten Host: python-telegram-bot entfernt ihn, wenn das Polling startet. Klick bei aiogram auf der Bot-Seite im Bereich Telegram auf Webhook entfernen oder ruf
await bot.delete_webhook()vorstart_pollingauf. - Online in Telegram: Das Label auf der Übersicht wechselt zu Online in Telegram, sobald die Console eine Bereit-Zeile zeigt. aiogram gibt
Run polling for bot @your_botaus, wenn das Logging aufINFOsteht. Gib bei python-telegram-botLogged in as @your_botselbst aus, wie es unser Starter-Bot tut. - Dein Token in der Console: Lehnt Telegram den Token ab, enthält die Fehlermeldung von python-telegram-bot den Token selbst. Unser Starter-Bot fängt
InvalidTokenab, gibt stattdessen eine einfache Zeile aus und verbirgt den Token in seinen Log-Zeilen. - Python-Version: python-telegram-bot 22 braucht Python 3.10 oder neuer. Die Laufzeitumgebung im Bereich Code bietet 3.10 bis 3.14, mit 3.12 als Standard.
Derselbe Bot in beiden
Beide antworten auf /start und lesen den Token, den das Panel ihnen gibt. Leg die Bibliothek in requirements.txt und den Code in bot.py, die Standard-Startdatei.
python-telegram-bot: die requirements.txt
python-telegram-bot>=22,<23
bot.py
import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.effective_message.reply_text("Hello! I am running on PlayNHost.")
async def post_init(application: Application) -> None:
print(f"Logged in as @{application.bot.username}", flush=True)
application = (
Application.builder()
.token(os.environ["TELEGRAM_BOT_TOKEN"])
.post_init(post_init)
.build()
)
application.add_handler(CommandHandler("start", start))
application.run_polling()
aiogram: die requirements.txt
aiogram>=3,<4
bot.py
import asyncio
import logging
import os
from aiogram import Bot, Dispatcher
from aiogram.filters import CommandStart
from aiogram.types import Message
dp = Dispatcher()
@dp.message(CommandStart())
async def start(message: Message) -> None:
await message.answer("Hello! I am running on PlayNHost.")
async def main() -> None:
bot = Bot(os.environ["BOT_TOKEN"])
await bot.delete_webhook()
await dp.start_polling(bot)
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO)
asyncio.run(main())
Die aiogram-Version loggt auf INFO, gibt also Run polling for bot @your_bot aus, sobald sie bereit ist, und entfernt einen für den Bot gesetzten Webhook, bevor sie das Polling startet.
Und unter Node.js
Unser Node.js-Starter-Bot nutzt grammY. In unserem Test brauchten grammY und Telegraf etwa gleich viel Speicher (61 und 60 MB), beide passen also in jeden Tarif. Wir haben grammY gewählt, weil sie noch gepflegt wird (1.46.0 am 26. Aug. 2026, gegenüber dem letzten Release von Telegraf, 4.16.3, am 29. Feb. 2024).
Fragen, die Leute stellen
Welche nutzt der Starter-Bot?
python-telegram-bot 22 auf einem Python-Server, grammY auf einem Node.js-Server. Klick in der Karte Deinen Bot einrichten auf der Übersicht auf Starter-Bot erstellen. Lies dazu So hostest du einen Telegram-Bot.
Kann ich später von einer Bibliothek zur anderen wechseln?
Ja. Beide laufen auf demselben Python-Server: Ändere requirements.txt und deinen Code und starte dann neu. Das neue Paket wird bei diesem Start installiert, weil sich die Paketdatei geändert hat.
Brauche ich für aiogram einen größeren Tarif?
Nein. Mit etwa 169 MB passt sie mit reichlich Platz in den 0,5-GB-Tarif STARTER. Ein größerer Tarif hilft, wenn dein Bot selbst wächst: Daten im Speicher, Dateien und Bilder oder mehrere Bots in einem Prozess.



