С чего всё началось
Началось всё как у половины айтишников и сочувствующих в последние пару лет. Захотелось пощупать нейросети не через чатик, а руками. Собрать что-то своё, неважно что.
Первые подходы к снаряду выглядели жалко. Сидел в чате с Claude и просил: напиши мне код для телеграм-бота. Он писал. Я копировал в файл. Запускал. Оно падало. Копировал ошибку обратно в чат. Он извинялся и выдавал новый вариант. Так по кругу вечера три.
Потом мне посоветовали Cursor, и тут я понял, о чём все эти разговоры про вайб-кодинг. Это редактор кода со встроенной нейросетью прямо внутри: она видит весь проект целиком, а не кусочки, которые ей скармливаешь по одному. Ты описываешь словами, что нужно, она правит файлы сама. Ощущение, будто нанял джуна, который работает со скоростью света, не спит и не просит зарплату. Правда, примерно раз из пяти этот джун уверенно ломает то, что уже работало, и делает вид, что так и было.
Инструмент появился. Не было идеи. Очередной список дел или бот с погодой делать не хотелось, такого добра и без меня хватает.
И тут в голове столкнулись два факта. Первый: рынок эзотерики в России огромный, как ни относись к этому. Разбор у живого астролога стоит от пяти тысяч и выше, и на это есть спрос. Второй: люди разговаривают со своими питомцами. Все. Вы тоже, не отпирайтесь, я видел, как вы спрашиваете у кота, кто тут хороший мальчик.
Погуглил: астрология для питомцев. Пусто. Пара мёртвых англоязычных сайтов уровня "ваш кот-Лев сегодня будет спать" - и всё. Ниша, где буквально никого нет.
Идея была настолько дурацкая, что не проверить её было нельзя. Решил собрать MVP чисто по приколу: гороскоп, карта Таро и матрица судьбы, но для Барсика. Дальше должно было быть "поржали и забыли". Не получилось.
Технические кишки
Для тех, кто пришёл за мясом. Стек собрал максимально приземлённый, без модных слов ради модных слов:
grammY на TypeScript - фреймворк для телеграм-ботов. После голого API это как пересесть с телеги на самокат.
Supabase - база данных. По сути обычный Postgres, но с человеческой админкой и бесплатным тарифом на старте. Храню юзеров, питомцев и кто чем уже пользовался.
Claude API - генерация всех текстов. В промпт летит имя, вид, порода, пол, дата рождения и характер питомца, обратно приходит персональный текст.
fal.ai - генерация картинок. Про это дальше, там самое интересное.
Обычный VPS плюс PM2 - хостинг. Деплой у меня это git push с ноута, потом заходишь на сервер, git pull, pm2 restart. Всё. Никаких докеров, я один, мне хватает.
Грабли отгрёб быстро, записывайте, вдруг сэкономлю кому-то вечер:
Если в grammY висит обработчик на весь входящий текст, команды через bot.command() молча перестают работать. Не ошибка, не warning, просто тишина. Два вечера дебага ушло, пока дошло, что все команды надо ловить внутри текстового обработчика руками.
Лимит подписи к картинке в Telegram - 1024 символа. Узнал об этом, когда бот начал падать на раскладах Таро: нейросеть пишет трактовку на полторы тысячи знаков, а ты пытаешься прицепить её к карте. Теперь картинка и текст летят отдельными сообщениями.
Лимит обычного сообщения - 4096 символов. Пришлось писать функцию, которая режет длинные тексты на куски. Потому что если попросить нейросеть сделать глубокий разбор, она сделает. Очень глубокий. Стесняться не будет.
MVP из трёх разделов собрался недели за две вечеров после работы. Скинул друзьям, все поржали, погоняли своих котов по гороскопам, наделали скринов в чатики. Задачу "сделать по приколу" я выполнил и вроде как мог на этом успокоиться.
Что пошло не по плану (в хорошем смысле)
После первых тестов на друзьях стало ясно: заходит сильнее, чем я рассчитывал для шутки на один вечер. Реакции были не вежливое "прикольно", а реальные пересылки друг другу и переспросы "а ещё что умеет". Один раз мне даже отзыв прилетел настолько неожиданно тёплый, что я сам сидел и хлопал глазами - не буду сейчас в это углубляться, но именно тогда я понял, что делаю не игрушку, а вещь, которая может реально откликаться, если её увидит кто-то за пределами моего круга общения. И решил не останавливаться на трёх разделах.
Вот с чем бот живёт сейчас, коротко и по делу.
Гороскоп со всеми надстройками
Не просто "сегодня твой кот энергичен". Тут и фаза луны, и транзит дня, и натальная карта, разложенная на здоровье, привязанность, характер и комфорт, и отдельно прогнозы на неделю, месяц и вообще год вперёд. До пяти питомцев на одном тарифе, если у вас дома целый зверинец.
Таро с авторскими картами
Своя колода, свои картинки, не стоковые каких полно в интернете. Можно вытянуть просто карту дня, а можно устроить расклад "Две ситуации": описываешь дилемму, например мыть кота сейчас или он меня сначала прикопает, и бот раскладывает карты на оба варианта с процентами вероятности исхода. Люди этот расклад обожают именно из-за цифр, воспринимают почти как игру.
Нумерология и матрица судьбы
Числа судьбы питомца, разбор имени, кармические задачи. Звучит как полная эзотерика, но людям заходит именно как повод посмотреть на своего зверя под неожиданным углом.
Питомец говорит
Моя личная любимая фича, и у друзей, которые пробовали бота, она стабильно вызывает больше всего восторга. Питомец отвечает на вопросы от первого лица. Спрашиваешь кота, почему он орёт в четыре утра, получаешь ответ в его стиле, обычно с той же наглостью, с которой он это делает в реальности. Тот самый раздел, ради которого стоит один раз попробовать самому.
Мистический паспорт
Загружаешь фото своего питомца, нейросеть рисует стилизованный мистический портрет, а бот собирает документ: знак зодиака, характер, суперсила, счастливые числа. Выглядит как аттестат из Хогвартса, только на кота. Те несколько человек, кто его сделал, пересылали результат друзьям сами, без единой просьбы с моей стороны - самый живой органический отклик, который у меня вообще был на этот проект.
Совместимость с хозяином и раздел для будущих владельцев
Отдельно смотрит связь между вами и питомцем, отдельно есть раздел для тех, кто зверя ещё не завёл: подбор породы под характер и знак зодиака хозяина, имена-амулеты. Плюс есть астро-ветеринар с дисклеймером капслоком, что это ни в коем случае не замена настоящему врачу, просто мягкая эзотерическая подсказка, когда присмотреться повнимательнее.
Половина всей этой работы, кстати, легла не на код, а на промпты. Наивное "напиши гороскоп для кота" выдаёт водянистую жижу из общих слов, которую и читать скучно. Рабочий промпт учитывает вид, породу, возраст, пол и характер, и отдельно запрещает нейросети канцелярит и сюсюканье.
Пока всё это росло, происходила ещё одна вещь, о которой я вообще молчал первые пару месяцев - слишком стрёмно было признаться даже самому себе.
Кодовая база растёт как снежный ком
Пока я добавлял разделы, файл bot.ts потихоньку раздувался. Сейчас в нём больше девяти тысяч строк. В одном файле, да. Знаю, что пора резать на модули, знаю про архитектуру, но пока не тороплюсь: оно работает, я один, а кто вайб-кодил, тот в курсе - попроси нейросеть отрефакторить всё разом, и она сломает всё разом, честно и добросовестно.
Ещё бот научился жить своей жизнью без моего участия. Утром сам пишет, как дела у питомца по звёздам и какая фаза луны. Пара друзей, кто включил утренний пуш, говорят, это стало их ритуалом с первой чашкой кофе. Пару раз в неделю предлагает оценить, как прошёл день у зверя, из этих оценок складывается что-то вроде дневника. Мелочь на первый взгляд, а именно из-за неё те немногие, кто пользуется регулярно, возвращаются в бот снова.
К этому моменту я уже понимал, что просто "прикольным ботом" это не назовёшь. И тут подвернулась история, из-за которой пришлось резко ускориться.
Как я за день переехал в MAX
А вот история, за которую мне до сих пор немного смешно.
Читаю новости про мессенджер MAX и думаю: а ведь там сейчас практически нет ботов. В Telegram миллион всего, конкуренция дикая, а тут поле чистое. Аудитория растёт, а сервисов кот наплакал. Каламбур случайный, но пусть остаётся.
Решил попробовать перенести бота. Заложил на это неделю: другая платформа, другое API, наверняка миллион отличий.
Открыл документацию MAX для разработчиков, почитал, хмыкнул. API там по духу очень похоже на телеграмное: те же сообщения, те же кнопки, те же обновления. Не один в один, но логика родная.
Дальше сделал то, за что профессиональные программисты меня бы точно осудили, а те, кто уже вайб-кодил, поймут и поддержат. Скормил Cursor документацию MAX и сказал: вот мой бот для Telegram, вот доки, сделай слой, который переводит одно в другое. Сам сел рядом ревьюить и тестить каждый шаг.
К обеду отвечал гороскоп. К вечеру работали Таро с картинками и матрица судьбы. Ночью добил профили питомцев и лёг спать с рабочим ботом сразу на двух платформах.
Один день. Закладывал неделю, а ушёл один день, и большую часть этого дня я не писал код руками, а гонял бота на телефоне и объяснял нейросети, что именно сломалось.
Не буду врать, что совсем без танцев с бубном: где-то форматирование текста отличалось, где-то картинки отдавались иначе. Но по меркам "перенести живой продукт на другую платформу за один вечер без профильного образования" это было неприлично быстро.
Зачем мне это. В Telegram я один из тысяч ботов. В MAX ботов пока можно пересчитать по пальцам, а люди туда приходят каждый день. Быть одним из первых на новой площадке приятнее, чем толкаться локтями на переполненной. Выстрелит или нет, посмотрим, но входной билет обошёлся в один вечер работы, грех было не купить.
Если вдруг любопытно, как это выглядит вживую
Понимаю, что читать про фичи и видеть их своими глазами - разные вещи. Если кому-то станет интересно, как бот отвечает конкретно на его случай, можно в комментариях написать данные питомца: имя, дату рождения, породу, при желании фото. И указать, что хочется посмотреть - гороскоп, паспорт, разбор имени, что угодно из перечисленного выше.
Если будет время и найдётся, у кого спросить, отвечу прямо в комментариях тем, что выдал бот. Без обязательств с обеих сторон, просто если кому-то реально любопытно, а не просто чтобы почитать пост.
Заодно любопытно: если бы ваш питомец вдруг заговорил человеческим голосом на пять минут, что бы он сказал первым делом? Пишите версии в комментариях, самые злые точно наберут плюсов.
Честная концовка
По законам жанра тут должен быть блок "ПЕРЕХОДИ ПО ССЫЛКЕ ЖМИ КОЛОКОЛЬЧИК". Его не будет, я сам такое ненавижу, и Пикабу за такое справедливо предаёт анафеме.
Скажу как есть. Сервер оплачиваю со своей зарплаты. Команды нет, инвесторов нет, есть я без диплома айтишника, Cursor и много вечеров после основной работы.
И ещё скажу как есть, без прикрас: пока бота видели в основном мои друзья и подписчики пары небольших телеграм-каналов, куда я его закидывал. Кто-то залипает на пару часов, а кто-то жмёт старт и не идёт дальше - подача явно ещё сырая, и я до конца не понимаю, где именно теряю людей. Так что этот пост не итог большого успеха, а скорее первая настоящая проверка: зайдёт идея кому-то за пределами моего же круга общения или нет.
Верю ли я сам в астрологию? Нет. Но даже на том небольшом числе людей, кто успел попробовать, я видел, что для кого-то это не просто развлечение на пять минут, а маленький повод улыбнуться или посмотреть на своего зверя иначе. Мне этого достаточно, чтобы продолжать пилить, даже когда мотивация иногда проседает.
Если у вас есть пушистый, пернатый или чешуйчатый друг и после всего написанного стало любопытно, что бот скажет конкретно про вашего зверя - пишите в комментариях, разберём там же. А если просто есть мысли или вопросы по инженерной части, тоже с удовольствием отвечу: где не хватает кнопки Назад, где текст суховат, где девять тысяч строк в одном файле это уже перебор. Последнее я и сам знаю, но выслушаю ещё раз.
Бот называется "Астро Лапки", есть в Telegram и в MAX, для тех, кому интересно посмотреть самостоятельно.
Спасибо, что дочитали такую простыню. Обнимите своих котов. И собак. Хомяков тоже можно, только аккуратно.