BotFather 101: how to create a Telegram bot and get your token

Every Telegram bot - whether it archives media, posts on a schedule, or answers support questions - starts the same way: a two-minute conversation with @BotFather. This guide walks through creating your first bot, getting the token safely, and the settings worth changing before you put the bot to work.

What BotFather actually is

BotFather is Telegram's own official bot for managing bots - it's how every Telegram bot, including the biggest ones, gets created. You talk to it exactly like any other Telegram contact, in plain commands, and it hands back a token: a private string of letters and numbers that acts as your bot's password.

You don't need to write any code to get this far. Code (or a no-code tool) only comes in later, when you decide what the bot should actually do.

Step 1 - Start a chat with BotFather

Open Telegram, search for @BotFather (it has a blue verified checkmark - make sure you're talking to the real one), and tap Start.

Step 2 - Create the bot

Send /newbot. BotFather will ask for two things: a display name (what users see, can be changed later) and a username (must be unique and end in "bot", e.g. mygroup_archive_bot).

Once accepted, BotFather replies with your token - a string that looks like 123456789:AAExampleTokenDoNotShare. This is the one message in the whole process you actually need to keep.

Step 3 - Decide: group member or channel admin?

How you add the bot depends on where you want it to work. For a group, add the bot like any other member from the group's user list. For a channel, you have to add it as an administrator, because channels only deliver posts to bots that have admin rights - a plain member can't see channel posts at all.

Step 4 - Turn off privacy mode (for groups)

By default, a bot added to a group only sees messages that start with a command (like /start) - this is called privacy mode, and it protects regular chat from being read by every bot in the group. If your bot needs to see everything posted (for example, to archive every photo, not just ones sent as a command), you have to disable it.

Message @BotFather again, send /mybots, choose your bot, then Bot Settings → Group Privacy → Turn off. This only affects new messages after the change - it can't retroactively see anything the bot missed.

Step 5 - Put the token to work

A bare token doesn't do anything by itself - it's a credential, not a program. From here you either write code against Telegram's Bot API, or paste the token into a no-code tool that already knows what to do with it. For example, pasting it into KSLAB's "connect bot" screen turns it into a media-archiving bot in about a minute, with no hosting or code required.

Want the bot to save every photo and video from a group automatically? Read the media archive guide.
Want to schedule and auto-post to a channel instead? Read the scheduling guide.

Common mistakes to avoid

Frequently asked questions

Is creating a Telegram bot free?

Yes. BotFather and the Bot API are free with no usage limits from Telegram's side. What may cost money is whatever tool or hosting you connect the token to afterward, depending on what the bot needs to do.

Can I rename my bot or change its username later?

The display name can be changed anytime via @BotFather → /mybots. The @username can also be changed, but only while it's still available and not already taken by someone else.

What's the difference between a bot token and the Telegram API ID/hash?

A bot token authenticates a bot account and is enough for almost all bot use cases, including media archiving and scheduled posting. The API ID/hash pair is for building applications that log in as a full user account - a different, more sensitive use case most people never need.

My bot isn't receiving messages in my group - why?

The most common cause is privacy mode still being on. Disable it via BotFather → your bot → Bot Settings → Group Privacy → Turn off, then have someone post a new message - it won't see anything retroactively.