Как создать бота: 6 шагов
Откройте @BotFather
Найдите @BotFather в поиске Telegram и нажмите Start: в русском Telegram Desktop кнопка называется «Старт», в Telegram для Android — «Запустить бота». Это официальный бот Telegram для создания ботов и управления ими.
Отправьте /newbot
Напишите команду
/newbot. BotFather попросит имя бота: его видят в контактах и в шапке чата. Имя можно сменить позже командой/setname.Придумайте юзернейм
По юзернейму бота находят в поиске и упоминают в чатах, из него же собирается ссылка t.me. Длина 5–32 знака, допустимы латинские буквы и цифры, из знаков только подчёркивание. В конце обязательно bot, например tetris_bot или TetrisBot. Поменять юзернейм потом нельзя.
Сохраните токен
BotFather пришлёт токен вида 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Кто знает токен, тот управляет ботом, поэтому не публикуйте его. Потеряли или засветили токен, отправьте
/tokenи получите новый.Заполните описание и аватар
Команда
/setdescriptionзадаёт текст до 512 знаков, который человек видит в начале чата с ботом. Команда/setabouttextзадаёт короткое описание до 120 знаков в профиле,/setuserpicставит аватар.Подключите код
Сам BotFather на сообщения за вашего бота не отвечает. Отвечает ваша программа: она получает сообщения и шлёт ответы через Bot API по токену. Пример кода по шагам есть в официальном учебнике Telegram для разработчиков ботов.
Команды @BotFather и что они делают
| Команда | Что делает | Когда нужна |
|---|---|---|
| /newbot | Создаёт бота и выдаёт токен | В самом начале |
| /mybots | Показывает ваших ботов и меню настроек кнопками | Чтобы менять настройки без команд |
| /setname | Меняет имя бота, юзернейм остаётся прежним | При смене названия |
| /setdescription | Текст до 512 знаков в начале чата с ботом | Перед запуском |
| /setabouttext | Описание до 120 знаков в профиле, уходит вместе со ссылкой на бота | Перед запуском |
| /setuserpic | Ставит аватар бота | Перед запуском |
| /setcommands | Список команд, который всплывает после ввода «/» | Когда у бота появились команды |
| /token | Выдаёт новый токен вместо старого | Если токен потерян или утёк |
| /deletebot | Удаляет бота и освобождает юзернейм, отменить нельзя | Когда бот больше не нужен |
Пример: диалог с BotFather
Вы: /newbot
BotFather просит имя бота.
Вы: Список покупок
BotFather просит юзернейм с окончанием bot.
Вы: spisok_pokupok_bot
BotFather поздравляет, даёт ссылку t.me/spisok_pokupok_bot и токен.
Вы: /setdescription, выбираете @spisok_pokupok_bot и отправляете текст: «Запишу, что купить, и пришлю список одним сообщением, когда вы в магазине».
Как создать бота с телефона
С телефона бота создают так же, как с компьютера: в чате с @BotFather командой /newbot. Вместо команд можно открыть мини-приложение BotFather: функции в нём те же, только кнопками.
Код, который отвечает за бота, запускают на компьютере или сервере. Токен из BotFather вставляют в этот код.
Как сделать бота с кнопками
Кнопки задаёт код бота, BotFather их не рисует. В Telegram два вида кнопок. Клавиатура бота появляется вместо обычной под полем ввода: нажатие отправляет в чат готовый текст. Кнопки под сообщением бота (inline-кнопки) срабатывают без отправки сообщения в чат.
Есть ещё кнопка меню слева от поля ввода. По умолчанию она показывает команды из /setcommands, а командой /setmenubutton её можно настроить на запуск мини-приложения.
Можно ли сделать бота на русском
Можно. Требование к алфавиту в документации есть только у юзернейма: латинские буквы и цифры плюс подчёркивание. Описание и текст профиля можно перевести на несколько языков, и каждый пользователь увидит перевод на своём языке.
Боты из каталога для этой задачи
BotFather@BotFather · бот
создать бота, получить токен бота, настроить бота
Частые вопросы
Сколько стоит создать бота в телеграм?
Telegram за это не берёт денег: платформа ботов бесплатна для пользователей и разработчиков. Платить придётся, только если код бота работает на арендованном сервере.
Можно ли поменять юзернейм бота?
Нет. Имя меняется командой /setname, а юзернейм остаётся тем, что вы задали при создании. Нужен другой адрес, значит нужен новый бот.
Что делать, если токен бота попал в чужие руки?
Отправьте @BotFather команду /token и выберите бота. Так старый токен отзывают и получают новый. Новый токен вставьте в код бота.
Можно ли передать бота другому человеку?
Можно: /mybots, выбрать бота, затем передача владения. Передать бота получится только тому, кто хоть раз ему писал. Передача окончательная, новый владелец получает полный доступ.
Источники
- Telegram Bot Features: раздел BotFather, открыто
- Telegram: From BotFather to Hello World, открыто
- Telegram: Bots, An introduction for developers, открыто
- Telegram Mini Apps: кнопка меню, открыто
- Перевод интерфейса Telegram Desktop на русский: «Старт» (lng_bot_start), открыто
- Перевод интерфейса Telegram для Android на русский: «Запустить бота» (BotStart2), открыто
Обновлено
