Как создать Telegram-бота через BotFather: пошаговая инструкция
Основы3 минРедакция Innovialabs
Коротко
Откройте @BotFather, отправьте /newbot, задайте имя и username с окончанием bot и получите токен; затем настройте описание, аватар, команды и кнопку меню, а токен храните только в переменных окружения сервера.
Коротко: что нужно сделать
- Найти в Telegram официальный @BotFather (с синей галочкой) и нажать «Start».
- Отправить
/newbot, указать имя и username бота. - Получить токен и сразу сохранить его в надёжном месте.
- Настроить описание, аватар, команды и кнопку меню.
- Подключить токен к коду бота.
Сам бот после создания ничего не умеет: BotFather только регистрирует его. Логику пишет разработчик или настраивает конструктор.
Шаг 1. Имя и username
После /newbot BotFather попросит два значения:
- Имя (name) — то, что пользователи видят в списке чатов и в профиле. Может быть на любом языке, с пробелами, его легко поменять позже через
/setname. - Username — адрес бота вида
@shop_helper_bot. Требования: латиница, цифры и подчёркивания, длина от 5 до 32 символов, окончание наbot(например,ShopBotилиshop_bot). Username должен быть свободен.
Username лучше выбрать сразу окончательно: его используют в ссылках t.me/имя, на визитках и в рекламе.
Шаг 2. Токен
В ответ BotFather пришлёт сообщение с токеном вида 123456789:AAH.... Токен — это полный доступ к боту: кто его знает, тот может отправлять сообщения от имени бота и читать его обновления.
Проверить, что токен рабочий, можно запросом getMe — он вернёт данные вашего бота.
Шаг 3. Описание и аватар
/setdescription— текст, который пользователь видит в пустом чате до нажатия «Start». Объясните, что умеет бот и зачем его запускать./setabouttext— короткий текст в профиле бота, до 120 символов./setuserpic— аватар. Отправьте квадратное изображение, которое хорошо читается в маленьком круге.
Хорошее описание отвечает на три вопроса: что делает бот, для кого он и что будет после нажатия «Start».
Шаг 4. Команды
/setcommands задаёт список команд, который появляется при вводе / и в кнопке меню. Формат — по одной команде на строку:
start - Начать работу
catalog - Каталог товаров
orders - Мои заказы
help - Помощь и контакты
Правила: имя команды — строчная латиница, цифры и подчёркивания, до 32 символов. Держите список коротким: 3–6 команд читаются лучше, чем двадцать. Команды можно задавать и из кода методом setMyCommands — так удобно делать разные списки для разных языков.
Шаг 5. Кнопка меню
Слева от поля ввода у бота есть кнопка меню. По умолчанию она открывает список команд. В настройках бота в BotFather (/mybots → бот → Bot Settings → Menu Button) её можно превратить в кнопку запуска Mini App — веб-приложения внутри Telegram. Из кода то же самое делает метод setChatMenuButton.
Остальные полезные настройки в /mybots: приватность в группах, разрешение добавлять бота в группы, inline-режим.
Как безопасно хранить токен
- Храните токен в переменных окружения или менеджере секретов, а не в коде.
- Добавьте файл
.envв.gitignoreдо первого коммита. - Никогда не вставляйте токен в код Mini App или сайта: всё, что попадает в браузер, видно пользователю.
- Не пересылайте токен в чатах и не показывайте на скриншотах.
- Заведите отдельных ботов для разработки и продакшна.
- Если токен утёк, сразу отзовите его:
/mybots→ бот → API Token → Revoke current token. Старый токен перестанет работать, обновите новый на сервере.
# .env (не коммитить)
BOT_TOKEN=123456789:replace_with_your_token
Частые ошибки
- Написали в поддельный аккаунт, похожий на BotFather. Официальный — только
@BotFatherс галочкой. - Опубликовали токен в публичном репозитории.
- Оставили описание пустым — пользователь не понимает, зачем нажимать «Start».
- Добавили команды в BotFather, но не написали для них обработчики в коде.