Создаём бота через BotFather

За пять минут в самом Telegram ты создашь собственного бота и получишь от него секретный ключ — токен, с которым в следующих уроках оживёт наш «Цыплёнок-помощник».
BotFather — это официальный бот Telegram, через которого создают новых ботов и получают для них токен. Можно сказать, что это «бот, который рождает других ботов».

Зачем нам вообще BotFather

Представь, что ты хочешь завести в школе новый кружок. Просто так повесить объявление недостаточно: сначала надо прийти к завучу, записать название кружка, получить номер кабинета и ключ от него. Без этого ключа ты даже дверь не откроешь.

В мире Telegram таким завучем и работает BotFather. Ты приходишь к нему, говоришь «хочу нового бота», придумываешь имя — и он выдаёт тебе ключ. Этот ключ называется токен, и именно он позволит твоей программе на Python управлять ботом.

Может возникнуть вопрос: а почему нельзя просто написать программу и сразу запустить её, как мы запускали обычные скрипты на Python? Потому что бот живёт не у тебя на компьютере, а внутри Telegram, на серверах в каком-то дата-центре. Чтобы эти серверы согласились слушать именно твою программу и пускать её к конкретному боту, им нужно доказательство, что ты — хозяин этого бота. Таким доказательством и служит токен. Без него Telegram просто ответит твоему коду «я тебя не знаю» — и ничего не произойдёт. Поэтому самый первый шаг в жизни любого бота — это не строчка кода, а короткий разговор с BotFather.

В прошлом уроке мы разобрались, что бот — это специальный аккаунт в Telegram, которым управляет программа, а не человек. Но пока этого аккаунта у нас ещё нет. Сегодня мы его заведём. Забегая вперёд: к концу курса этот самый бот превратится в «Цыплёнка-помощника», который умеет показывать кнопки, вести диалог, запоминать тебя в базе и ходить за погодой. А начинается всё с одного разговора с BotFather.

Вот к чему мы придём прямо в этом уроке — ты увидишь в чате примерно такое сообщение:

Done! Congratulations on your new bot. You will find it at t.me/ChickHelperBot.

Use this token to access the HTTP API:
7654321098:AAH-ExampleTokenThatYouMustKeepSecret_xxxx

Keep your token secure and store it safely, it can be used by anyone to control your bot.

Результат: в чате BotFather поздравит тебя с новым ботом, даст ссылку на него вида t.me/ChickHelperBot и пришлёт длинную строку — это и есть токен. Никакого кода писать пока не надо: всё происходит внутри Telegram.

Что такое токен и почему это пароль

Давай сразу разберёмся с главным словом урока.

Токен — это секретный ключ вида 123456:ABC..., который Telegram выдаёт боту и по которому отличает его от других; его нельзя публиковать.

Самая точная аналогия — пароль от аккаунта. Когда ты вводишь логин и пароль в любимой игре, сервер по ним понимает: «ага, это точно ты, пускаю». Токен работает так же, только вместо тебя в Telegram «логинится» твоя программа. Она показывает токен — и серверы Telegram понимают: «это команды от хозяина бота ChickHelperBot, выполняю».

Отсюда железное правило: токен — это пароль, и показывать его нельзя никому. Если кто-то узнает твой токен, он сможет от имени твоего бота рассылать спам, удалять сообщения, обманывать твоих друзей — и со стороны это будет выглядеть так, будто это делаешь ты. Представь, что ты выложил скриншот с токеном в чат игрового клана «просто похвастаться». Уже через минуту кто-нибудь скопирует ключ и угонит бота. Поэтому токен мы будем прятать так же бережно, как пароль от почты.

Заметь важную деталь: терять токен не страшно так же сильно, как, например, забыть пароль от старого аккаунта в игре. Если ты случайно удалил заметку с токеном, бот не пропадёт — ты в любой момент попросишь у BotFather показать ключ заново или выпустить новый. А вот если токен увидел кто-то чужой — это уже проблема, и решается она тоже через BotFather (мы скоро дойдём до волшебной команды /revoke). Запомни разницу: «потерял» — поправимо за минуту, «показал чужому» — надо срочно менять ключ.

