Пишем телеграм бота с помощью нейронок
Привет! Решил поделиться опытом разработки простого, но полезного Telegram-бота с помощью нейросетей.
Я собрал @tgsharik_bot, который конвертирует видеофайлы в телеграмовские "кружки". Функционал супер простой: отправляешь видео файл — получаешь готовый кружок. Дополнительно реализована проверка на подписку на мой канал для доступа к основному функционалу.
Инструменты и технологии
Для создания бота я использовал следующие инструменты:
- Claude (можно выбрать другие LLM: ChatGPT, Grok, DeepSeek) — для разработки концепции, составления технического задания и описания продукта
- Replit — платформа для написания кода с интегрированной нейросетью, которая также предоставляет хостинг
Пошаговый процесс разработки
Шаг 1: Создание концепции и технического задания
Первым делом я обратился к Claude для разработки идеи проекта. Я описал, что хочу создать простого бота для конвертации видео в видео кружки, и попросил нейросеть:
- Структурировать идею
- Создать подробное техническое задание
- Описать продукт в нескольких предложениях
На этом этапе важно было четко сформулировать, что именно должен делать бот и какие ограничения у него будут.
Шаг 2: Работа с Replit
После получения технического задания я загрузил его в Replit вместе с кратким описанием продукта в качестве промта. Перед отправкой я использовал функцию "Improve prompt", которая помогает оптимизировать запрос для получения лучшего результата.
Почему именно Replit? Главное преимущество этой платформы в том, что она не только генерирует код, но и автоматически настраивает окружение, позволяет сразу запускать и тестировать проект, а также деплоить его на своих серверах. Но тут дело вкуса, можно использовать и Cursor, Bolt и другие подобные платформы.
Шаг 3: Уточнение деталей и доработка
После загрузки технического задания Replit задал мне несколько уточняющих вопросов и предложил варианты реализации функционала.
Далее началась активная работа с чат-агентом платформы. С первого раза идеальный результат получить не удалось, поэтому пришлось описывать возникающие проблемы и ждать исправлений.
Лайфхак: Если Replit не может решить проблему с кодом, попробуйте загрузить проблемный файл в Claude, ChatGPT или другую LLM с описанием ошибки. Полученное решение затем можно вернуть обратно в Replit. В моем случае этот подход сработал отлично.
Шаг 4: Деплой и запуск
Когда бот был готов и работал корректно, настало время запустить его в продакшн. Если используйте Replit, есть два варианта:
- Задеплоить проект прямо на серверах Replit (подходит для MVP и проектов с небольшой нагрузкой)
- Выгрузить архив с кодом и развернуть на собственном сервере
Возникшие сложности и их решение
Несмотря на кажущуюся простоту процесса, я столкнулся с несколькими проблемами:
- Некорректная работа кода. Сгенерированный Replit код работал не так, как ожидалось. Решение: детальное описание проблемы агенту и использование дополнительных нейросетей для исправления ошибок.
- Ограничения по размеру файлов. Telegram имеет ограничения на размер видеостикеров. Пришлось добавить логику для проверки и обработки файлов соответствующего размера.
- Проверка подписки на канал. Реализация этой функции потребовала дополнительных корректировок, так как изначально сгенерированный код не полностью учитывал особенности Telegram API.
Выводы и советы
Подытожим тезисно:
- Стартуйте с малого. Начинать лучше с небольших проектов, чтобы быстрее получать результаты и не застревать в сложных задачах.
- Техническое задание — ключевой элемент. Качество сгенерированного кода напрямую зависит от детальности и четкости технического задания.
- Комбинируйте разные инструменты. Иногда одной нейросетью не обойтись, и лучше комбинировать несколько инструментов для решения разных задач.
- Учитесь в процессе. Даже если вы не программист, можно просить нейросеть объяснять код построчно, тем самым обучаясь программированию в процессе создания продукта.
Если у вас есть вопросы по проекту, можете написать мне в Telegram: @vanodiv.
P.S. У себя в тг пишу про нейронки и другие тулзы, которые использую в работе. И выкладываю мультики про кота:D