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):
| Library | Geheugen |
|---|---|
| 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-bot | aiogram | |
|---|---|---|
| Gemeten geheugen | Ongeveer 40 MB (versie 22) | Ongeveer 169 MB (versie 3) |
| GitHub-sterren (29 okt. 2026) | 29.536 | 5.912 |
| PyPI-downloads, laatste 30 dagen (29 okt. 2026) | 6,76 miljoen | 2,76 miljoen |
| Pollingaanroep | application.run_polling() | await dp.start_polling(bot) |
| Tokennaam in de officiële voorbeelden | Geen (een plaatsaanduiding "TOKEN") | BOT_TOKEN |
| Een webhook die op de bot is blijven staan | Wordt zelf verwijderd zodra het pollen begint | Wordt 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 proberen | Blijft 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_TOKENenTELOXIDE_TOKEN. Deos.getenv("BOT_TOKEN")van aiogram werkt ongewijzigd; vervang in voorbeelden van python-telegram-bot de plaatsaanduiding dooros.environ["TOKEN"]ofos.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 bij409 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óórstart_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_botals de logging opINFOstaat. Print bij python-telegram-bot zelfLogged 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
InvalidTokenop, 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.



