Как добавить мини-приложение кнопкой в меню бота
Кнопка «Открыть» в меню бота — то, чем мини-приложение отличается от ссылки, которую нужно кому-то прислать. Разбираем, откуда она берётся, что для этого нужно сделать и почему иногда она ведёт не туда.
Откуда берётся токен
Токен выдаёт @BotFather — служебный бот Telegram. Команда /newbot, имя, адрес бота — и в ответ приходит строка вида 123456789:AA... Это и есть токен: пароль от бота, который даёт право действовать от его имени.
Если бот уже есть, токен показывает команда /mybots → выбрать бота → API Token. Токен можно перевыпустить, но тогда старый перестанет работать — включая кнопку, которую он ставил.
Что с ним делает конструктор
Вставленный в редакторе токен проверяется в Telegram — чей он и живой ли, — и сохраняется зашифрованным. При публикации конструктор сам вызывает метод Telegram setChatMenuButton вашим токеном и ставит кнопку меню на адрес приложения.
Поэтому в BotFather после /newbot делать нечего: вписывать адрес руками не нужно и не следует. Руками — это лишний шанс ошибиться в адресе и не заметить.
Кнопка не появилась или ведёт не туда
Кнопка ставится в момент публикации. Если приложение ещё не опубликовано, ставить её не на что, и меню остаётся прежним. Первое, что стоит проверить, — прошла ли публикация и открывается ли адрес.
Если у бота раньше стояла кнопка на другой адрес — вписанная руками или другой платформой, — публикация её переставит. Обратное тоже верно: перевыпустили токен или отключили бота от аккаунта — кнопка остаётся указывать туда, куда её поставили в последний раз.
Кнопка меню одна на бота. Значит, два приложения в одном боте кнопкой не разведёшь: второму нужен свой бот, либо переход между ними делается внутри приложения экранами.
По шагам
- 1Заведите бота у @BotFather командой /newbot или откройте существующего через /mybots.
- 2Скопируйте токен целиком — вместе с цифрами до двоеточия.
- 3Вставьте его в редакторе, в разделе подключения бота.
- 4Опубликуйте приложение: кнопка меню встанет на его адрес сама.
Что ещё спрашивают
- Безопасно ли отдавать токен?
- Токен хранится зашифрованным, и нужен он ровно для двух вещей: поставить кнопку меню и присылать вам заявки из форм. Отключить бота можно в любой момент — токен забывается.
- Можно ли поставить приложение в чужого бота?
- Только если у вас есть его токен, то есть если бот ваш. Токен — это доступ к боту целиком, и просить его у постороннего не стоит.
- Что если бот не подключён?
- Приложение всё равно публикуется и открывается по адресу, но кнопки в меню не будет, и заявки из форм присылать будет некому. Часть возможностей — например, записи, которые остаются за посетителем, — тоже требует подключённого бота.