Python

Free Python Telegram bot hosting.

python-telegram-bot, aiogram, or anything else on pip. Your requirements install on deploy and the bot polls for updates around the clock.

Libraries

Libraries that run here

python-telegram-bot

The oldest and most documented of the three. Handlers, conversation flows and job queues, with a decade of answered questions behind it.

aiogram

Async from the ground up, with routers and finite-state machines for multi-step conversations. The one to pick if your bot is genuinely concurrent.

pyTelegramBotAPI

A lighter wrapper close to the raw Bot API. Less structure imposed on you, which suits a bot that is a short list of commands.

Deploying

Getting it running

  1. 1

    Upload your project

    Drag the folder into the file manager or push it over SFTP. There is no need for a virtual environment — your server is already isolated from everyone else.

  2. 2

    requirements.txt does the rest

    Installed on deploy, before the bot starts. Pin your library version: the async rewrite between major versions of these libraries is not a silent upgrade.

  3. 3

    Point us at your entry file

    Usually main.py or bot.py. Your BotFather token goes into an environment variable and is read with os.environ rather than living in your source.

Memory

What actually fits in 256 MB

A Telegram bot is one of the lightest things you can run on Python. There is no cache the library maintains for you and long polling holds a single request open, so what you spend is the interpreter, your imports, and whatever state you chose to keep.

Imports are the Python-specific cost worth watching. The interpreter and a Telegram library together are modest; adding a scientific or data stack to do something small can double your baseline before a single message arrives. Import what you use.

After that it is conversation state, exactly as it is on Node. A finite-state machine or a conversation handler keeps per-user context, and per-user context kept forever is a slow leak. Expire it, or persist it to a SQLite file on your 512 MB of disk where it does not sit in memory at all.

FAQ

Questions

python-telegram-bot or aiogram?

python-telegram-bot if you want the largest body of existing examples and a gentle path from a simple bot to a complex one. aiogram if your bot is heavily concurrent or you are already comfortable with asyncio. Both run fine here; neither is a decision you cannot reverse.

Do I need a virtual environment?

No. Your server is isolated already, so there is nothing to keep separate from. Everything in requirements.txt is installed for you on deploy.

Does async actually matter for a Telegram bot?

It matters as soon as your handlers wait on anything — an HTTP call, a database, a file. With 25% of a core, a blocking handler stops every other user's update dead. If your bot only replies with text, it makes very little difference.

Can I keep user data between restarts?

Yes. Your files persist across restarts and crashes, so SQLite in a file next to your code is the straightforward answer for user settings, scores or conversation state. You can also connect out to a database you host elsewhere.

Can I schedule messages without a separate cron server?

Yes, two ways. The job queue in your library will do it inside the bot process, and the panel also has scheduled tasks that can run a command on a timer. Use the library for anything that needs your bot's state, and the scheduler for restarts and maintenance.

Hosting something else?