Как создать телеграм-бота и не бросить его через неделю
Написать бота стало проще, чем придумать, зачем он нужен. Показываю три сценария, где мои боты реально работают каждый день, во что это обходится в месяц и на какие грабли наступают все, кто ставит бота на российский сервер.
- Код бота — самая простая часть. Агент напишет рабочего бота за вечер; сложность в том, где он будет жить и что делать с данными.
- Боты на российском сервере молча не работают: сервера Telegram оттуда недоступны, нужен посредник или зарубежный хостинг.
- Бот должен писать в базу, а не помнить в памяти. Перезапуск процесса стирает всё, что бот «знал» о человеке.
- Метка источника в ссылке на бота превращает его из игрушки в инструмент: видно, откуда пришёл каждый.
Содержание статьи
Телеграм-бот сегодня пишется за вечер, и это перестало быть достижением. Интереснее другой вопрос: какие боты доживают до второго месяца.
У меня их несколько, и все они делают одну конкретную вещь. Показываю сценарии, цены и грабли — особенно одну, на которой спотыкаются все, кто ставит бота на сервер в России.
Три сценария, которые окупаются
Что бот реально умеет делать полезного
Выдавать материалы и собирать контакты. Человек нажимает «Старт» — получает гайд, файл, доступ. Вы получаете его в базе с меткой, откуда он пришёл. Это самый частый и самый окупаемый сценарий: бот заменяет форму, письмо и ручную отправку. Быть личным помощником. Я наговариваю голосовые заметки прямо в бота: он расшифровывает и кладёт текст в базу знаний, а агент трижды в день разбирает вброшенное и утром отдаёт план на день. Мысль из машины доезжает до задачи без единого действия руками. Присылать уведомления. Отчёты по проектам, падения сайтов, новые заявки, результаты ночных задач. Вместо «зайти и посмотреть» — сообщение в телефон, когда есть что сообщить.
Общее у всех трёх: у бота одна работа. Боты, которые «умеют всё», не доживают до второй недели — их некому поддерживать и незачем открывать.
Продолжение — в канале
Тут — только метод. Ход запусков, цифры проектов и то, что сломалось на этой неделе, выкладываю в Telegram.
Что понадобится
- 1Токенполучить у служебного бота BotFather, одна минута
- 2Кодописать задачу агенту, он напишет обработчики
- 3Сервернебольшой VPS, 1–2 тысячи ₽ в месяц
- 4Автозапусксистемный сервис, чтобы бот поднимался после перезагрузки
Код — самая простая часть. Если у вас стоит Claude Code или другой агент, рабочий бот пишется по описанию: «принимай сообщение, клади в базу, отвечай так-то». Мои боты сделаны на обычной библиотеке для Telegram на Python — ничего экзотического.
Сложное начинается дальше.
Грабли, о которых узнаёшь после запуска
Российский сервер не видит Telegram
Самая дорогая по времени история. Вы ставите бота на российский VPS, запускаете — и ничего. Не ошибка, не отказ, просто тишина: сервер не может достучаться до серверов Telegram. Логи чистые, конфигурация верная, бот «работает».
Варианта два: держать бота на зарубежном сервере или пускать его запросы через посредника — небольшой прокси, который принимает вызовы от бота и передаёт дальше. У меня сделано вторым способом, потому что остальная инфраструктура живёт в России.
Отдельная тонкость того же семейства: посредник может отбивать запросы, если библиотека не представляется браузероподобным способом. Симптом — ответ с кодом отказа от промежуточного сервиса, а не от Telegram. Лечится сменой библиотеки запросов или заголовка.
Бот, который живёт в терминале
Пока бот запущен из окна терминала на ноутбуке, он умирает вместе с закрытой крышкой. Оформляйте его системным сервисом с автозапуском — тогда он переживает и перезагрузку сервера, и обновление кода.
Память процесса — не память бота
Соблазн держать состояние диалога в переменной. Первое же обновление кода — и бот забыл всех: кто на каком шаге, кто что получил, кому не надо присылать повторно. Всё, что должно пережить перезапуск, пишется в базу рядом с ботом.
Бот в группе, который отвечает всем
Если бот сидит в рабочем чате, он не должен реагировать на каждое сообщение: люди там разговаривают друг с другом, а не с ним. Отвечать — только на прямое обращение или упоминание. Иначе бот превращается в собеседника, которого выключают через два дня.
Одна деталь, которая делает бота инструментом
Ссылка на бота умеет нести метку источника: одна и та же кнопка с разных площадок даёт разные метки, и в базе видно, откуда пришёл человек.
У меня так помечены все входы: из канала, из блога, из ролика. Без этого бот — просто чат; с этим — понятно, какой канал реально приводит людей, а какой только шумит.
Перед тем как считать бота готовым
Токен лежит в файле окружения, а не в коде, и не попал в репозиторий. Бот поднимается сам после перезагрузки сервера. Состояние и контакты пишутся в базу, а не в память процесса. Каждая внешняя ссылка на бота помечена источником. Есть уведомление вам, если бот упал: молчащий бот выглядит как работающий.
Сколько это стоит в месяц
Небольшой сервер — 1–2 тысячи рублей. Сам Telegram бесплатен. Если бот обращается к модели, добавляются токены: у моего помощника это несколько сотен рублей в месяц, потому что он обрабатывает короткие заметки, а не ведёт бесконечные диалоги.
Для сравнения: связки между сервисами я раньше держал на платном конструкторе интеграций за 20 000 ₽ в месяц плюс 25 000 ₽ технику, который их поддерживал. Сейчас те же связки написаны кодом и живут на сервере за пару тысяч. Экономия — 40 000 ₽ в месяц, и это тот случай, когда подписка на ИИ окупилась одним переездом.
- Начните с одного сценария: выдача материала, личный помощник или уведомления. Универсальный бот не доживает до второй недели.
- Токен держите в отдельном файле окружения — он даёт полный доступ к боту, и его нельзя коммитить.
- Ставьте бота под системный сервис с автозапуском: бот, живущий в терминале ноутбука, умирает вместе с крышкой.
- Каждую ссылку на бота помечайте источником — потом будете знать, какой канал приводит людей.
- В группах отвечайте только на прямые обращения: бот, реагирующий на каждое сообщение, выживает недолго.
Гайд «Второй мозг в Claude Code»
Каркас базы знаний и мост памяти: ИИ помнит все проекты и решения. Забрать в боте. Бесплатно, отдаёт бот в Telegram.
Частые вопросы
Нужно ли уметь программировать, чтобы сделать телеграм-бота?
Нет. Токен выдаёт служебный бот BotFather за минуту, а код пишет агент по описанию задачи. Уметь нужно другое: объяснить, что бот должен делать, и разместить его так, чтобы он работал круглосуточно.
Сколько стоит содержать телеграм-бота?
Порядка одной-двух тысяч рублей в месяц за небольшой сервер. Сам Telegram денег не берёт. Если бот обращается к нейросети, добавляются токены — тут стоимость зависит от нагрузки, а не от бота.
Почему бот не работает на российском хостинге?
Потому что с российских серверов недоступны серверы Telegram. Бот запускается, не выдаёт ошибок конфигурации и просто не получает сообщений. Решается либо зарубежным сервером, либо посредником, через которого идут запросы.
Где хранить данные бота?
В базе рядом с ботом — подойдёт файловая база вроде SQLite. Хранить состояние в памяти процесса нельзя: любой перезапуск или обновление кода стирает всё, что бот помнил о людях.
Можно ли сделать бота с искусственным интеллектом?
Да, и это обычно один вызов модели внутри обработчика сообщения. Важнее не сам вызов, а рамки: что бот отвечает, чего не отвечает и куда девает историю разговора. Без рамок получается дорогой генератор вежливых пустых ответов.