Skip to content

How to create a Telegram bot with BotFather

Register a bot with BotFather, explore its settings, and learn what you need to make it work.

A person connects a small robot to a message-processing machine

What a Telegram bot is and how it works

A Telegram bot is a special account controlled by a program or an external service. It has a name, a photo, and a username, with a “bot” label in its profile. You can open a chat and send it a message, just as you would with another person.

With an ordinary account, a person decides what to write back. With a bot, the developer defines which messages the program responds to and what actions it takes. That program can be built specifically for your bot or provided by a ready-made service.

Bots can therefore do many different jobs. They can answer customer questions, take orders, send reminders, save notes, translate text, run quizzes, or publish channel posts.

Telegram’s official BotFather bot handles registration. Its built-in app lets you create a bot account, set up its profile, and get the access key needed to connect a program or service.

Register a bot with BotFather

You only need your regular Telegram account to register a bot.

  1. Search Telegram for @BotFather, open its chat, and click the name at the top. In the profile, check that the username is BotFather and that a verification badge appears beside the name.

    Official BotFather profile with an arrow pointing to its verification badge

    The official BotFather has a verification badge.
  2. Click Open App at the bottom of the profile.

    Open App button in the BotFather profile

    This button opens the app for managing your bots.
  3. Choose Create a New Bot.

    BotFather home screen with an arrow pointing to Create a New Bot

    This opens the registration form.
  4. Enter a name in Bot Name, such as “Notes Assistant.” In username_bot, choose a username using Latin letters, numbers, and underscores, ending in bot. For example, you could try my_notes_helper_bot. A green is available message means the username is available. If it is taken, choose another one.

    Bot registration form with a name and an available username

    The name appears in chats. The username helps people find your bot.
  5. Click Create Bot.

    Completed registration form with an arrow pointing to Create Bot

    Creating the bot opens its management page.
  6. Click Copy to copy the access key. This key is called a token, and you will need it to connect a program or service. Keep it private: anyone with the token can control your bot.

    Bot management page with the token hidden and an arrow pointing to Copy

    Copy copies the access token. It is hidden in this screenshot.

You now have a bot account and its token. You can add a description or go straight to choosing how to run your bot.

Add a description

A description tells people what your bot is for before they start a conversation. You can add it after registration.

  1. Open Edit Info on the bot’s management page.

    Bot management page with an arrow pointing to Edit Info

    Edit Info opens the profile settings.
  2. In About (Optional), briefly explain what the bot does. This text appears in its profile. Below that, in Welcome message, fill in Enter bot description with a fuller explanation of what the bot will do. People see this description before they start chatting.

    About field containing a short explanation of the bot’s purpose

    About appears in the bot’s profile.

    Enter bot description field and its welcome-message preview

    The form previews how the description will look in the chat.
  3. Click Update to save your changes.

    Profile settings with an arrow pointing to Update

    Saving takes you back to the bot’s management page.

BotFather settings

Bot Settings lets you choose where your bot can work, which permissions it requests, and who can use it. The program or service connected to your bot must support the features you enable.

  1. Open Bot Settings on the bot’s management page.

    Bot management page with an arrow pointing to Bot Settings

    Bot Settings contains the bot’s modes and access settings.

Groups and channels

Allow Groups lets people add the bot to groups. Enable it if the bot will help group members or administrators.

Group Privacy controls which group messages the bot receives. When it is on, the bot receives messages directed to it, such as relevant commands and replies to its messages. When it is off, the bot can receive ordinary group messages too. A bot made an administrator receives group messages regardless of this setting.

Groups and Channels section with Allow Groups and Group Privacy

These settings control whether the bot can join groups and which messages it receives.

Group Admin Rights and Channel Admin Rights set the permissions the bot requests when someone adds it as an administrator. The administrator adding the bot confirms its access. For example, publishing in a channel requires Post Messages. Choose other permissions according to the bot’s job.

Group administrator rights: what each option means
  • Change Group Info: change the group’s name, description, and photo.
  • Delete Messages: delete messages.
  • Restrict Users: limit members’ permissions or ban them.
  • Invite New Users: invite members.
  • Pin Messages: pin messages.
  • Add New Admins: appoint other administrators.
  • Manage Video Chats: manage video chats.
  • Promote Anonymous Admins: use anonymous administration, with actions shown under the group’s identity.
  • Manage Topics: create and edit group topics.
  • Post stories: publish stories for the group.
  • Edit stories: edit the group’s stories.
  • Delete stories: delete the group’s stories.
  • Manage Group: use administrative tools, such as viewing the event log.

