Моя история: от идеи до работающего продукта без кода
Я хотела, чтобы мои голосовые заметки не терялись, а превращались в красивые посты. Без ручного перепечатывания, правки, хаоса. Так родился бот «Говори — и готово!» — и этот кейс о том, как я его сделала с нуля.
Этап 1. Идея: голос → пост
Я часто записываю голосом свои мысли — как психолог, автор, преподаватель. Но переслушивать неудобно, а писать сразу в пост — не всегда получается.
Я подумала: а что если голосовое → текст → пост? С заголовком, хештегами и форматированием?
Так появилась идея: сделать бота, который сам всё превращает в готовый текст.
Этап 2. Архитектура: без кода, но с логикой
Изучив SendPulse и другие конструкторы, поняла главное ограничение: голосовые сообщения они не принимают. А именно голос — моя точка входа. Если я хочешу, чтобы бот «думал» на основе речи — нужен Make.com + OpenAI + Telegram API
Логика следующая:
- Telegram-бот принимает голосовое
- OpenAI расшифровывает речь
- ChatGPT создаёт текст, заголовок и хештеги
- Результат возвращается в Telegram
- А Make все это обеспечивает + отслеживает тарифы и лимиты
Этап 3. Проектирование логики: 4 ключевые ветки
Я не просто автоматизировала, а выстроила чёткую пользовательскую логику:
1. Новый пользователь — 2 бесплатные генерации
2. Пользователь с подпиской — генерации согласно плана
3. Подписка истекла / не оформлена — предложение оплатить
4. Попытка без команды / в группе / с другим типом сообщения — вежливый отказ
Всё это работает через Router в Make: фильтры, условия, динамические сообщения, автоответы.
Этап 4. Ошибки и неожиданные затыки
Эту часть поймет только тот, кто немного знаком с make.com.
Вот с чем я реально столкнулась:
- subtract() не работает → пришлось заменить на sum(value; -1)
- HTML Telegram не принимает {{upper(…)}} внутри → собирала строку вручную
- Whisper не принимал файл, пока я не указала правильный путь: {{message.voice.file_id}}
- concat() не появлялся в списке функций, хотя всё срабатывало при ручном вводе
Каждый раз я искала обходные пути, тестировала, меняла и запускала снова. И так 2 дня…
Этап 5. Учёт генераций: доступ как лимит, а не срок
Я отказалась от подписки «на месяц» и ввела лимиты по количеству генераций. Мне показалось это более целесообразно.
А через пару дней скинула бота подруге на тест и первое, что она попросила: «Сделай доступ на месяц!»
Что ж, добавлю и такой тарифный план.
Этап 6. Оплата и автоматическое подключение
Я настроила оплату через WooCommerce на своём сайте. В ссылке на оплату передаю ID пользователя. После оплаты срабатывает Webhook в Make — доступ открывается автоматически. Пользователь получает оповещение в чате. Это сэкономило мне кучу времени — всё работает без моего участия.
Этап 7. Упаковка: бот как продукт
Когда техническая часть уже работала — голос принимался, текст возвращался, лимиты считались, — я занялась улучшением бота. Всё происходило технически правильно, но… сухо. Это не тот опыт, который я сама бы хотела получить, пользуясь таким ботом. А значит — нужно доработать впечатление, атмосферу, упаковку.
Я хотела сделать бота не просто функциональным, а тёплым, понятным, человечным.
Первым делом — добавила меню с командами, каждая — короткий диалог. Особое внимание уделила приветствию. Было важно, чтобы человек чувствовал: «меня тут ждали».
📊 Я добавила команду, чтобы пользователь мог увидеть, сколько генераций у него осталось. Без лишних кнопок, прямо в чате. Это простой шаг — но он делает взаимодействие прозрачным.
С этого момента бот стал не просто рабочим инструментом. Он стал моим цифровым ассистентом, помощником, частью моего профессионального бренда.
И, главное — живым продуктом, которым приятно делиться.
Если хотите посмотреть, как это работает вживую — запишите голосовое моему боту. Он вас поймёт 😉