Telegram-бот с Claude Code: как сделать Телеграм бота с продажей своих услуг через ИИ (Claude Code и Telegram)
Коротко:
- Кейс: создали Telegram-бота с оплатой через Stars за 1 рабочий день с Claude Code
- Стек: Python + aiogram 3.x + SQLite + Yandex Cloud Functions (serverless)
- 4 итерации после первого промпта — форматирование, ошибки, статистика, защита от двойной оплаты
- Стоимость: ~2 300 ₽ (подписка Claude Pro). Аналогичный заказ у фрилансера — от 15 000 ₽
Канал с гайдами и контентом по ИИшкам и что с ними можно реализовывать, мы выписываем абсолютно всю базу по ИИ в наш канал и там другие полезные материалы: https://t.me/claudedevolper
Это не теоретический гайд — это реальный кейс. Мы создали Telegram-бота , не написав ни одной строчки кода вручную. Бот принимает оплату через Telegram Stars, ведёт базу пользователей, отслеживает источники трафика и уведомляет администратора о каждой покупке.
Весь процесс — от первого промпта до рабочего бота в продакшне — занял один рабочий день. В этой статье — пошаговый разбор: что говорили Claude Code, какие решения он принял, где ошибался и как мы это исправляли.
Что мы создали: обзор бота
Решает три задачи:
- Приём оплаты — через Telegram Stars (встроенная платёжная система Telegram)
- Учёт пользователей — SQLite-база с трекингом источника (откуда пришёл пользователь)
- Уведомления — администратор получает сообщение о каждой оплате
Что умеет бот
- Команда /start — приветствие с описанием курса и кнопкой оплаты
- Команда /myid — показывает Telegram ID пользователя
- Команда /stats — статистика для администратора (кол-во пользователей, оплат, по источникам)
- Оплата — 5 000 Stars, встроенный Telegram-платёж без перехода на внешний сайт
- Deep links — отслеживание источника: t.me/claudecource_bot?start=main, ?start=freelance, ?start=vibe
Подготовка: что нужно до начала
Инструменты
- Claude Code с подпиской Claude Pro ($20/мес)
- Python 3.10+ установлен
- Аккаунт Telegram
Создание бота через BotFather
- Откройте @BotFather в Telegram
- Отправьте /newbot
- Придумайте имя (например, «Мой курс») и username (должен заканчиваться на bot)
- BotFather выдаст токен — сохраните его
Подключение платежей
Для Telegram Stars не нужен отдельный платёжный провайдер — это встроенная валюта Telegram. Достаточно отправить BotFather команду /mybots → выбрать бота → Payments → подключить Telegram Stars.
Шаг 1: Описание задачи Claude Code
Открываем терминал в папке проекта и запускаем Claude Code:
mkdir course-bot && cd course-bot claude
Первый промпт — максимально конкретный:
Создай Telegram-бота на Python с aiogram 3.x: 1. Команда /start: - Приветственное сообщение с описанием курса - Inline-кнопка "Купить курс — 5000 Stars" - Deep link параметр сохраняется как источник (main, freelance, vibe, career) 2. Оплата через Telegram Stars: - При нажатии кнопки — отправить invoice на 5000 XTR - После успешной оплаты — сохранить в БД, отправить подтверждение, уведомить админа 3. База данных SQLite: - Таблица users: user_id, username, first_name, source, first_seen - Таблица payments: user_id, amount, currency, charge_id, source, paid_at 4. Команда /stats (только для админа): - Кол-во пользователей, оплат, разбивка по источникам Токен бота — из переменной окружения BOT_TOKEN. ID админа — из переменной ADMIN_ID.
Claude Code прочитал задачу, создал bot.py, requirements.txt, и предложил структуру. Весь файл — ~350 строк.
Шаг 2: Что Claude Code сделал сам
Архитектура, которую он выбрал
Claude Code самостоятельно принял несколько архитектурных решений:
Обработка deep links
Claude Code создал систему трекинга источников без дополнительных инструкций. Когда пользователь переходит по ссылке t.me/bot?start=freelance, бот парсит параметр freelance и сохраняет в БД как source. Это позволяет видеть, какой лендинг приводит больше всего покупок.
Платёжный flow
Пользователь нажимает "Купить" → Бот отправляет Invoice (5000 XTR) → Telegram показывает окно оплаты → Пользователь подтверждает → Telegram отправляет pre_checkout_query → Бот подтверждает (answer_pre_checkout_query) → Telegram отправляет successful_payment → Бот сохраняет в БД + уведомляет админа
Claude Code правильно реализовал весь flow, включая обработку pre_checkout_query — это обязательный шаг, который многие забывают.
Шаг 3: Итерации и исправления
Первая версия работала, но потребовала 4 итерации:
Итерация 1: Форматирование сообщений
Сообщение приветствия слишком длинное. Сократи до 3 строк + добавь эмодзи. Кнопка должна быть яркой.
Claude Code переписал текст и добавил InlineKeyboardButton с emoji.
Итерация 2: Обработка ошибок
Что будет, если оплата не пройдёт? Добавь обработку ошибок для pre_checkout_query и successful_payment.
Claude Code добавил try/except блоки и fallback-сообщения.
Итерация 3: Статистика для админа
Команда /stats должна показывать: - Всего пользователей - Оплат за сегодня / за неделю / всего - Топ-3 источника по конверсии
Claude Code написал SQL-запросы с агрегацией и форматированием.
Итерация 4: Защита от двойной оплаты
Пользователь может нажать "Купить" дважды. Добавь проверку: если уже оплатил — показать "Вы уже купили курс" вместо invoice.
Claude Code добавил проверку SELECT * FROM payments WHERE user_id = ? перед отправкой invoice.
Итого: 4 итерации, ~30 минут. Основная работа — в первом промпте.
Шаг 4: Тестирование
Перед деплоем протестировали локально:
BOT_TOKEN=123:ABC ADMIN_ID=12345 python bot.py
Чеклист тестирования
Все тесты прошли. Claude Code не допустил критических ошибок — только стилистические (форматирование, длина текстов).
Шаг 5: Деплой
Для деплоя выбрали Yandex Cloud Functions — serverless-платформу, которая не требует аренды сервера.
Почему serverless
- Бесплатно при малом трафике (до 1 млн вызовов/мес)
- Не нужен сервер — не нужно настраивать VPS, следить за uptime
- Автомасштабирование — если придёт 1000 пользователей одновременно, платформа справится
Промпт для деплоя
Подготовь бота для деплоя на Yandex Cloud Functions: - Создай handler.py с entry point для serverless - Настрой webhook вместо polling - requirements.txt с зависимостями
Claude Code создал handler.py, адаптировал бота под webhook-режим и написал инструкцию по деплою.
Результат
Бот работает в продакшне с февраля 2026 года. За это время: - Обработал 500+ уникальных пользователей - Принял оплаты из 4 разных источников трафика - Ни одного падения (serverless стабильность)
Сколько это стоило
Для сравнения: заказ аналогичного бота у фрилансера стоит от 15 000 до 50 000 ₽. Разработка самостоятельно без AI — 2-4 недели обучения + 1-2 недели написания кода.
Уроки из этого кейса
Что сработало
- Конкретный первый промпт — чем детальнее описали задачу, тем точнее результат. 4 пункта с подпунктами — и 80% работы сделано с первого раза
- Итеративный подход — не пытались предусмотреть всё заранее. Базовая версия → тестирование → доработка
- Claude Code выбрал правильный стек — aiogram 3.x, SQLite, serverless. Мы не указывали технологии — он сам решил
Что бы сделали иначе
- Сразу добавить Plan Mode — для первого промпта стоило использовать Shift+Tab, чтобы Claude Code сначала предложил план
- Тесты — Claude Code не написал unit-тесты автоматически. Стоило попросить: «Напиши pytest-тесты для всех обработчиков»
- Мониторинг — сейчас нет алертов при ошибках. Стоило подключить Sentry через MCP
Чеклист: создание Telegram-бота с Claude Code
- Создайте бота в BotFather — /newbot, сохраните токен
- Подключите Telegram Stars — /mybots → Payments → Stars
- Установите Claude Code — если ещё нет
- Создайте папку проекта — mkdir my-bot && cd my-bot && claude
- Напишите подробный первый промпт — все команды, кнопки, БД-структура
- Протестируйте локально — BOT_TOKEN=... python bot.py
- Проведите 3-5 итераций — форматирование, ошибки, edge cases
- Добавьте защиту от двойной оплаты — проверка перед каждым invoice
- Задеплойте — Yandex Cloud Functions или Railway
- Проверьте в продакшне — тестовая оплата, deep links, /stats
Частые вопросы
Сколько стоит создать Telegram-бота с AI?
Подписка Claude Code Pro — $20/мес (~2 300 ₽). Хостинг на Yandex Cloud Functions — бесплатно при малом трафике. Telegram Bot API — бесплатно. Итого: ~2 300 ₽ за первый месяц. Для сравнения: заказ у фрилансера стоит от 15 000 до 50 000 ₽.
Нужно ли знать Python для создания бота?
Нет. Claude Code напишет весь код сам. Но базовое понимание поможет проверять результат и ставить точные задачи. В нашем кейсе мы не написали ни одной строчки вручную — только промпты для Claude Code.
Можно ли принимать оплату рублями, а не Stars?
Да. Вместо Telegram Stars можно интегрировать ЮKassa, Тинькофф или другой платёжный провайдер. Это сложнее (нужен вебхук для уведомлений), но Claude Code справится — попросите "добавь оплату через ЮKassa" и он сгенерирует код.
Где лучше хостить бота?
Для малого трафика (до 1000 пользователей) — Yandex Cloud Functions (бесплатно, serverless). Для большего — Railway ($5/мес) или VPS на TimeWeb/Selectel (от 300 ₽/мес). Claude Code поможет адаптировать бота под любую платформу.
Сколько времени занимает создание бота с Claude Code?
Простой бот (приветствие + кнопки + БД) — 2-3 часа. Бот с оплатой — 4-6 часов.
Бот с полноценной CRM-логикой — 1-2 дня. 80% времени — в первом промпте и тестировании, а не в итерациях.
Канал с гайдами и контентом по claude code, выкладываем новости (когда режут лимиты в 10 раз) и какие инструменты через claude реализуем для проектов, канал: https://t.me/claudedevolper