NUOVO 📢 Offerta di lancio limitata: fino al 70% di sconto sul tuo primo mese, per tutti i giochi!Vedi i piani

python-telegram-bot vs aiogram su PlayNHost

Hosting di bot DiscordUpdated Oct 29, 20266 min read

Sia python-telegram-bot sia aiogram funzionano bene su ogni piano bot PlayNHost, compreso il piano STARTER da 0,5 GB (da 1,99 US$ al mese). Nelle nostre misure un bot python-telegram-bot 22 ha usato circa 40 MB di memoria e un bot aiogram 3 circa 169 MB, quindi la memoria non è ciò che decide tra i due. Scegli quella di cui segui esempi e tutorial. Il nostro bot di partenza in Python usa python-telegram-bot, perché è la libreria Python per bot Telegram con più stelle e più download, e la più leggera che abbiamo misurato.

Cosa abbiamo misurato

Abbiamo misurato ogni libreria sui nostri server, con un bot costruito e pronto ad avviarsi (la memoria usata dal processo, prima di qualsiasi messaggio):

LibreriaMemoria
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 da solo ha usato 8 MB nello stesso test. Il tuo codice, i dati che tiene in memoria e il numero di chat si sommano a questi numeri.

Perché va bene qualsiasi dimensione di piano

Il piano STARTER da 0,5 GB esegue una qualsiasi di queste librerie con spazio per il tuo codice: anche aiogram, la più pesante, ne usa circa un terzo. Scegli 1 GB o più quando il tuo bot tiene dati in memoria, gestisce file o immagini, oppure esegue più bot nello stesso processo. Piani e prezzi: Hosting per bot Telegram.

Confronto diretto

python-telegram-botaiogram
Memoria misurataCirca 40 MB (versione 22)Circa 169 MB (versione 3)
Stelle su GitHub (29 ott 2026)29.5365.912
Download da PyPI, ultimi 30 giorni (29 ott 2026)6,76 milioni2,76 milioni
Chiamata di pollingapplication.run_polling()await dp.start_polling(bot)
Nome del token nei suoi esempi ufficialiNessuno (un segnaposto "TOKEN")BOT_TOKEN
Un webhook rimasto impostato sul botRimosso da solo quando parte il pollingNon rimosso: riprova sul 409 Conflict
Un token rifiutato (401)Smette di riprovare: Invalid token. Aborting retry loop.Continua a riprovare, quindi il bot sembra in esecuzione
Un’altra copia in esecuzione (409)Continua a riprovareContinua a riprovare

aiogram è comune nei tutorial e nelle risposte in lingua russa. Se segui un tutorial, usa la libreria che usa lui.

Cosa significa sul tuo server

  • Il token: il pannello lo passa al tuo codice come TELEGRAM_BOT_TOKEN, BOT_TOKEN, TOKEN, TELEGRAM_TOKEN e TELOXIDE_TOKEN. L’os.getenv("BOT_TOKEN") di aiogram funziona così com’è; negli esempi di python-telegram-bot sostituisci il segnaposto con os.environ["TOKEN"] o os.environ["TELEGRAM_BOT_TOKEN"].
  • Un bot che sembra in esecuzione ma non risponde: aiogram continua a riprovare con un token rifiutato e su 409 Conflict, e python-telegram-bot su 409 Conflict. Il pannello legge la console e mostra un banner con la causa, per esempio Il tuo bot è in esecuzione anche altrove. Vedi Come risolvere l’errore 409 Conflict di un bot Telegram.
  • Un webhook di un vecchio host: python-telegram-bot lo rimuove quando parte il polling. Con aiogram, clicca Rimuovi il webhook nella pagina Bot, sezione Telegram, oppure chiama await bot.delete_webhook() prima di start_polling.
  • Online su Telegram: il badge nella Panoramica passa a Online su Telegram quando la console mostra una riga di bot pronto. aiogram stampa Run polling for bot @your_bot quando il logging è a INFO. Con python-telegram-bot, stampa tu Logged in as @your_bot, come fa il nostro bot di partenza.
  • Il tuo token nella console: quando Telegram rifiuta il token, il messaggio di errore di python-telegram-bot contiene il token stesso. Il nostro bot di partenza intercetta InvalidToken e stampa invece una riga semplice, e nasconde il token nelle sue righe di log.
  • Versione di Python: python-telegram-bot 22 richiede Python 3.10 o più recente. Il Runtime nella sezione Codice offre da 3.10 a 3.14, con 3.12 come predefinita.

Lo stesso bot nelle due librerie

Entrambe rispondono a /start e leggono il token che il pannello fornisce. Metti la libreria in requirements.txt e il codice in bot.py, il File di avvio predefinito.

python-telegram-bot, file requirements.txt:

python-telegram-bot>=22,<23

File 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, file requirements.txt:

aiogram>=3,<4

File 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())

La versione aiogram registra i log a livello INFO, quindi stampa Run polling for bot @your_bot quando è pronta, e rimuove un webhook rimasto sul bot prima di iniziare il polling.

E su Node.js

Il nostro bot di partenza per Node.js usa grammY. Nel nostro test grammY e Telegraf hanno usato circa la stessa memoria (61 e 60 MB), quindi entrambi vanno bene su qualsiasi piano. Abbiamo scelto grammY perché è ancora aggiornato (1.46.0 il 26 ago 2026, contro l’ultima versione di Telegraf, 4.16.3, del 29 feb 2024).

Domande frequenti

Quale usa il bot di partenza?

python-telegram-bot 22 su un server Python, grammY su un server Node.js. Clicca Crea un bot di partenza nel riquadro Configura il tuo bot della Panoramica. Vedi Come ospitare un bot Telegram.

Posso passare da una libreria all’altra più avanti?

Sì. Entrambe girano sullo stesso server Python: cambia requirements.txt e il tuo codice, poi riavvia. Il nuovo pacchetto si installa a quell’avvio perché il file dei pacchetti è cambiato.

Mi serve un piano più grande per aiogram?

No. Con circa 169 MB sta nel piano STARTER da 0,5 GB con margine. Un piano più grande aiuta quando è il tuo bot a crescere: dati tenuti in memoria, file e immagini, o più bot nello stesso processo.

Il tuo bot è già ospitato altrove? Spostalo da noi

ULTIMI ARTICOLI