К содержимому
Антон Пауль Антон Пауль

База знаний

Как создать бота в Telegram и получить API-токен

Telegram чат-боты API интеграции
Схема создания Telegram-бота и безопасной передачи токена в сервис автоматизации

Если CRM, конструктор или сервис автоматизации просит «API-ключ Telegram-бота», обычно ему нужен токен от официального @BotFather. Получить его можно без программирования за несколько минут.

Ниже два маршрута. В первой части вы создадите бота и скопируете токен. Во второй проверите его прямым запросом к Telegram Bot API. Если выбранному сервису нужен только токен, вторую часть можно пропустить.

Bot API token - секретная строка, которая авторизует конкретного бота в Telegram Bot API. Сам по себе токен не добавляет ответы, кнопки или связь с CRM. Он только разрешает подключённой системе действовать от имени бота.

Названия кнопок в разных клиентах могут отличаться, поэтому основные действия ниже даны через стабильные команды @BotFather.

Какой ключ нужен: токен бота или api_id и api_hash

Для обычного подключения Telegram-бота к CRM, конструктору или сервису автоматизации нужен Bot API token. Его выдаёт @BotFather после создания бота.

api_id и api_hash нужны для другого сценария: авторизации пользователя и разработки клиента на Telegram API, также известном как MTProto. Эту связку получают через my.telegram.org, но она не заменяет токен бота.

ДанныеНазначение и источник
Bot tokenУправление ботом через Telegram Bot API. Выдаёт официальный @BotFather
api_id и api_hashАвторизация пользователя и разработка клиента через MTProto. Выдаёт my.telegram.org

Различие подтверждают документация BotFather и документация по регистрации Telegram-приложения. Если сервис просит одновременно номер телефона, api_id и api_hash, это уже не обычное подключение Bot API. Сначала уточните, зачем ему доступ к пользовательскому аккаунту.

Перед выбором сценария полезно отдельно разобраться, чем чат-бот отличается от ассистента и агента. Создание учётной записи бота ещё не определяет, кто и как будет отвечать пользователю.

Что подготовить перед созданием бота

Понадобятся четыре вещи:

  1. Telegram-аккаунт, к которому у вас останется постоянный доступ.
  2. Отображаемое имя, например «Бот поддержки магазина».
  3. Два или три варианта уникального username с окончанием bot.
  4. Понимание, какой сервис или разработчик получит токен и где будет хранить его.

Отображаемое имя и username выполняют разные задачи. Имя видят пользователи. Username используется в ссылке и командах, поэтому подчиняется отдельным ограничениям Telegram.

Лучше создавать рабочего бота на аккаунте владельца процесса или ответственного администратора. Если сотрудник уйдёт, доступ к @BotFather и возможность перевыпустить токен должны остаться у компании.

Часть 1. Как создать бота через BotFather и получить токен

Шаг 1. Откройте официальный BotFather

Перейдите по ссылке t.me/BotFather или найдите пользователя с точным username @BotFather. Это официальный бот Telegram для создания и управления ботами.

Проверьте написание username до начала работы. Не отправляйте будущий токен аккаунтам с похожим именем.

Шаг 2. Запустите создание нового бота

Нажмите Start или отправьте /start, затем отправьте команду:

/newbot

@BotFather попросит указать отображаемое имя. Команда /newbot и дальнейшая выдача токена описаны в официальной инструкции Telegram.

Шаг 3. Задайте имя бота

Отправьте имя, которое увидят пользователи. Оно не обязано быть уникальным и может отличаться от username.

Хорошее имя объясняет роль бота: «Запись в сервис», «Поддержка клиентов», «Уведомления о заказах». Не обещайте в имени функции, которых ещё нет в подключённом сценарии.

Шаг 4. Придумайте уникальный username

Отправьте username длиной от 5 до 32 символов. Telegram разрешает латинские буквы, цифры и знак _. Username не зависит от регистра и должен заканчиваться на bot.

Например, можно построить его из названия компании и задачи: company_support_bot. Если имя занято, @BotFather попросит другой вариант. Измените смысловую часть, а не добавляйте случайную длинную последовательность цифр.

Шаг 5. Скопируйте токен

После принятия username @BotFather создаст бота и покажет токен. Скопируйте значение целиком, без пробелов и кавычек.

Токен авторизует запросы от имени бота. Telegram рекомендует хранить его как пароль: человек или система с этим значением получает контроль над ботом.

Как безопасно передать и хранить токен

Если CRM или конструктор предоставляет специальное поле для токена, вставьте значение непосредственно туда. Проверьте домен, владельца сервиса и список людей с доступом к настройкам.

Для собственной разработки храните секрет в менеджере секретов или в переменной окружения на сервере. Не помещайте токен:

  • в Git и файлы исходного кода;
  • в общий рабочий чат или публичный документ;
  • в скриншоты интерфейса;
  • в задачу с широким доступом;
  • в клиентский JavaScript, который загружается в браузер пользователя;
  • в публичные логи запросов.

Если разработчику нужен токен, безопаснее использовать корпоративный password manager или одноразовую защищённую ссылку. После передачи удалите лишние копии секрета.

Что делать, если токен утёк

Удаления сообщения или файла недостаточно. Откройте @BotFather, отправьте /token, выберите нужного бота и создайте новый токен. Такая команда предусмотрена официальным интерфейсом BotFather.

Затем замените токен во всех CRM, конструкторах, backend-сервисах и автоматизациях. Старое значение нужно считать скомпрометированным, даже если вы не заметили чужих действий.

Если сервис просит только токен

