Getting started
How to create a Telegram bot (complete beginner's guide)
By the Botable team
Creating a Telegram bot takes two things: registering it with @BotFather to get a token, and running code that uses that token to answer messages. BotFather takes about thirty seconds. The second part is what people mean when they say building a bot is hard.
Watch it
The whole path from an empty description box to a bot people can message. What Telegram issues, what Botable writes and hosts, and where the two meet.
Read the transcript
Everything said in the video, in order.
A Telegram bot is two separate things that beginners tend to merge into one. There is an identity, which Telegram issues, and there is a program that answers messages, which somebody has to write and keep running.
Botable gives you both from a description. Here is the whole path, from an empty box to a bot people can message.
This is the dashboard. Every bot you own is listed underneath, with whether it is currently live, and the box in the middle is where new ones begin.
You describe the bot the way you would describe it to a colleague. There is no template to choose and no syntax to learn.
Be specific about what it should actually do. Every detail you give here is a correction you do not have to make later.
A token is Telegram's proof that the bot is yours. Create with Telegram is the short way round: Telegram creates the bot and hands the token straight to Botable, so you never visit BotFather at all.
If you already made a bot with BotFather, switch to I have a token and paste the string it sent you. Botable checks it against Telegram before it accepts it, so a typo fails here rather than an hour from now.
Press Enter and you land in the workspace for that bot. The left pane is the build itself, arriving as it happens rather than after it finishes.
You can open any step and see exactly which files were read and written. And you can close the tab: the build runs on the server, not in your browser, so it carries on without you.
There is no deploy button anywhere in this product, and that is deliberate. When a build finishes, the bot is already registered with Telegram and already answering messages.
Start opens your bot inside Telegram, which is the only real test that matters. Send it something and watch it answer.
Everything after this is another sentence in the same chat. Add a command, change the wording, connect an API. The loop never changes.
Describe it, connect a token, and let it build. Start free at botable dot I O.
The short version
Creating a Telegram bot has two distinct halves that beginners often conflate. The first is registration: you message @BotFather, Telegram's own bot for managing bots, send /newbot, choose a display name and a username ending in "bot", and receive a token. That token is the bot's identity and takes under a minute to obtain. The second half is the program. A registered bot with nothing running behind it appears online and answers nothing, because Telegram only holds the identity, the logic, the storage and the server are yours to provide. That is where the actual work lives: writing handlers for each command, deciding what the bot remembers between messages, and keeping a process running somewhere permanently so it can respond at three in the morning. Every route to a working bot differs only in how much of that second half you do yourself.
Step by step
How do you register the bot with @BotFather?
Open Telegram, search for @BotFather, and start a chat, check for the blue verified tick, because impostor accounts with similar names exist. Send /newbot. It asks for a display name, which can be anything and is changeable later, then a username, which must be unique and end in "bot". It replies with a token that looks like 123456789:AAH-long-random-string.
What do you do with the token?
It goes into whatever runs your bot, as a secret. Anyone holding it can act as your bot completely, read messages, send messages, change its profile, so it never belongs in a screenshot, a public repository, or a message to someone helping you. If it leaks, /revoke in BotFather issues a new one and invalidates the old immediately.
How does the bot get something to do?
Something must run continuously and respond to the updates Telegram sends. Three routes: write it yourself in a framework like grammY or python-telegram-bot and host it; use a menu-based builder, which is quick but limited to what its menus offer; or describe what you want to an AI builder that writes and hosts the program for you. All three end at the same place, a running process holding your token.
How do you make it look finished?
Back in BotFather: /setdescription writes the text shown before anyone starts the bot, /setabouttext fills the profile blurb, /setuserpic sets the avatar, and /setcommands populates the menu next to the message box so people can see what it does without guessing. These take five minutes and are the difference between a bot that looks abandoned and one that looks maintained.
What catches people out
- The username must end in "bot" and is permanent, the display name can change later, the username cannot
- A registered bot with no program behind it looks live and answers nothing; that is the normal state after BotFather, not a fault
- By default a bot added to a group only sees messages that start with a slash, see the privacy-mode guide before debugging silence
Questions
Does creating a Telegram bot cost anything?
Registration with BotFather is free and always has been. The cost, if any, is in running the program, a server, a hosting plan, or a platform that includes hosting. Telegram itself charges nothing for the bot to exist or to send messages.
How many bots can one account create?
BotFather allows a large number per account, enough that it is not a practical constraint for most people. If you hit the limit, deleting unused bots with /deletebot frees the slot and the username.
Want a bot that does this?
Describe it in plain language and Botable writes the code, gives the bot its own database, deploys it and keeps it running. Everything on this page is handled for you, the token, the webhook, the storage, the hosting.
Keep reading
- Bot tokenstelegram bot token
- BotFather commandsbotfather commands
- Add a bot to a grouphow to add a bot to a telegram group