Чуть позже, в уроках про код, мы вообще не будем писать токен прямо в программе. Мы спрячем его в переменные окружения — это настройки и секреты, которые хранят вне кода и подставляют при запуске программы. Но об этом позже; сейчас просто запомни: токен получаем, бережём, никому не показываем.

Шаг за шагом: создаём бота

Открой Telegram (подойдёт и телефон, и компьютер) и поехали. Я буду писать, что вводишь ты, и что отвечает BotFather.

Шаг 1. Найди настоящего BotFather

В строке поиска Telegram набери BotFather. В выдаче появится несколько похожих названий — и вот тут важно не ошибиться. Настоящий BotFather один, и у него есть синяя галочка (значок верифицированного аккаунта) и юзернейм ровно @BotFather. Все остальные «BotFather2», «Official BotFather» и прочие — это подделки, которые хотят выманить твой будущий токен.

Нашёл правильного — открывай чат и жми кнопку Start (или отправь команду /start). В ответ он пришлёт список того, что умеет.

/start

I can help you create and manage Telegram bots. If you're new to the Bot API, please see the manual.

You can control me by sending these commands:
/newbot - create a new bot
/mybots - edit your bots
/setname - change a bot's name
/token - generate authorization token
...

Результат: BotFather поздоровается и покажет меню своих команд. Нам из него сейчас нужна одна — /newbot.

Шаг 2. Скажи «хочу нового бота»

Отправь команду /newbot. Слово команда мы уже знаем из глоссария: это сообщение, начинающееся с /, на которое бот реагирует особым образом. В ответ BotFather спросит, как будет называться твой бот.

/newbot

Alright, a new bot. How are we going to call it? Please choose a name for your bot.

Результат: BotFather просит придумать имя бота — то, что люди увидят сверху в чате.

Шаг 3. Придумай имя

Имя — это «вывеска» бота, она видна в шапке чата и в списке контактов. Здесь полная свобода: можно с пробелами, эмодзи и на русском. Для нашего проекта введём:

Цыплёнок-помощник 🐤

Результат: BotFather запомнит имя и сразу попросит следующее — юзернейм.

Шаг 4. Придумай юзернейм

А вот юзернейм — это уже строгая штука. Это адрес бота, по которому его находят: t.me/что_то_тут. У юзернейма три правила:

  • он должен быть уникальным на весь Telegram — если занят, придётся придумать другой;
  • может состоять только из латинских букв, цифр и знака подчёркивания;
  • обязан заканчиваться на bot (например ChickHelperBot или chick_helper_bot).

Если первый вариант занят (а короткие имена почти всегда заняты), просто добавь цифры или своё имя: ChickHelperBot2026, ChickHelper_byMax_bot. Это совершенно нормально — у тебя десятки тысяч ботов-«соседей», и красивые короткие адреса разобрали ещё годы назад. На работу бота юзернейм никак не влияет: хоть ChickHelperBot, хоть chick_helper_2026_bot — отвечать он будет одинаково. Просто выбери такой адрес, который ты сам не забудешь и сможешь продиктовать другу. Введём, например:

ChickHelperBot

Результат: если юзернейм свободен, BotFather поздравит тебя и выдаст токен — то самое сообщение «Done! Congratulations…», которое мы видели в начале урока. Если занят — честно скажет «Sorry, this username is already taken» и попросит другой.

Шаг 5. Забери токен

В сообщении-поздравлении найди длинную строку из цифр, двоеточия и букв — это твой токен. Аккуратно скопируй его целиком (на телефоне можно нажать прямо на строку — BotFather специально делает её копируемой).

Положи токен в надёжное место: заметку с паролями, файл, который не выкладываешь в интернет, или менеджер паролей. В следующих уроках, когда будем писать код, мы достанем его именно отсюда. И помни главное правило: в чат, на скриншот, в гитхаб — никогда.

