BotFather: The Complete Guide to Creating Telegram Bots (2026)
What is BotFather?
@BotFather is the official Telegram bot for creating and managing all other Telegram bots. Every single Telegram bot in existence — from simple utility tools to sophisticated AI assistants — was created through BotFather. It is the master control panel for the entire Telegram bot platform, and understanding it is the essential first step for anyone who wants to build on Telegram.
BotFather is verified by Telegram with a blue checkmark. The only legitimate BotFather is @BotFather (no spaces, no underscores). Impersonators exist — always verify the blue verification badge before proceeding.
What BotFather Can Do
- Create a new bot and issue its API token
- Set or update a bot's name, description, and profile picture
- Configure the commands menu that appears when users type "/" in a bot chat
- Enable inline mode for use in any chat
- Manage group privacy settings
- Revoke and regenerate API tokens
- Transfer bot ownership to another account
- Delete a bot permanently
How to Create a Telegram Bot: Step by Step
Step 1: Open BotFather
Open Telegram and search for @BotFather. Confirm the blue verification checkmark, then open the chat and tap Start (or send /start).
Step 2: Send /newbot
Type and send /newbot. BotFather will greet you and ask for your bot's name.
Step 3: Choose a Display Name
Enter the display name for your bot — this is what appears in the chat header and contact list. It can be anything and does not need to be unique. Examples: "Weather Assistant", "Team Standup Bot", "Customer Support".
Step 4: Choose a Username
Next, BotFather asks for a username — the unique handle for your bot. Rules:
- Must end in "bot" (e.g.
weatherbotorweather_bot) - Must be 5–32 characters
- Can only contain letters, numbers, and underscores
- Must be globally unique across all of Telegram
- Cannot be changed after creation
Choose carefully — if you later want a different username, you must create a new bot entirely.
Step 5: Receive Your API Token
If the username is available, BotFather immediately sends your API token — a string like 1234567890:ABCdefGHIjklMNOpqrsTUV. This token is your bot's master credential. Treat it like a password: never share it, never commit it to a public repository, always store it in environment variables.
BotFather Commands Reference
BotFather supports many commands for managing existing bots. The most important:
/mybots— list all your bots with management options/setname— change a bot's display name/setdescription— set the bot description (shown in profile, up to 512 chars)/setabouttext— set the short "About" text (up to 120 chars)/setuserpic— set the bot's profile picture/setcommands— configure the "/" command menu/setinline— enable inline mode/setprivacy— control group privacy (whether bot sees all messages or only mentions)/token— generate a new API token (invalidates the old one)/deletebot— permanently delete a bot/transfer— transfer ownership to another Telegram account
Configuring Your Bot's Profile
Profile Picture
Send /setuserpic, select your bot, then send the image. Use a square image of at least 512×512 pixels. A clear, recognisable icon dramatically improves how users perceive your bot's professionalism.
Description
Send /setdescription with up to 512 characters. This text appears in the bot's profile and as the placeholder before a user presses Start. Make it descriptive and action-oriented: explain what the bot does and how to start.
Commands Menu
Send /setcommands and follow the format of one command per line:
start - Start the bot and see welcome message
help - Show available commands
settings - Configure your preferences
A well-configured commands menu is one of the highest-impact improvements you can make to user experience — it makes your bot's capabilities immediately discoverable.
Common BotFather Mistakes
- Username typos: Usernames cannot be changed. Double-check spelling before confirming.
- Exposing the token in code: Never hardcode your token. Always use environment variables.
- Not setting privacy mode: By default bots in groups receive all messages. Use
/setprivacyto enable privacy mode so your bot only receives messages directed at it. - Skipping the commands menu: Without it, users cannot discover your bot's capabilities.
After Creating Your Bot: Next Steps
Your bot now exists but does not respond to anything — it needs code. You have two main paths:
- Code your own bot using a framework like
python-telegram-bot,Telegraf(Node.js), orNutgram(PHP). The official Telegram Bot API documentation at core.telegram.org/bots/api covers every available method. - Use a no-code platform like n8n, Manybot, or Chatfuel to build bot logic visually without writing code.
Browse the Developer Tools category for bots that help with Telegram development — API testers, webhook debuggers, and JSON inspectors that make building faster.
Share this article