
Бота для Telegram делают тремя путями. Конструктор собирает его из готовых блоков без кода и подходит, если боту хватает меню, кнопок и сбора заявок. Заказать разработку стоит, когда нужны оплата, база клиентов или CRM. Третий путь, когда нужен свой код, а писать его вы не умеете: код пишет нейросеть, а вы ставите задачу и проверяете результат. Шаги: токен у @BotFather, запрос нейросети, запуск на своём компьютере и проверка вопросами клиентов.
Получится бот, который отвечает на команды и частые вопросы, а остальное пересылает вам, пока включён ваш компьютер. Мы проверили этот путь 30 сентября: прогнали бота от нейросети через поддельный Telegram и нашли два неверных ответа, которых не показала бы проверка тремя сообщениями.
Токен бота. Откройте в Telegram @BotFather, отправьте /newbot, придумайте имя и адрес бота. В ответ придёт токен, длинная строка с двоеточием, и ссылка на самого бота. Кто знает токен, тот управляет ботом, поэтому не вставляйте его ни в чат с нейросетью, ни в код: только в переменную окружения при запуске.
Python 3.10 или новее, установщик на python.org. На Python 3.9, который приходит в macOS с инструментами разработчика, бот тоже запустится, мы проверили. Но встанет aiogram версии 3.22 вместо свежей 3.31, и обновления библиотеки до бота уже не дойдут.
Нейросеть. На сентябрь 2026 из Беларуси без обходов обычно открываются DeepSeek и Qwen, а Claude, ChatGPT и Gemini здесь официально не работают, подробнее в разборе какие нейросети доступны в Беларуси.
Нейросеть пишет то, что вы описали, и додумывает остальное. Поэтому в запросе три части: что бот делает по шагам, ограничения и порядок работы. Просьба сначала показать план экономит время: по плану видно, правильно ли вас поняли, ещё до двухсот строк кода. Для бота из четырёх функций хватает одного запроса с планом. Когда функций больше, я даю их по одной, фаза за фазой: план первого вечера разобран в статье что такое вайб-кодинг.
Этот запрос мы отдали нейросети:
Сделай Telegram-бота на Python и aiogram 3. Обновления получай через long polling, без вебхука. Что бот делает: 1. На /start здоровается и в двух строках говорит, чем помогает. 2. На /help показывает список вопросов, на которые умеет отвечать. 3. Отвечает на частые вопросы из словаря FAQ в начале файла: ищет ключевые слова в сообщении без учёта регистра. 4. Если ответа нет, пишет человеку «Не нашёл ответа, передал вопрос владельцу» и пересылает его сообщение владельцу в чат OWNER_CHAT_ID. Ограничения: - Токен бота берётся только из переменной окружения BOT_TOKEN, в коде его нет. OWNER_CHAT_ID тоже из окружения. - Бот работает только в личных сообщениях, в группах молчит. - Ошибка при ответе пишется в лог и не останавливает бота. - Один файл bot.py и файл requirements.txt. Без базы данных. Сначала покажи план из 3–5 шагов и дождись моего «ок», потом пиши код. В конце напиши, как запустить бота на macOS и на Windows.
Пришли план из пяти шагов, bot.py на 204 строки, requirements.txt и инструкция по запуску. Прогоняли мы запрос не на DeepSeek и не на Qwen: у них код получится другим, поэтому проверка ниже нужна при любой модели.
Словарь частых вопросов нейросеть заполнила примерами про цены, оплату, часы работы и контакты. Свои вопросы и ответы допишите в запрос списком или замените словарь в начале bot.py. Две строки запроса важнее остальных: токен из окружения не попадёт в код, который вы кому-нибудь покажете, а молчание в группах не даст боту отвечать всем подряд.
OWNER_CHAT_ID: номер вашего личного чата с ботом, туда уходят вопросы без ответа. Первая версия требовала его сразу. Попросите нейросеть: «Пусть бот запускается без OWNER_CHAT_ID и пишет в лог chat_id каждого, кто ему написал».
Сохраните код из ответа нейросети в файлы bot.py и requirements.txt в отдельной папке и откройте в ней терминал. Запустите бота, откройте ссылку на него из ответа BotFather и отправьте /start с того аккаунта, куда хотите получать вопросы. В терминале появится строка с вашим именем и chat_id. Остановите бота через Ctrl+C, впишите число в OWNER_CHAT_ID и запустите снова.
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt export BOT_TOKEN="токен от BotFather" python bot.py # после того как узнали свой chat_id: export OWNER_CHAT_ID="число из лога" python bot.py
Нейросеть сама предложила проверку: /start, /help и вопрос, которого нет в списке. Все три бот прошёл. Мы добавили вопросы в том виде, в каком их пишут клиенты, и прогнали бота через поддельный Telegram: небольшой сервер на нашем компьютере отвечает боту вместо настоящего и записывает всё, что тот отправил. Код бота не менялся.
→ Сколько стоит сайт под ключ? ← Цена зависит от задачи. Опишите, что нужно, и владелец пришлёт расчёт. → Можно ли заказать доставку в Гродно? ← владельцу: «Вопрос без ответа от Анна…» + пересланное сообщение ← Не нашёл ответа, передал вопрос владельцу. → Во сколько обойдётся сайт? ← Отвечаем по будням с 10:00 до 19:00. Сообщения, отправленные вечером, читаем утром. → Я почти готов заказать, что дальше? ← Пишите прямо сюда. Если я не отвечу сам, передам вопрос владельцу. → «привет всем» в группе ← (бот промолчал)
На вопрос о цене бот ответил про часы работы: сработала фраза «во сколько» из списка про время. «Почти» совпало с «почт» из списка про контакты. Вторым сообщением мы написали нейросети, что именно пошло не так:
Проверил бота на живых вопросах. На «Во сколько обойдётся сайт?» он ответил про часы работы, хотя человек спрашивал цену. На «Я почти готов заказать, что дальше?» ответил про контакты: слово «почти» сработало как «почт». Сделай, чтобы ключевое слово совпадало только с целым словом или его началом, а не с куском внутри слова, и чтобы вопрос про цену не уходил в ответ про время. И пусть бот пишет в лог chat_id каждого, кто ему написал: так я узнаю свой OWNER_CHAT_ID без сторонних ботов.
Вторая версия прошла все девять проверок, включая оба неудачных вопроса, сообщение в группе и клиента, заблокировавшего бота: бот не упал и ответил дальше. Нейросеть сама предупредила, что совпадение по началу слова не спасает: «почт» и есть начало «почти». Поэтому она перечислила формы слова «почта».
С нашим собственным шаблоном бота вышла похожая история: 42 теста проходили, а прогон по сценарию рабочего дня показал, что сигнал владельцу не уходил ни разу. Тестов после починки стало 82.
Поэтому после запуска пишите боту так, как пишут клиенты: тот же вопрос другими словами, фраза со словом, похожим на ключевое, вопрос сразу про две темы. Что пошло не так, опишите нейросети, как во втором запросе: что спросили, что ответил бот и какой ответ нужен.
Следующий шаг после бота из статьи: шаблон отвечает по правилам и зовёт вас, когда не справился, плюс база клиентов, рассылки и ответы из панели. Бесплатно, после входа.
Открыть шаблон
Бот из статьи сам ходит в Telegram за новыми сообщениями, это режим long polling. Закрыли ноутбук, и сообщения копятся без ответа. Telegram хранит их до суток, поэтому после запуска бот ответит на накопившееся разом.
Чтобы бот отвечал круглые сутки, его переносят на сервер: маленький VPS и менеджер процессов, который поднимет бота после сбоя или перезагрузки. Бесплатные площадки для сайтов не подходят, их серверные функции живут секунды, подробнее в статье куда деплоить фронт без бэкенда. И правило: на один токен одна запущенная копия. Если бот работает и на ноутбуке, и на сервере, Telegram обрывает одну из копий ошибкой Conflict.
Во втором режиме, вебхуке, Telegram сам присылает сообщения на адрес сервера, для него нужен адрес с https. Так устроен бот уведомлений этого сайта, и на нём мы поймали сбой: в мае 2026 Telegram не смог найти адрес нашего домена .by и отвечал Failed to resolve host. Помогла передача IP-адреса сервера в параметре ip_address. Первому боту вебхук не нужен.

Бот из запроса отвечает по списку, поэтому бесплатно и мгновенно. Модель внутри нужна, когда вопросы в список не укладываются. Тогда каждый ответ оплачивается по тарифу API, и расход стоит ограничить, например 20 сообщениями в минуту на человека и дневным потолком токенов. Боту мы прописываем, что он работает только в интересах владельца, а на постороннее даёт вежливый отказ. Модель берите из тех, что официально работают в вашей стране: Anthropic Беларусь не поддерживает.
Бот с оплатой, базой клиентов и CRM мы делаем на заказ: автоматизация на ИИ.
Как создать ИИ-агента: от задачи до Telegram-бота
Собрали ИИ-агента для Telegram по шагам: задача, инструменты, инструкция, цикл. Проверили на бесплатной модели и на Claude: что агент делал и где врал.
Нейросеть для презентаций: слайды в HTML и PDF
Нейросеть для презентаций к выступлению: мой опыт с Claude Code, 14 слайдов и проверка PDF. Где потерялся текст и что пришлось исправить перед отправкой.
Как создать сайт с помощью нейросети и проверить
Как создать сайт с помощью нейросети: лендинг с заявкой, три дефекта и лишние обещания. Прогон Claude Code, задания, исходники и проверка перед запуском.