Complete list of group administrator rights

Choose the group administrator rights your bot needs.
Channel administrator rights: what each option means
  • Change Channel Info: change the channel’s name, description, and photo.
  • Post Messages: publish messages.
  • Edit Messages: edit posts.
  • Delete Messages: delete posts.
  • Restrict Users: restrict subscribers’ access to the channel.
  • Add New Admins: appoint other administrators.
  • Invite New Users: invite subscribers.
  • Manage Live Streams: manage live streams.
  • Manage direct messages: manage direct messages to the channel and suggested posts.
  • Post stories: publish stories for the channel.
  • Edit stories: edit the channel’s stories.
  • Delete stories: delete the channel’s stories.
  • Manage Channel: use administrative tools, such as viewing the event log.

Complete list of channel administrator rights

Post Messages lets the bot publish in a channel.

Special modes

These modes serve particular tasks. Use them when the program or service connected to your bot supports them.

  • Inline Mode lets people use the bot from another chat. They start a message with the bot’s username, choose a result, and send it to the conversation. This can be useful for finding images or translating text without leaving the chat.
  • Bot Management Mode lets the bot create and manage other bots on behalf of their owners. A bot-building service can use this feature.
  • Guest Chat Mode lets people address the bot with a mention even when it has not been added to the chat.
  • Guard Mode lets the bot screen group join requests through its own Mini App. It can approve, decline, or queue requests.
  • Secretary Mode lets people connect the bot to their account as an assistant. It can read selected conversations and reply on their behalf within the permissions they grant. The account owner chooses which chats the assistant can access.
  • Bot to Bot Communication Mode allows communication with other bots in groups and through connected user accounts. The developer must prevent bots from responding to one another in an endless loop.
  • Threaded Mode lets people organize conversations with the bot into topics and see replies as they are being prepared. This is useful for an AI assistant handling several discussions. Telegram applies an additional fee to Stars purchases for bots using this mode. Stars are Telegram’s virtual currency.

When Threaded Mode is enabled, Disallow users to create new threads appears. This setting prevents users from creating new topics themselves.

Inline Mode, Bot Management Mode, Guest Chat Mode, and Guard Mode settings

Modes for using the bot in chats and managing other bots.

Secretary Mode, bot-to-bot communication, and Threaded Mode settings

Account assistance, communication between bots, and conversations organized into topics.

Privacy and access

Privacy Policy lets you enter a link to a document explaining how your bot handles user data. If you do not provide one, Telegram’s standard privacy policy for bots and Mini Apps applies.

Restrict bot usage limits who can use the bot. When enabled, access is limited to you and the people you select. This is useful for a personal assistant or a private test.

Privacy Policy field and Restrict bot usage switch

Set a privacy policy link and control who can use the bot.

How to run your bot

After registration, you need to connect a program that controls the bot. You can write one for your needs or use an existing program by connecting the bot to a suitable service.

Write your own program

You can write the program yourself or work with a developer. The program defines everything the bot does. For example, a Notes Assistant could save messages and help people find earlier notes. You connect the program using the token and start it. For the bot to keep working, the program must keep running.

Use a service without coding

With a ready-made service, the program is already written. You connect your bot using its token and configure the actions through the service’s interface. Check that the service supports the features you need before choosing it.

For example, FLOWIN helps automate message forwarding between chats and channels. You can connect your own bot and set up publishing to your channel. The service can filter messages by conditions you choose, replace text, and translate messages. To publish, the bot needs permission to post in that channel.

Questions and answers

Can I create a Telegram bot for free?

Yes. BotFather registers bot accounts for free. A connected service or a developer’s work may cost extra.

Does a bot need its own phone number?

No. You create the bot from your Telegram account. It does not need a separate phone number.

Why doesn’t my new bot reply?

A newly registered bot does not process messages yet. If you have already connected a program or service, check that it is running and that it is designed to reply to that message.

Where can I find the token if I didn’t copy it?

The token is on your bot’s management page in the BotFather app. Open it by selecting the bot in the My bots list.

Do the bot’s name and username have to match?

No. The name is what people see in the chat, while the username helps them find the bot. For example, a bot named “Notes Assistant” could use my_notes_helper_bot.

← All articles