Вставьте токен в защищённое поле в настройках интеграции. Если сервис попросит запустить чат с ботом, нажмите Start из аккаунта, на котором проверяете подключение.

На этом подготовка бота закончена. Ответы, команды и обработка данных настраиваются уже внутри выбранного сервиса.

Часть 2. Как проверить токен через Telegram Bot API

Метод getMe проверяет токен без дополнительных параметров и возвращает базовые данные бота. Успешный ответ подтверждает доступ к Telegram Bot API, но не проверяет настройку конкретной CRM или конструктора.

Сохраните токен во временной переменной окружения

В PowerShell 7.1 или новее на Windows 11 выполните команду ниже. Параметр -MaskInput появился в PowerShell 7.1, поэтому встроенный Windows PowerShell 5.1 для этого примера не подходит.

$env:TELEGRAM_BOT_TOKEN = Read-Host -MaskInput "Введите токен Telegram-бота"

В Bash, включая WSL, Linux и macOS, ключ read -s отключает отображение вводимых символов:

read -rsp 'Введите токен Telegram-бота: ' TELEGRAM_BOT_TOKEN
export TELEGRAM_BOT_TOKEN
printf '\n'

Так токен не появляется в самой команде и не сохраняется в обычной истории оболочки. При запросе он всё равно подставляется в URL процесса curl, поэтому не включайте подробное логирование и не публикуйте диагностический вывод.

Проверьте токен методом getMe

Telegram Bot API принимает HTTPS-запросы по такому шаблону:

https://api.telegram.org/bot<token>/METHOD_NAME

Для проверки используется метод getMe.

PowerShell 7.1+:

curl.exe "https://api.telegram.org/bot$env:TELEGRAM_BOT_TOKEN/getMe"
Remove-Item Env:TELEGRAM_BOT_TOKEN

Bash:

curl "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getMe"
unset TELEGRAM_BOT_TOKEN

Успешный ответ выглядит примерно так. Значения ниже вымышлены и не содержат токен:

{
  "ok": true,
  "result": {
    "id": 123456789,
    "is_bot": true,
    "first_name": "Example Bot",
    "username": "example_integration_bot"
  }
}

Сверьте username с ботом, которого собираетесь подключать. Поле ok: true подтверждает, что Telegram принял токен.

Типичные ошибки getMe

Если ok: true не приходит, проверьте по порядку:

  1. Токен скопирован полностью, без пробела или перевода строки.
  2. В переменной окружения есть значение.
  3. После команды /token используется новое значение, а не отозванное.
  4. В CRM или терминал вставлен токен нужного бота.
  5. Сеть не блокирует обращение к api.telegram.org.

Не присылайте токен в поддержку вместе со скриншотом ошибки. Передавайте только текст ошибки, время запроса и username бота. Если секрет уже попал в переписку, перевыпустите его.

Какие права и настройки могут понадобиться позже

Получение токена не требует добавлять бота в группу, делать его администратором или отключать Privacy Mode. Эти действия зависят от будущего сценария.

Start в личном чате

Обычно бот не может первым начать личную переписку. Пользователь должен открыть чат и нажать Start или отправить сообщение. Это ограничение указано в официальном учебнике Telegram.

Группы и права администратора

Добавляйте бота в группу только тогда, когда он должен работать именно там. Выдавайте лишь те права администратора, без которых сценарий не выполняется. Для обычной личной переписки права в группе не нужны.

Privacy Mode

Privacy Mode включён по умолчанию и ограничивает набор сообщений, которые бот получает в группах. Отключайте режим только если интеграции нужны обычные групповые сообщения, а не только команды, ответы и обращения к боту.

Администратор группы получает все сообщения независимо от Privacy Mode. После отключения режима Telegram рекомендует удалить бота из группы и добавить снова. Подробности есть в документации о Privacy Mode.

Чек-лист перед подключением

  • Бот создан через точный аккаунт @BotFather.
  • Username заканчивается на bot и соответствует нужному проекту.
  • Токен не лежит в Git, документах, скриншотах или общих чатах.
  • Метод getMe возвращает ok: true и правильный username.
  • Токен добавляется в сервис через защищённое поле.
  • Боту выданы только необходимые права.
  • Ответственный знает, как перевыпустить токен и где затем заменить его.

Официальные источники

FAQ

Вопросы по материалу

Можно ли получить токен Telegram-бота без программирования?
Да. Бот создаётся через @BotFather, который выдаёт готовый токен. Программирование или сторонний сервис понадобятся позже, если бот должен отвечать, передавать данные или выполнять действия.
Что вставлять в CRM: токен бота или api_id и api_hash?
Для обычного подключения бота нужен токен от @BotFather. Если сервис запрашивает номер телефона, api_id и api_hash, он предлагает другой сценарий: доступ через пользовательский аккаунт Telegram.
Нужно ли нажимать Start после создания бота?
Для получения токена это не требуется. Нажмите Start, когда проверяете личный чат с ботом или когда этого требует подключаемый сервис.
Что делать, если токен попал в чат, Git или скриншот?
Сразу перевыпустите токен через команду /token в @BotFather, затем замените его во всех подключённых системах. Простого удаления сообщения, файла или коммита недостаточно.
Почему бот не видит сообщения в группе?
Проверьте, добавлен ли бот в нужную группу, хватает ли ему прав и не ограничивает ли сообщения Privacy Mode. Отключайте Privacy Mode только тогда, когда боту действительно нужны обычные групповые сообщения.

Ещё по теме

Подберем решение под вашу задачу?

Если у вас есть задача, проект или не знаете с чего начать, напишите мне. Обсудим.