TL;DR
- Зарегистрируйте бота через официальный @BotFather и сохраните токен в безопасном месте.
- Простой ответ можно настроить в визуальном сценарии; Python подходит для собственной логики.
- BotFather создаёт аккаунт, а ответы выполняет запущенная программа или активный сценарий.
- До размещения на хостинге проверьте
/start,/helpи текстовое сообщение в личном чате.
Что такое Telegram-бот
Telegram-бот — приложение, с которым пользователь взаимодействует через специальный аккаунт в Telegram. Оно может отвечать на вопросы, обрабатывать команды и связывать переписку с другими сервисами; общая схема описана в обзоре платформы ботов Telegram.
Начните с одной функции: справки о расписании занятий или повтора отправленного текста. Эхо-бот удобен для проверки подключения: отправьте «Привет» и получите «Привет» в ответ. После этого можно добавлять команды и условия.
Бот не становится ИИ-ассистентом автоматически. Для ответа по шаблону достаточно правила, для генерации текста нужна отдельная интеграция с моделью. Mini App — веб-интерфейс, который открывается внутри Telegram; его разработка отличается от настройки текстовых ответов.
Боты также входят в рекламную экосистему Telegram: рекламная платформа Telegram AdsGram позволяет запускать кампании в каналах, ботах и Mini Apps.
Как создать бота в Telegram
Сначала зарегистрируйте бота в BotFather, затем подключите визуальный сценарий или Python-программу. BotFather нужен в обоих вариантах: он создаёт аккаунт, но не заменяет реализацию ответов.
Вариант | Что настраивается | Для чего подходит | Что поддерживать |
|---|---|---|---|
BotFather | Аккаунт, профиль и токен | Обязательная регистрация | Владение ботом и настройки |
No-code | События, условия и ответы | Короткий предсказуемый диалог | Сценарий, доступы и доступность сервиса |
Python | Обработчики и логика | Собственные правила и интеграции | Код, зависимости и работа программы |
До подключения конструктора проверьте нужные типы сообщений, ветвление диалога, хранение данных и условия размещения. Важно заранее понять, сможете ли вы добавить нужное условие и изменить ответ без переноса всего проекта.
Сначала нарисуйте один сценарий: сообщение → условие → ответ. Например: пользователь пишет /help, бот объясняет, какие команды доступны. Если уже на этом этапе появляются десятки исключений, оцените, насколько удобно будет менять их в конструкторе.

Регистрация через BotFather
Откройте официальный @BotFather, отправьте /newbot и задайте имя и username. Регистрация и получение токена разобраны в учебной инструкции Telegram.
- Перейдите в BotFather по ссылке выше и нажмите Start / Запустить.
- Отправьте
/newbot. - Укажите отображаемое имя, например
Расписание мастерской. - Выберите свободный username с окончанием
bot, напримерmasterskaya_help_demo_bot. - Сохраните полученный токен в менеджере паролей или хранилище секретов.
- Откройте ссылку на бота и убедитесь, что его чат доступен.
Username в примере условный: его доступность не гарантируется. Используйте латинские буквы, цифры и подчёркивания и соблюдайте требования, которые показывает BotFather. Отображаемое имя при этом может быть на русском языке.
Токен — секрет для авторизации бота в Bot API. Не вставляйте его в публичный код, документы или скриншоты. Для существующего бота используйте настройки управления в BotFather, чтобы получить или заменить токен. При утечке отзовите старый токен и обновите доступы в подключённой программе.

