<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Данила 🇷🇺</title><generator>teletype.in</generator><description><![CDATA[Данила 🇷🇺]]></description><image><url>https://img2.teletype.in/files/5a/c8/5ac8b9e9-15ae-4858-bbc8-d914d6712c1c.png</url><title>Данила 🇷🇺</title><link>https://teletype.in/@applabs</link></image><link>https://teletype.in/@applabs?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=applabs</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/applabs?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/applabs?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Sun, 11 Oct 2026 21:51:14 GMT</pubDate><lastBuildDate>Sun, 11 Oct 2026 21:51:14 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@applabs/SonnikProBot</guid><link>https://teletype.in/@applabs/SonnikProBot?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=applabs</link><comments>https://teletype.in/@applabs/SonnikProBot?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=applabs#comments</comments><dc:creator>applabs</dc:creator><title>Сонник-бот без мистики: как мы собрали продукт, который реально удобен</title><pubDate>Sun, 01 Feb 2026 12:09:56 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/1f/a8/1fa89cd2-1ad3-4b2b-8584-2ee1e3fa9f8d.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/aa/f8/aaf8a906-ed71-41ad-8a7a-2ef5af9aaa1e.png"></img>Сделал бота для толкования снов @SonnikProBot. Не “магический шар”, не “предсказатель судьбы”, а инструмент, который помогает понятно и бережно интерпретировать сон в нужной подаче — без запугивания, диагнозов и “фатальных пророчеств”.]]></description><content:encoded><![CDATA[
  <figure id="Futq" class="m_column">
    <img src="https://img3.teletype.in/files/aa/f8/aaf8a906-ed71-41ad-8a7a-2ef5af9aaa1e.png" width="1536" />
    <figcaption><a href="https://t.me/SonnikProBot?start=link_GZ5zXNxRhE" target="_blank">@SonnikProBot</a></figcaption>
  </figure>
  <p id="jXx2">Сделал бота для толкования снов <a href="https://t.me/SonnikProBot?start=link_GZ5zXNxRhE" target="_blank">@SonnikProBot</a>. Не “магический шар”, не “предсказатель судьбы”, а инструмент, который помогает <strong>понятно и бережно</strong> интерпретировать сон в нужной подаче — без запугивания, диагнозов и “фатальных пророчеств”.</p>
  <p id="FPG3">Главная цель была простая: <strong>чтобы работало стабильно</strong>.</p>
  <p id="mBxE">Без артефактов, без “сломанных” сообщений в Telegram, без ситуаций, когда вместо сна улетает ссылка на файл или ответ превращается в нечитаемый лог.</p>
  <h3 id="5R2r"><strong>Вход: текст или голос</strong></h3>
  <figure id="Wjv0" class="m_column">
    <img src="https://img4.teletype.in/files/b4/23/b423ff5a-aa8d-4b02-ac2d-6f40fcb179a1.png" width="1618" />
    <figcaption>Выбор ввода сна текстом или через голосовой черновик</figcaption>
  </figure>
  <h4 id="GWPX"><strong>✍️ Текстовый сон</strong></h4>
  <p id="SSJV">Обычный сценарий: пользователь пишет сон — получает толкование.</p>
  <h4 id="ds4d"></h4>
  <figure id="65dO" class="m_column">
    <img src="https://img3.teletype.in/files/2a/07/2a0796c3-0138-4dcd-8edc-0bfa28d837b8.png" width="1614" />
  </figure>
  <figure id="FFEY" class="m_column">
    <img src="https://img3.teletype.in/files/2c/0e/2c0ea1b3-aec3-4015-98f5-4cf203e062ce.png" width="1620" />
  </figure>
  <p id="VDq5"><strong>🎙 Голосовой черновик </strong></p>
  <p id="hXyx">Один из самых любимых сценариев: человек <strong>диктует сон голосом</strong>, бот:</p>
  <ol id="Vip6">
    <li id="kLL6">забирает аудиофайл,</li>
    <li id="QDsN">расшифровывает речь,</li>
    <li id="jMV3">делает толкование уже по тексту.</li>
  </ol>
  <p id="Tvhk">Это решает две боли сразу:</p>
  <ul id="7hgB">
    <li id="9IPj">длинные сны проще наговорить, чем печатать,</li>
    <li id="nLpY">“черновики” можно отправлять сразу после пробуждения.</li>
  </ul>
  <p id="uWpM"><strong>Критичный момент: чтобы везде уходил именно текст сна</strong></p>
  <p id="nb2v">Когда сон записан голосом, в системах часто хранится <strong>file_id</strong> (или ссылка на файл), а не сам текст.</p>
  <p id="1Syx">И вот тут появляется типичный баг: пользователь меняет стиль или просит расширенное толкование — а туда уходит <strong>не сон</strong>, а <strong>идентификатор аудио</strong>.</p>
  <p id="tLP0">Закрыл это просто и надежно: после транскрибации бот <strong>перезаписывает переменную сна текстом</strong>.</p>
  <p id="hK9S">Дальше любые флоу (смена стиля, расширенный разбор, повторный разбор) работают с <strong>нормальным текстом</strong>, а не с “AwACAgIAAx…”.</p>
  <figure id="6IiF" class="m_column">
    <img src="https://img3.teletype.in/files/64/93/64938c4d-230d-4518-9166-6fd00c559cf7.png" width="1614" />
    <figcaption>Меню выбора стиля сна по умолчанию</figcaption>
  </figure>
  <h3 id="yfQl"><strong>Смена стиля: зачем вообще это нужно</strong></h3>
  <p id="Lozx">Один и тот же сон можно трактовать по-разному — и это не “игра в слова”, а реально разные задачи.</p>
  <p id="BB2a">🎭 <strong>Смена стиля</strong> — это повторный разбор того же сна в другой подаче, без сравнения с прошлым ответом.</p>
  <ul id="ra7i">
    <li id="ppv6"><strong>🧠 Психологический</strong> — про эмоции, потребности, внутренние конфликты, триггеры.</li>
    <li id="5XSk"><strong>📜 Классический сонник</strong> — символика “как в сонниках”, но без фатализма.</li>
    <li id="orJx"><strong>🧩 Практичный</strong> — выводы и действия: что сделать/заметить/изменить.</li>
    <li id="Uo7u"><strong>⚡ Коротко</strong> — 3–5 тезисов, без воды.</li>
  </ul>
  <p id="WTgX">Пользователь выбирает под задачу: “понять чувства”, “увидеть символы”, “получить шаги”, “быстро прочитать”.<br /><br />💡 <strong>Как это устроено по доступу</strong></p>
  <p id="RHHj">Для пользователей без подписки стиль толкования по умолчанию — <strong>📜 Классический</strong>, и менять стиль по умолчанию в профиле нельзя. При этом сменить стиль всё равно можно — <strong>в расширенном толковании</strong> или <strong>как отдельной дополнительной услугой</strong>.</p>
  <p id="IXRY">Пользователи с подпиской могут <strong>менять стиль толкования по умолчанию прямо в профиле</strong> — и получать ответы сразу в выбранной подаче.</p>
  <figure id="Pylf" class="m_column">
    <img src="https://img3.teletype.in/files/6f/21/6f21c99c-e34a-4f4c-b054-dfac39a99346.png" width="1604" />
    <figcaption>Выбор стиля толкования конкретного сна или применение расширенного толкования сна</figcaption>
  </figure>
  <h3 id="qLSv"><strong>Расширенное толкование: когда нужно глубже</strong></h3>
  <p id="MfnT">Иногда базового ответа мало — хочется:</p>
  <ul id="qLeI">
    <li id="iX0j">больше деталей,</li>
    <li id="oJvr">больше связей,</li>
    <li id="bUTQ">более точные формулировки,</li>
    <li id="w5SX">больше практических выводов.</li>
  </ul>
  <p id="DseH">Для этого есть режим <strong>“Сделать точнее”</strong> (расширенное толкование).</p>
  <p id="NdjU">Он не превращает ответ в “простыню ради простыни” — он делает разбор <strong>более насыщенным и полезным</strong>.</p>
  <h3 id="Mafp"><strong>Про скорости</strong></h3>
  <p id="wMvn">Обычно первичное толкование приходит очень быстро: даже если сон надиктован голосом (до ~5 минут), полный цикл “получили аудио → расшифровали → сделали разбор” занимает примерно <strong>30–60 секунд</strong>.</p>
  <p id="4tDR">Расширенное толкование чуть тяжелее по вычислениям — обычно <strong>60–90 секунд</strong>. Иногда может быть дольше, если много запросов одновременно, но в целом ответы приходят почти сразу.</p>
  <h3 id="uiZu"></h3>
  <p id="IfSp"><strong>Подписки и покупки: чтобы подходило всем</strong></p>
  <p id="2qGz">Я не стал делать “только подписка”. У людей разный стиль использования.</p>
  <p id="xMVW">🧩 <strong>Разовые/пакетные покупки</strong> — для тех, кто приходит редко или не хочет подписку.</p>
  <p id="UIKs">💎 <strong>Подписка PRO</strong> — для тех, кто хочет “без ограничений”.</p>
  <p id="gOC6">Отдельно: <strong>PRO 199</strong> даёт то, что реально меняет опыт — <strong>голос</strong> и <strong>голосовые черновики</strong>.</p>
  <h3 id="Gthb"><strong>“Честная подписка”: отключил — но доступ не режется</strong></h3>
  <p id="sZlv">Частая раздражающая практика: человек отключает автопродление — и ему тут же режут доступ.</p>
  <p id="PNdO">Я сделал нормально: если подписка оплачена на период — она <strong>работает до конца срока</strong>, даже если автопродление отключили на следующий день.</p>
  <h3 id="87k6"><strong>Триал максимального тарифа за подписку на каналы</strong></h3>
  <p id="63Cu">Добавил пробный доступ к максимальному тарифу за подписку на 2 своих каналы.</p>
  <p id="nkig">Но важно было защититься от “подписался на 10 секунд — получил триал”.</p>
  <p id="g8Wn">Поэтому:</p>
  <p id="OgPE">✅ подписка на каналы даёт триал</p>
  <p id="3Y5q">⛔ выход из канала — <strong>триал блокируется</strong></p>
  <p id="fIsZ">Это честно: триал как бонус за поддержку, а не как лазейка.</p>
  <p id="n9dK"><strong>Большой FAQ: закрываем вопросы до того, как их зададут</strong></p>
  <p id="hPQR">Сделал расширенный FAQ, который закрывает типовые “почему / как / что будет если”:</p>
  <ul id="HrGr">
    <li id="chPr">как работает стиль и чем они отличаются</li>
    <li id="pvTz">что делать, если сон короткий или “непонятный”</li>
    <li id="TmxM">как работает голос и почему иногда нужно говорить чуть ближе к микрофону</li>
    <li id="fpOT">как работает подписка и продление</li>
    <li id="tKRk">что будет при отключении автоплатежа</li>
    <li id="yG4o">что делать при ошибке списания</li>
    <li id="XkO5">как получить триал и почему он блокируется при выходе из каналов</li>
    <li id="Wny3">и т.д.</li>
  </ul>
  <p id="5KkJ">Это уменьшает поддержку и делает продукт “самообъясняющимся”, в планах подключить Ai ассистента, как только соберется база вопросов от реальных пользователей, на которой его можно будет обучить.</p>
  <p id="wpHn"></p>
  <h3 id="w5qY"><strong> Аналитика для админа: не “чувства”, а цифры</strong></h3>
  <p id="soAz">Я заложил большой аналитический слой:</p>
  <ul id="CHSa">
    <li id="G2nL">сколько толкований сделано (по типам/планам),</li>
    <li id="aJOP">сколько голосовых черновиков,</li>
    <li id="dKIW">сколько смен стиля,</li>
    <li id="QGpo">сколько расширенных толкований,</li>
    <li id="rApG">конверсии в подписку и удержание,</li>
    <li id="6g43">причины отвалов (где ломается сценарий),</li>
    <li id="m7UM">и другие метрики.</li>
  </ul>
  <p id="s8dB">Это помогает улучшать продукт не “на глаз”, а по факту.</p>
  <p id="SkfA"><strong>В основе бота — связка <a href="https://puzzlebot.top/?r=JgMGiXBS" target="_blank">PuzzleBot</a> + n8n + OpenAI + Telegram + <a href="https://yookassa.ru/joinups/?source=app" target="_blank">ЮKassa</a>.</strong></p>
  <p id="HDKw"><a href="https://puzzlebot.top/?r=JgMGiXBS" target="_blank">PuzzleBot </a>отвечает за сценарии и переменные, n8n — за логику, ветвления и интеграции, OpenAI — за разбор и транскрибацию голоса, Telegram — за доставку и UX, а <a href="https://yookassa.ru/joinups/?source=app" target="_blank">ЮKassa</a> — за подписки и платежи. За счёт этого бот быстро реагирует, аккуратно форматирует ответы и стабильно отрабатывает сценарии (текст, голос, смена стиля, расширение).</p>
  <p id="GxK6"><strong>Итог</strong></p>
  <p id="scK8"> <a href="https://t.me/SonnikProBot?start=link_GZ5zXNxRhE" target="_blank">@SonnikProBot </a> — не про “вас ждёт судьбоносная встреча”.</p>
  <p id="EWUd"> <a href="https://t.me/SonnikProBot?start=link_GZ5zXNxRhE" target="_blank">@SonnikProBot</a> про нормальный пользовательский опыт: написал или наговорил сон → получил разбор → при желании переключил стиль → при желании сделал глубже → всё работает стабильно.<br /></p>

]]></content:encoded></item></channel></rss>