Skip to content

Telegram Bot Handbook

Welcome to the language-agnostic handbook on developing Telegram Bots. Here, I tried to collect everything you need to plan and develop a stable bot.

Unlike Telegram site, library docs, or various tutorials, this handbook makes easy to explore Telegram features and limitations.

How to choose the library? How to set up commands so that users enter them easily? Why are chat IDs sometimes negative? What are strange bot restrictions in groups? How can a user start a dialog with bot but not send a message?

This is what the handbook is about. You can think of it as an extensive overview on the Telegram bot platform.


The English part of this site is a little bit work-in-progress. Screenshots and videos are still to be remade in English: I will hopefully do it one day. For now, I feel like the current version should be published or none ever will.

Before development

I recommend you skim over the "Development" section before starting a bot. It covers working with API, choosing libraries, and other technical details. You may want to skim the following sections as well to have a better understanding of the Telegram features.

If you plan to develop a bot with rather uncommon features or capacity, you should read the corresponding pages first.

During development

The handbook is designed to be consult

You can consult the handbook to dive into the details of a topic.


The hanbook sources are open on GitHub. Corrections and improvements are welcome!

Some pictures and videos are taken from the Telegram site. Most screenshots are made in Telegram web apps.

Artyom Ivanov wrote this and Ivan Filipenkov consulted.