Основные команды BotFather
Ниже — команды для базовой настройки, а не полный каталог. Дополнительные параметры смотрите в руководстве BotFather и актуальном меню самого бота.
Команда | Назначение |
|---|---|
| Создать бота |
| Открыть управление ботами |
| Изменить отображаемое имя |
| Описать возможности бота |
| Изменить короткую информацию профиля |
| Установить изображение профиля |
| Настроить меню команд |
| Сгенерировать токен авторизации |
Добавляйте в меню только реализованные команды. Если указать /help в BotFather, пользователь увидит её в интерфейсе, но ответ всё равно нужно настроить в сценарии или коде.
Бот без программирования
Чтобы создать Telegram-бота без кода, подключите токен к визуальному сценарию и задайте действие для входящих сообщений. Разберём минимальный пример на n8n — стороннем инструменте автоматизации, который не принадлежит Telegram.
Понадобится экземпляр n8n, способный принимать события от Telegram. Самостоятельное размещение требует настройки сервера. Отсутствие кода не означает отсутствие технической настройки; стоимость облачного сервиса и постоянной работы проверяйте отдельно.
- Создайте workflow и добавьте Telegram Trigger.
- Создайте Telegram credentials и вставьте токен в Access Token, как описано в документации подключения.
- В Telegram Trigger выберите событие Message.
- Подключите действие Telegram, ресурс Message, операцию Send Message.
- В Chat ID передайте ID чата из входящего сообщения:
{{ $json.message.chat.id }}, если действие идёт непосредственно после триггера. - В Text укажите
Привет! Бот подключён.Доступные операции описаны в документации Telegram action. - Включите ожидание тестового события и отправьте боту новое сообщение в личном чате.
- Проверьте ответ, затем опубликуйте или активируйте workflow для дальнейшей работы.
Этот пример намеренно отправляет одну фразу на любое сообщение. Следующий шаг — условие для /start и /help: первая команда запускает приветствие, вторая показывает справку. Для неизвестного текста предусмотрите понятный ответ, например предложение открыть список команд.
При самостоятельном размещении нужен публичный HTTPS-адрес webhook. Тестовый и рабочий режимы могут перезаписывать регистрацию webhook друг друга. Для изменений работающего сценария удобнее завести отдельного тестового бота; подробности есть в разборе ошибок n8n.
Выбор конструктора и хостинга в странах СНГ
Если вы создаёте бота из страны СНГ, перед выбором конструктора или хостинга проверьте доступность регистрации, способы оплаты и условия работы для вашей страны. Бесплатного тарифа может хватить для тестирования, но для постоянной работы важно уточнить лимиты и наличие автоматической остановки при бездействии.
Для русскоязычной аудитории задайте понятное имя бота и ответы на русском языке. Username должен использовать латинские символы и оканчиваться на bot. Если бот показывает расписание или отправляет напоминания, уточняйте часовой пояс пользователя: единого часового пояса для стран СНГ нет.
Бот на Python
Python подходит, когда нужно самостоятельно управлять проверками, ответами и интеграциями. Ниже — бот с /start, /help и повтором текста; структура обработчиков соответствует примеру python-telegram-bot.
Подготовьте окружение
Установите совместимую версию Python; для этого примера подойдёт Python 3.12. Требования к окружению доступны в документации библиотеки. Создайте отдельную папку и виртуальное окружение для зависимостей проекта.
Для macOS и Linux:
mkdir telegram-bot-democd telegram-bot-demopython3 -m venv .venvsource .venv/bin/activatepython -m pip install "python-telegram-bot==22.8"
Для Windows PowerShell:
mkdir telegram-bot-democd telegram-bot-demopy -m venv .venv.\.venv\Scripts\Activate.ps1python -m pip install "python-telegram-bot==22.8"
Если активацию блокирует локальная политика, используйте .\.venv\Scripts\python.exeвместо python для установки пакета и запуска программы.
Добавьте код
Сохраните файл bot.py. Секрет считывается из переменной окружения и не записывается в исходный код.
import osfrom telegram import Updatefrom telegram.ext import ( Application, CommandHandler, ContextTypes, MessageHandler, filters,)async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): if update.message: await update.message.reply_text("Привет! Пришлите текст или введите /help.")async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE): if update.message: await update.message.reply_text("Я повторяю текст. Отправьте слово Привет.")async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE): if update.message and update.message.text: await update.message.reply_text(update.message.text)def main(): token = os.environ.get("TELEGRAM_BOT_TOKEN") if not token: raise SystemExit("Задайте TELEGRAM_BOT_TOKEN перед запуском.") app = Application.builder().token(token).build() app.add_handler(CommandHandler("start", start)) app.add_handler(CommandHandler("help", help_command)) app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo)) app.run_polling(allowed_updates=["message"])if __name__ == "__main__": main()
Запустите и проверьте
Задайте токен в том же терминале, где запускаете бота. Выберите команды для своей оболочки. Скрытый ввод позволяет не записывать сам токен в команду, которая сохраняется в истории.
macOS — zsh
read -s "TELEGRAM_BOT_TOKEN?Вставьте токен: "export TELEGRAM_BOT_TOKENpython bot.py
Linux или macOS — bash
read -s -p "Вставьте токен: " TELEGRAM_BOT_TOKENexport TELEGRAM_BOT_TOKENpython bot.py
Windows — PowerShell 7
$env:TELEGRAM_BOT_TOKEN = Read-Host -MaskInput 'Вставьте токен'python bot.py
Откройте личный чат и отправьте /start, /help и короткий текст. Для остановки нажмите Ctrl+C. Это учебная основа: в ней нет базы данных, сохранения состояния диалога или мониторинга для постоянной эксплуатации.
Постоянная работа бота
Для непрерывных ответов программа должна работать на постоянно доступном хосте, а no-code-сценарий — оставаться активным в своём окружении. После остановки локального Python-процесса ответы прекратятся.
Long polling — получение событий запросами от программы к Telegram. Webhook — доставка событий от Telegram на ваш сервер. Эти способы нельзя одновременно использовать для получения обновлений одного бота; механизм описан в справочнике Bot API. Python-пример использует polling, триггер n8n — webhook.
Перед постоянным запуском:
- Перенесите токен в секреты хостинга; исключите
.venvи файлы с секретами из Git. - Оставьте один polling-процесс на токен и проверьте, что другое приложение не забирает события того же бота.
- Настройте автоматический перезапуск и просмотр ошибок без записи секретов и лишнего содержимого переписки.
- Сохраняйте необходимое состояние диалога вне оперативной памяти процесса.
- Проверьте восстановление после перезапуска.
Если позже понадобится веб-интерфейс, выделите его в отдельный этап. Для дальнейшей разработки пригодится материал AdsGram об ошибках при создании Telegram Mini Apps.
Начните зарабатывать за 3 шага
- 01Зарегистрируйтесь
- 02Подключите проект
- 03Получите выплату
Частые ошибки при настройке
Если бот молчит, сначала проверьте запущенную программу и доставку сообщений. Изменение имени или описания профиля не исправит неработающий обработчик.
- После регистрации нет ответа. Подключите и запустите код или сценарий: BotFather не выполняет логику диалога.
- Не найдена переменная окружения. Задайте
TELEGRAM_BOT_TOKENв том терминале или сервисе, из которого стартует программа. - Ошибка авторизации. Проверьте пробелы, актуальность токена и соответствие нужному боту.
- Конфликт polling. Остановите дублирующие процессы. При переходе с webhook-сервиса осознанно удалите прежний webhook методом
deleteWebhook, затем запускайте polling; см. FAQ Telegram о получении обновлений. - В личном чате работает, в группе — нет. Проверьте режим приватности и отправьте адресованную команду:
/help@username_вашего_бота. - Команда видна в меню, но ничего не делает. Добавьте обработчик: запись в меню сама по себе не создаёт ответ.
FAQ
Ниже — ответы на вопросы о стоимости, выборе инструмента и первых проверках после регистрации.
Можно ли создать Telegram-бота бесплатно?
Базовая платформа ботов Telegram бесплатна, а небольшой Python-проект можно запустить на собственном компьютере. Отдельные расходы могут появиться за хостинг, конструктор или внешние API. Для первой проверки достаточно локального бота с текстовым ответом. Перед переходом к постоянной работе отдельно проверьте условия выбранного сервиса, его ограничения и стоимость нужных функций.
Безопасно ли пользоваться BotFather?
Используйте официальный аккаунт, открытый из документации Telegram или по прямой ссылке @BotFather в этой статье. Это инструмент Telegram для управления ботами. Основные риски при настройке — аккаунты-двойники и утечка токена. Храните секрет отдельно от публичных материалов и передавайте его только тому приложению или сервису, которому намеренно доверяете управление ботом.
Как получить токен бота через BotFather?
Отправьте /newbot официальному BotFather и выполните запросы имени и username. После регистрации BotFather выдаст токен этого бота. Для уже созданного аккаунта откройте его настройки управления и используйте генерацию токена. Сохраните секрет в безопасном месте; после отзыва или замены старого токена обязательно обновите доступы в программе или подключённом конструкторе.
Нужен ли Python для создания бота?
Нет. Простой ответ можно настроить в визуальном сценарии без Python, а для работы с Bot API подходят и другие языки программирования. Выбор зависит от требуемого поведения и того, что вам удобно поддерживать. Короткий диалог с несколькими условиями можно собрать визуально; сложные проверки и собственные интеграции могут потребовать отдельного приложения.
Почему бот перестаёт отвечать после закрытия терминала?
В учебном примере терминал запускает программу, которая получает сообщения и отправляет ответы. Когда процесс завершается, логика останавливается, хотя аккаунт бота продолжает существовать. Для постоянной работы перенесите программу в всегда доступное окружение с автоматическим перезапуском либо поддерживайте активный облачный сценарий. При сбоях проверяйте журнал выполнения и доступность сервиса.





