pyTelegramBotAPI

A Python library for writing Telegram bots: you decorate functions as handlers for messages, callback queries, inline queries and payment events, and it runs the polling or webhook loop for you. Its README offers both a synchronous and an asyncio client and carries a badge reading Bot API 10.3, which we read on 2026-09-13. A library, not a bot.

library · by eternnoir · for Telegram · declares Python >=3.10, per its pyproject.toml; we searched its README.md and it contains 3.10 · GPL-2.0 source, per GitHub's licence detection · GitHub reports this repository public; last commit 2026-09-12 ·

Open on GitHub

What you need

a Telegram account and a bot token from @BotFather, Python >=3.10 and pip, and your own code: this is a library, not a bot

Gathered from the project’s own documentation on 2026-09-13. We have not verified that this list is complete.

Receipts

What we saw ourselves, with the date we saw it.

How we checked

On 2026-09-13 we read this project’s repository metadata, its file tree and its manifest files through the GitHub API, and followed the outbound link far enough to confirm the address resolves — not that what is behind it is what this page says. That is a records check, not an assessment of the software. What we ran ourselves is linked under Receipts above; each linked receipt page names the method, the toolchain and the result. We installed or resolved its dependencies and nothing more. We did not run the software itself.

What the words mean here. Last commit is the date of the newest commit on the default branch, not the date of the repository’s last push to any branch. A licence name is GitHub’s own detection, not our reading of the licence file. A version floor is what the named manifest file declares, quoted from that file. A gap in months is printed whenever it is 12 complete months or more. A licence is not a price. It says what you may do with the source; it says nothing about whether the author sells a hosted tier, a paid image or support. Where this page states a cost, that is something we read and dated. Where it states none, we did not look. A README search is a literal search for one string in one file. Finding the string is not the README declaring that floor, and not finding it is not the project contradicting one. Where a receipt is linked above, the file it names may not be the file named for the version floor: the floor is read from whichever manifest declares it, while the receipt names whichever manifest the installer was pointed at. They answer different questions.

We do not republish this project’s own material — its README, code, configuration or assets. The link is where those live. What is on this page is ours: what we found, what we ran, and the date we looked.