А что потом? Полезные команды BotFather

Бот создан, но BotFather умеет ещё много мелочей, которые делают бота приятнее. Их не обязательно настраивать прямо сейчас, но знать полезно. Вот самые частые команды:

КомандаЧто делает
/mybotsСписок твоих ботов — отсюда удобно управлять каждым
/setnameПоменять имя (вывеску) уже существующего бота
/setdescriptionТекст, который виден до первого запуска бота
/setuserpicПоставить боту аватарку
/tokenПоказать токен ещё раз, если ты его потерял
/revokeОтозвать старый токен и выдать новый (спасение, если токен утёк!)
/deletebotУдалить бота навсегда

Особенно запомни две последние строчки. Команда /token вернёт ключ, если ты случайно потерял заметку. А /revoke — твоя кнопка «пожарной тревоги»: если токен вдруг попал не в те руки, ты заходишь к BotFather, отзываешь старый ключ, и он мгновенно перестаёт работать. Бот при этом никуда не денется — просто получит новый токен, а старый превратится в тыкву.

Маленькое отступление: как вообще выглядит токен внутри

Тебе не нужно разбирать токен руками — это сделает aiogram. Но чтобы ты не боялся этой длинной строки, давай на чистом Python (без всякого Telegram, это просто строка) посмотрим, из чего она состоит. Токен — это две части, склеенные двоеточием: слева — числовой id бота, справа — секретная часть.

token = "7654321098:AAH-ExampleTokenKeepSecret"

bot_id, secret = token.split(":")
print("id бота:", bot_id)
print("длина секретной части:", len(secret))

Вывод:

id бота: 7654321098
длина секретной части: 26

Видишь? Ничего страшного — обычная строка, которую можно разрезать методом split. Число слева не секретное (оно даже видно в некоторых местах), а вот всё, что справа от двоеточия, и есть та самая «секретная часть» пароля. Поэтому прятать надо токен целиком.

Частые ошибки новичков

На этом шаге спотыкаются почти все. Лови список граблей, чтобы пройти мимо них.

  1. Написал не тому «BotFather». В поиске полно клонов без синей галочки. Если «BotFather» просит у тебя номер телефона, деньги или твой пароль от Telegram — это мошенник, закрывай чат. Настоящий BotFather никогда ничего такого не спрашивает: он только выдаёт токены.
  2. Путаешь имя и юзернейм. Имя — это красивая вывеска (можно русское, с эмодзи). Юзернейм — технический адрес (только латиница и обязательно с bot на конце). На шаге 3 нельзя написать ChickHelperBot «чтобы сразу», а на шаге 4 — Цыплёнок 🐤: BotFather такой юзернейм не примет.
  3. Юзернейм без bot на конце. Если ввести просто chickhelper, BotFather откажет: «Sorry, the username must end in bot». Добавляй bot или _bot — и всё пройдёт.
  4. Скопировал токен с лишним пробелом или не до конца. Очень частая беда: при копировании прилипает пробел в начале/конце или отрезается последний символ. Потом в уроках с кодом бот молча не запускается. Совет: копируй токен, нажимая прямо на него в сообщении BotFather, — так берётся ровно вся строка.
  5. Выложил токен на всеобщее обозрение. Скриншот в чат, коммит в публичный репозиторий, отправка «другу глянуть» — и токен считается скомпрометированным. Если это случилось, не паникуй: зайди в BotFather, выполни /revoke для своего бота и получи свежий токен. Старый сразу перестанет работать.

Мини-практика

