NIEUW 📢 Beperkte lanceeractie: tot 70% korting op je eerste maand, voor elke game!Bekijk pakketten

python-telegram-bot vs aiogram op PlayNHost

Discord-bothostingUpdated Oct 29, 20266 min read

Zowel python-telegram-bot als aiogram draait goed op elk botpakket van PlayNHost, ook op het STARTER-pakket van 0,5 GB (vanaf US$1.99 per maand). In onze eigen metingen gebruikte een bot met python-telegram-bot 22 ongeveer 40 MB geheugen en een bot met aiogram 3 ongeveer 169 MB, dus geheugen geeft niet de doorslag. Kies de library waarvan je de voorbeelden en tutorials volgt. Onze Python-starterbot gebruikt python-telegram-bot, omdat het de Python-library voor Telegram-bots is met de meeste sterren en downloads, en de lichtste die we maten.

Wat we maten

We maten elke library op onze eigen servers, met een bot die gebouwd en klaar om te starten was (het geheugen dat het proces gebruikt, voor het eerste bericht):

LibraryGeheugen
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 zelf gebruikte in dezelfde test 8 MB. Je eigen code, de gegevens die hij in het geheugen houdt en het aantal chats komen daar nog bovenop.

Waarom elke pakketgrootte werkt

Het STARTER-pakket van 0,5 GB draait elk van deze libraries met ruimte voor je eigen code: zelfs aiogram, de zwaarste, gebruikt ongeveer een derde ervan. Kies 1 GB of meer als je bot gegevens in het geheugen houdt, bestanden of afbeeldingen verwerkt, of meerdere bots in één proces draait. Pakketten en prijzen: Telegram-bothosting.

Naast elkaar

python-telegram-botaiogram
Gemeten geheugenOngeveer 40 MB (versie 22)Ongeveer 169 MB (versie 3)
GitHub-sterren (29 okt. 2026)29.5365.912
PyPI-downloads, laatste 30 dagen (29 okt. 2026)6,76 miljoen2,76 miljoen
Pollingaanroepapplication.run_polling()await dp.start_polling(bot)
Tokennaam in de officiële voorbeeldenGeen (een plaatsaanduiding "TOKEN")BOT_TOKEN
Een webhook die op de bot is blijven staanWordt zelf verwijderd zodra het pollen begintWordt niet verwijderd: het blijft het opnieuw proberen bij 409 Conflict
Een geweigerd token (401)Stopt met proberen: Invalid token. Aborting retry loop.Blijft het proberen, dus de bot lijkt te draaien
Een andere kopie draait (409)Blijft het proberenBlijft het proberen

aiogram komt veel voor in Russischtalige tutorials en antwoorden. Volg je een tutorial, gebruik dan de library die hij gebruikt.

Wat dat betekent op je server

  • Het token: het panel geeft het aan je code als TELEGRAM_BOT_TOKEN, BOT_TOKEN, TOKEN, TELEGRAM_TOKEN en TELOXIDE_TOKEN. De os.getenv("BOT_TOKEN") van aiogram werkt ongewijzigd; vervang in voorbeelden van python-telegram-bot de plaatsaanduiding door os.environ["TOKEN"] of os.environ["TELEGRAM_BOT_TOKEN"].
  • Een bot die lijkt te draaien maar niet antwoordt: aiogram blijft het opnieuw proberen bij een geweigerd token en bij 409 Conflict, en python-telegram-bot bij 409 Conflict. Het panel leest de console en toont een banner met de oorzaak, bijvoorbeeld Je bot draait ook ergens anders. Zie Telegram-bot 409 Conflict oplossen.
  • Een webhook van een oude host: python-telegram-bot verwijdert hem zodra het pollen begint. Klik bij aiogram op de pagina Bot, deel Telegram, op Webhook verwijderen, of roep await bot.delete_webhook() aan vóór start_polling.
  • Online in Telegram: het statuslabel op Overzicht verandert in Online in Telegram zodra de console een gereedregel toont. aiogram print Run polling for bot @your_bot als de logging op INFO staat. Print bij python-telegram-bot zelf Logged in as @your_bot, zoals onze starterbot doet.
  • Je token in de console: weigert Telegram het token, dan bevat de foutmelding van python-telegram-bot het token zelf. Onze starterbot vangt InvalidToken op, print in plaats daarvan een duidelijke regel en verbergt het token in zijn logregels.
  • Pythonversie: python-telegram-bot 22 heeft Python 3.10 of nieuwer nodig. De Runtime in het deel Code biedt 3.10 tot 3.14, met 3.12 als standaard.

Dezelfde bot in beide

Beide antwoorden op /start en lezen het token dat het panel ze geeft. Zet de library in requirements.txt en de code in bot.py, het standaard Startbestand.

python-telegram-bot: het bestand 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: het bestand 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())

De aiogram-versie logt op INFO, dus ze print Run polling for bot @your_bot zodra ze klaar is, en verwijdert een webhook die op de bot is blijven staan voordat ze begint met pollen.

En op Node.js

Onze Node.js-starterbot gebruikt grammY. In onze test gebruikten grammY en Telegraf ongeveer evenveel geheugen (61 en 60 MB), dus beide passen op elk pakket. We kozen grammY omdat het nog wordt bijgewerkt (1.46.0 op 26 aug. 2026, tegenover de laatste release van Telegraf, 4.16.3, op 29 feb. 2024).

Vragen die mensen stellen

Welke gebruikt de starterbot?

python-telegram-bot 22 op een Python-server, grammY op een Node.js-server. Klik in de kaart Je bot instellen op Overzicht op Starterbot maken. Zie Een Telegram-bot hosten.

Kan ik later van de ene library naar de andere overstappen?

Ja. Beide draaien op dezelfde Python-server: wijzig requirements.txt en je code en herstart dan. Het nieuwe package wordt bij die start geïnstalleerd omdat het packagebestand is gewijzigd.

Heb ik een groter pakket nodig voor aiogram?

Nee. Met ongeveer 169 MB past het ruim in het STARTER-pakket van 0,5 GB. Een groter pakket helpt als je bot zelf groeit: gegevens in het geheugen, bestanden en afbeeldingen, of meerdere bots in één proces.

Draait je bot al ergens anders? Verhuis hem naar ons

ONZE NIEUWSTE BLOGS