Главная · Справка · Как получить токен Telegram-бота
Как получить токен Telegram-бота
Токен выдаёт @BotFather: сразу после создания бота командой /newbot, а потом в любой момент через /mybots. Это одна строка из цифр, двоеточия и секретной части — по ней ЧБТ проверяет бота и сам ставит вебхук. Ниже — где найти токен, как не испортить его при копировании, куда вставить в кабинете, что означают ошибки и как заменить токен, если он утёк.
Токен нового бота: /newbot у @BotFather
@BotFather — служебный бот самого Telegram, через который создают и настраивают всех ботов. Найдите его в поиске по точному имени: у настоящего есть синяя галочка.
- Отправьте
/newbot. - Задайте имя, которое клиенты увидят в шапке чата, затем username — латиницей и с окончанием
bot. - BotFather ответит поздравлением со ссылкой на бота, а ниже, после фразы «Use this token to access the HTTP API:», пришлёт строку — это и есть токен.
Записывать токен в заметки не нужно: пока бот существует, BotFather покажет его снова. Как выбрать имя и username, поставить аватар и описание — в статье как создать Telegram-бота.
Бот уже есть: где посмотреть токен
/mybots→ выберите бота → кнопка «API Token». BotFather пришлёт действующий токен. Рядом будет кнопка «Revoke current token» — она не показывает токен, а выпускает новый и отключает старый, так что без причины её не нажимайте./token→ выберите бота — тот же токен без лишних шагов.
Токен виден только в аккаунте Telegram, которому принадлежит бот. Если бота заводил подрядчик или бывший сотрудник со своего телефона, получить токен можно только у него. В кабинете ЧБТ токен тоже не посмотреть: после подключения ЧБТ держит его зашифрованным и нигде в интерфейсе не выводит. Понадобился токен для другого сервиса — берите его у BotFather.
Как выглядит токен
Это одна строка без пробелов: цифры, двоеточие и длинная часть из латинских букв, цифр, дефисов и подчёркиваний — 1234567890:AAH…. Цифры до двоеточия — ID бота в Telegram, всё после — секрет. По сути это логин и пароль бота сразу: кто знает строку целиком, тот получает сообщения, которые пишут боту, и отвечает от его имени. Поэтому токен не отправляют в рабочие чаты, не выкладывают в репозиторий и не оставляют на скриншотах.
С токеном путают две публичные строки: username (@myata_salon_bot) и ссылку https://t.me/myata_salon_bot. Это адрес бота для клиентов, в поле «Токен» они не подойдут.
Копируйте токен прямо из сообщения BotFather: в приложении Telegram он набран моноширинным шрифтом, и нажатие на него копирует строку целиком. ЧБТ передаёт в Telegram ровно то, что вставлено в поле, ничего не обрезая, — лишний пробел по краям или потерянный последний символ превращают рабочий токен в ошибку.
Куда вставить токен в ЧБТ
- Войдите в app.chbt.io, выберите нужного бота и перейдите в раздел «Каналы».
- Нажмите «Подключить канал» — страница прокрутится к блоку «Подключить новый канал» и раскроет карточку Telegram. То же самое делает кнопка «Подключить» в самой карточке.
- Заполните поля: «Название канала» — необязательно, для себя; «Токен» — строка от BotFather.
- Нажмите «Подключить Telegram».
Кабинет вернёт вас на «Обзор» бота: в карточке «Каналы» появится строка Telegram со статусом. «Работает» — токен принят. «Ошибка» — рядом будет ответ Telegram, что он значит, разобрано ниже. Если название не заполняли и токен принят, строку подпишут username бота. Подключать каналы могут владелец бота и админы, у роли «Оператор» блока подключения нет. Telegram доступен на любом тарифе, включая Бесплатный. Что проверить после подключения — активный сценарий и первый /start с телефона, — в инструкции по подключению Telegram.
Что ЧБТ делает с токеном сам
- Проверяет. Запрос
getMeк Telegram показывает, что токен настоящий, и возвращает username бота. - Ставит вебхук. Методом
setWebhookЧБТ сообщает Telegram адрес видаhttps://app.chbt.io/webhook/telegram/<номер канала>и секретный ключ. Запросы без этого ключа ЧБТ отбрасывает, поэтому подсунуть боту чужие сообщения через адрес вебхука не получится. - Хранит и использует. Токен лежит в базе в зашифрованном виде; с ним бот отвечает клиентам, а операторы пишут из «Диалогов».
Свой сервер, домен и ручная настройка не нужны — поля для адреса вебхука в кабинете нет. Если вебхук сбился, в строке канала есть кнопка «Переустановить webhook»: она заново проверяет сохранённый токен и снова ставит вебхук ЧБТ.
Ошибки: Unauthorized, Not Found и другие
- Сразу после подключения — «Ошибка» с текстом «Unauthorized». Формат верный, но Telegram такого токена не знает: опечатка или обрезанный конец секретной части, пробел после токена либо токен уже заменён через
/revoke. Возьмите действующий в/mybots→ «API Token» и подключите Telegram ещё раз, а строку с ошибкой удалите: кнопка «⋯» в строке канала → «Удалить». Переписки в такой строке нет — бот через неё не работал. - «Ошибка» с текстом «Not Found». В поле попал не токен: username, ссылка t.me, строка без цифр до двоеточия или с пробелом в начале. Скопируйте токен из сообщения BotFather заново.
- Канал работал, а теперь «токен бота отклонён (401 Unauthorized)». Токен отозвали или заменили у BotFather — нужен новый, порядок замены ниже.
- «Переустановить webhook» не помогает. Кнопка работает с тем токеном, который сохранён в канале. Если он отозван, Telegram будет отвечать «Unauthorized» при каждом нажатии.
- Статус «Работает», а в «Диалогах» пусто. Токен в порядке, но сообщения уходят в другое место — разбор в следующем разделе.
Если токен верный, а бот всё равно молчит, дело уже не в токене: пройдите чеклист «бот в Telegram молчит».
Бот уже подключён к другому сервису
Создавать нового бота не нужно: подойдёт токен существующего, а подписчики, username и ссылка останутся прежними. Но у бота Telegram может быть только один вебхук, и после подключения сообщения начнёт получать ЧБТ. Прежний сервис их больше не увидит, а код, который забирал сообщения через getUpdates, получит от Telegram ошибку Conflict: can't use getUpdates method while webhook is active — так и должно быть.
Обратная ситуация коварнее. Если старый сервис не отключить, при перезапуске он может снова поставить вебхук на себя или снять его, и до ЧБТ сообщения доходить перестанут. Строка канала при этом так и показывает «Работает»: ЧБТ не узнаёт, что Telegram шлёт сообщения в другое место. Удалите токен из старого сервиса или остановите код, затем нажмите «Переустановить webhook».
Токен утёк или отозван: как заменить его в канале
Новый токен выпускается за минуту: /revoke у BotFather и выбор бота или «Revoke current token» в /mybots → «API Token». Старый сразу перестаёт действовать; бот, его username и подписчики остаются. Так стоит сделать, если токен попал в общий чат или публичный репозиторий, и когда закончил работу подрядчик, которому вы его давали.
Поменять токен в уже подключённом канале нельзя: такого поля нет, а «Переустановить webhook» берёт старый, сохранённый токен. Поэтому канал подключают заново:
- «Каналы» → «Подключить канал» → в карточке Telegram вставьте новый токен → «Подключить Telegram». ЧБТ переведёт вебхук бота на новую строку канала.
- Когда у новой строки статус «Работает», удалите старую: кнопка «⋯» → «Удалить».
Карточки клиентов в «Контактах» с тегами и полями не пострадают: они привязаны к аккаунту человека в Telegram, а не к строке канала, и бот узнает тех же людей. А переписка, которая шла через удалённую строку, пропадёт из «Диалогов» вместе с ней — если в ней есть что-то важное, сохраните это до удаления.
Если отозвать токен и не заменить его в ЧБТ, первая же попытка ответить от имени бота получит от Telegram 401. Строка канала перейдёт в «Ошибку», а владельцу и админам бота придёт письмо «Бот … требует внимания» — не чаще раза в сутки и если в «Уведомлениях» не выключены «Email-уведомления» или пункт «Статус ботов». Письма лучше не ждать: меняйте токен в ЧБТ сразу после /revoke.
Частые вопросы
Где посмотреть токен, если сообщение от BotFather потерялось?
В том же BotFather: /mybots → выберите бота → «API Token» или команда /token. Кабинет ЧБТ после подключения токен не показывает.
Есть ли у токена срок действия?
Нет. Токен работает, пока его не отзовут командой /revoke или пока бот не удалён. Переподключать канал в ЧБТ по расписанию не нужно.
Бот перестанет работать после /revoke?
Сам бот в Telegram останется со всеми подписчиками, но ЧБТ со старым токеном отвечать не сможет. Подключите в «Каналах» Telegram с новым токеном и удалите старую строку канала.
Можно ли подключить один токен к двум ботам ЧБТ?
Кабинет примет его дважды, но сообщения будет получать только тот бот ЧБТ, где токен подключили последним: у бота Telegram один вебхук. Чтобы один сценарий работал в нескольких мессенджерах, подключайте каналы внутри одного бота ЧБТ.
Подключение TelegramБот молчит: чеклистКак создать ботаБот для Telegram