Теперь твоя очередь. Сделай это прямо сейчас, не откладывая, — дальше по курсу нам понадобится живой бот и его токен.

  1. Найди настоящего @BotFather (синяя галочка!) и нажми Start.
  2. Отправь /newbot и создай бота. Имя пусть будет связано с «Цыплёнком» — так его легко узнать в списке. Юзернейм придумай свой (он точно будет отличаться от ChickHelperBot, ведь тот может быть занят).
  3. Скопируй токен и сохрани его в заметку с названием вроде «токен цыплёнка». Не в общий чат — только себе.
  4. Со звёздочкой: зайди в /mybots, выбери своего бота и поставь ему аватарку через /setuserpic и короткое описание через /setdescription. Пусть выглядит как настоящий.
  5. Проверка храбрости: найди своего бота по юзернейму (t.me/твой_юзернейм), открой чат и нажми Start. Бот пока промолчит — и это нормально! Внутри он ещё «пустой»: программу, которая будет отвечать, мы напишем в следующем модуле. Сейчас важно лишь убедиться, что бот существует и открывается.

Если на любом шаге BotFather ответил тебе незнакомой английской фразой — не пугайся. Чаще всего это либо «username is already taken» (придумай другой юзернейм), либо «username must end in bot» (добавь bot на конец). Всё остальное он подскажет сам.

И ещё один совет напоследок: не создавай по десять ботов «про запас». Каждый бот — это отдельный токен, который надо хранить, и потом легко запутаться, какой ключ от какого цыплёнка. Для всего курса нам нужен ровно один бот — наш «Цыплёнок-помощник». Если позже захочешь поэкспериментировать с чем-то своим, заведёшь второго отдельно. А пока пусть будет один, зато аккуратно настроенный.

Итоги

Поздравляю — у тебя теперь есть собственный Telegram-бот! Давай закрепим, что мы сделали:

  • познакомились с BotFather — официальным ботом, который создаёт других ботов;
  • через команду /newbot завели нового бота, придумав ему имя (вывеску) и юзернейм (адрес, обязательно с bot на конце);
  • получили токен — секретный ключ-пароль, по которому Telegram будет узнавать команды от нашей программы;
  • запомнили, что токен нельзя показывать никому, а если он утёк — спасает команда /revoke.

Самое важное, что у тебя теперь лежит в надёжном месте, — это токен. Он понадобится буквально в следующих уроках. А дальше мы наконец установим Python-окружение и саму библиотеку aiogram — ту самую асинхронную библиотеку, на которой будет работать «Цыплёнок-помощник». Подготовим папку проекта, файл bot.py и научимся аккуратно подключать к коду наш свежий токен. Цыплёнок вот-вот сделает первый писк!

Проверьте себя
1. Какую команду нужно отправить BotFather, чтобы создать нового бота?
A/start
B/newbot
C/mybots
D/createbot
2. Что такое токен бота?
AЮзернейм бота, по которому его находят в поиске
BИмя-вывеска, которое видно в шапке чата
CСекретный ключ-пароль, по которому Telegram узнаёт команды от твоей программы
DАватарка бота
3. Какое требование обязательно для юзернейма бота?
AОн должен быть написан кириллицей
BОн должен заканчиваться на bot
CОн должен совпадать с именем бота
DОн должен содержать эмодзи
4. Ты случайно выложил скриншот с токеном в общий чат. Что делать?
AНичего, токен всё равно бесполезен без пароля от Telegram
BУдалить весь чат с BotFather
CВыполнить у BotFather команду /revoke, чтобы отозвать старый токен и получить новый
DУдалить и создать бота заново
5. Чем имя бота отличается от его юзернейма?
AНичем, это одно и то же
BИмя — это технический адрес, а юзернейм — красивая вывеска
CИмя — это вывеска в шапке чата (можно русское, с эмодзи), а юзернейм — уникальный адрес латиницей, оканчивающийся на bot
DИмя задаётся в коде, а юзернейм — в BotFather
6. Как узнать, что в поиске ты нашёл настоящего BotFather, а не подделку?
AУ него больше всех подписчиков
BУ него синяя галочка верификации и юзернейм ровно @BotFather
CОн первым отвечает на сообщение
DОн просит твой номер телефона для подтверждения