Hem python-telegram-bot hem aiogram, 0,5 GB STARTER paketi (ayda US$1,99’dan başlar) dahil olmak üzere her PlayNHost bot paketinde iyi çalışır. Kendi ölçümlerimizde bir python-telegram-bot 22 botu yaklaşık 40 MB, bir aiogram 3 botu yaklaşık 169 MB bellek kullandı, bu yüzden ikisi arasında belirleyici olan bellek değildir. Örneklerini ve eğitimlerini izlediğiniz kütüphaneyi seçin. Python başlangıç botumuz python-telegram-bot kullanır, çünkü Telegram botları için en çok yıldızlanan ve en çok indirilen Python kütüphanesidir ve ölçtüğümüz en hafifidir.
Ne ölçtük
Her kütüphaneyi kendi sunucularımızda, kurulmuş ve başlatılmaya hazır bir botla ölçtük (süreç herhangi bir mesajdan önce ne kadar bellek kullanıyor):
| Kütüphane | Bellek |
|---|---|
| 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 |
Aynı testte Python tek başına 8 MB kullandı. Kendi kodunuz, bellekte tuttuğu veriler ve sohbet sayısı bu rakamlara eklenir.
Neden her paket boyutu yeterli
0,5 GB STARTER paketi bu kütüphanelerin hepsini kodunuza yer bırakarak çalıştırır: en ağır olan aiogram bile bunun yaklaşık üçte birini kullanır. Botunuz bellekte veri tutuyorsa, dosya ya da görsel işliyorsa ya da tek süreçte birkaç bot çalıştırıyorsa 1 GB ya da daha fazlasını seçin. Paketler ve fiyatlar: Telegram bot barındırma.
Yan yana
| python-telegram-bot | aiogram | |
|---|---|---|
| Ölçtüğümüz bellek | Yaklaşık 40 MB (sürüm 22) | Yaklaşık 169 MB (sürüm 3) |
| GitHub yıldızları (29 Eki 2026) | 29.536 | 5.912 |
| PyPI indirmeleri, son 30 gün (29 Eki 2026) | 6,76 milyon | 2,76 milyon |
| Polling çağrısı | application.run_polling() | await dp.start_polling(bot) |
| Resmi örneklerindeki token adı | Yok (bir "TOKEN" yer tutucusu) | BOT_TOKEN |
| Botta ayarlı bırakılmış bir webhook | Polling başlarken kendiliğinden kaldırılır | Kaldırılmaz: 409 Conflict hatasında yeniden dener |
| Reddedilen bir token (401) | Yeniden denemeyi bırakır: Invalid token. Aborting retry loop. | Yeniden denemeyi sürdürür, bu yüzden bot çalışıyor görünür |
| Çalışan başka bir kopya (409) | Yeniden denemeyi sürdürür | Yeniden denemeyi sürdürür |
aiogram, Rusça eğitimlerde ve yanıtlarda yaygındır. Bir eğitim izliyorsanız onun kullandığı kütüphaneyi kullanın.
Bunun sunucunuzda anlamı
- Token: panel onu kodunuza
TELEGRAM_BOT_TOKEN,BOT_TOKEN,TOKEN,TELEGRAM_TOKENveTELOXIDE_TOKENolarak verir. aiogram’ınos.getenv("BOT_TOKEN")satırı olduğu gibi çalışır; python-telegram-bot örneklerinde yer tutucuyuos.environ["TOKEN"]ya daos.environ["TELEGRAM_BOT_TOKEN"]ile değiştirin. - Çalışıyor görünen ama yanıt vermeyen bot: aiogram reddedilen token’da ve
409 Conflicthatasında, python-telegram-bot ise409 Conflicthatasında yeniden denemeyi sürdürür. Panel konsolu okur ve nedeni gösteren bir uyarı çıkarır, örneğin Botunuz başka bir yerde de çalışıyor. Bkz. Telegram botu 409 Conflict hatasını düzeltin. - Eski bir barındırıcıdan kalan webhook: python-telegram-bot polling başlarken onu kaldırır. aiogram’da Bot sayfasında, Telegram bölümünde Webhook’u kaldır’a tıklayın ya da
await bot.delete_webhook()çağrısınıstart_polling’den önce yapın. - Telegram’da çevrimiçi: konsol bir hazır satırı gösterdiğinde Genel bakış sayfasındaki rozet Telegram’da çevrimiçi’ye döner. aiogram,
Run polling for bot @your_botsatırını günlük düzeyiINFOolduğunda yazdırır. python-telegram-bot’ta başlangıç botumuzun yaptığı gibiLogged in as @your_botsatırını kendiniz yazdırın. - Konsolda token’ınız: Telegram token’ı reddettiğinde python-telegram-bot’un hata mesajı token’ın kendisini içerir. Başlangıç botumuz
InvalidTokenhatasını yakalar, bunun yerine sade bir satır yazdırır ve günlük satırlarında token’ı gizler. - Python sürümü: python-telegram-bot 22, Python 3.10 ya da daha yenisini ister. Kod bölümündeki Çalışma ortamı 3.10’dan 3.14’e kadar sunar, varsayılan 3.12’dir.
Aynı bot, ikisinde de
İkisi de /start komutuna yanıt verir ve panelin verdiği token’ı okur. Kütüphaneyi requirements.txt içine, kodu varsayılan Giriş dosyası olan bot.py içine koyun.
python-telegram-bot, requirements.txt dosyası:
python-telegram-bot>=22,<23
bot.py dosyası:
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, requirements.txt dosyası:
aiogram>=3,<4
bot.py dosyası:
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())
aiogram sürümü INFO düzeyinde günlük tutar, bu yüzden hazır olduğunda Run polling for bot @your_bot yazdırır ve polling’e başlamadan önce botta kalmış bir webhook’u kaldırır.
Ya Node.js’te
Node.js başlangıç botumuz grammY kullanır. Testimizde grammY ve Telegraf yaklaşık aynı belleği kullandı (61 ve 60 MB), bu yüzden ikisi de her pakete uyar. grammY’yi hâlâ güncellendiği için seçtik (26 Ağu 2026’da 1.46.0; Telegraf’ın son sürümü ise 29 Şub 2024’te 4.16.3).
Sık sorulan sorular
Başlangıç botu hangisini kullanıyor?
Python sunucusunda python-telegram-bot 22, Node.js sunucusunda grammY. Genel bakış sayfasındaki Botunuzu kurun kartında Başlangıç botu oluştur’a tıklayın. Bkz. Telegram botu nasıl barındırılır.
Sonra bir kütüphaneden diğerine geçebilir miyim?
Evet. İkisi de aynı Python sunucusunda çalışır: requirements.txt dosyasını ve kodunuzu değiştirin, sonra yeniden başlatın. Paket dosyası değiştiği için yeni paket o başlatmada kurulur.
aiogram için daha büyük bir pakete ihtiyacım var mı?
Hayır. Yaklaşık 169 MB ile 0,5 GB STARTER paketine rahatça sığar. Daha büyük bir paket, botunuzun kendisi büyüdüğünde işe yarar: bellekte tutulan veriler, dosyalar ve görseller ya da tek süreçte birkaç bot.



