<?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/d6/a7/d6a75c0c-6cb9-4ff6-8d15-fde9159b69d6.png</url><title>Данияр</title><link>https://teletype.in/@ecode</link></image><link>https://teletype.in/@ecode?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/ecode?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/ecode?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Sat, 10 Oct 2026 22:35:24 GMT</pubDate><lastBuildDate>Sat, 10 Oct 2026 22:35:24 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@ecode/-Cgdmkpgubl</guid><link>https://teletype.in/@ecode/-Cgdmkpgubl?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode</link><comments>https://teletype.in/@ecode/-Cgdmkpgubl?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode#comments</comments><dc:creator>ecode</dc:creator><title>Как усилить защиту в MINI-APP на PuzzleBot</title><pubDate>Tue, 15 Sep 2026 22:22:10 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/97/ce/97ce84d8-ca33-4522-8de1-7d72b2df5043.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/0d/64/0d647126-2bcc-4d2a-8bdb-a8011968bacd.png"></img>Расскажу, как добавить скрипт прямо в HTML-блок бота на конструкторе PuzzleBot — для чего это, чем поможет и насколько сложно реализовать.]]></description><content:encoded><![CDATA[
  <p id="qcvi">Расскажу, как добавить скрипт прямо в HTML-блок бота на конструкторе <a href="https://puzzlebot.top/?r=rB3aRYGL" target="_blank">PuzzleBot </a>— для чего это, чем поможет и насколько сложно реализовать.</p>
  <figure id="4WY5" class="m_column">
    <img src="https://img1.teletype.in/files/0d/64/0d647126-2bcc-4d2a-8bdb-a8011968bacd.png" width="3240" />
  </figure>
  <p id="maub"><strong>Зачем это нужно:</strong></p>
  <p id="k4Hb">Биометрическая авторизация — это дополнительный уровень защиты вашего Mini App. Даже если кто-то получит доступ к чужому Telegram, он не сможет открыть приложение без Face ID или отпечатка пальца. Это особенно важно, если внутри есть личный кабинет, баланс, персональные данные или платёжные функции.</p>
  <p id="dk7B">Плюсы:</p>
  <ul id="YIVn">
    <li id="W0kX">Защита от несанкционированного доступа</li>
    <li id="SYPz">Вау-эффект при входе — выглядит современно и технологично</li>
    <li id="hwGP">Работает на iOS (Face ID) и Android (отпечаток пальца)</li>
    <li id="cucE">Не требует серверов и сложного кода</li>
  </ul>
  <p id="rGuo">Сложность: минимальная. Нужно скопировать готовый скрипт и вставить в HTML-блок.</p>
  <p id="y6vt"><strong>1. Клонируем Mini App</strong></p>
  <p id="DfZk">Чтобы реализовать функцию, клонируйте главное Mini App. Это нужно, чтобы создать эффект: пользователь видит размытый фон с элементами главной страницы, проходит биометрию и только потом попадает в основное приложение.</p>
  <p id="b2NM">Клон используется только для первого открытия — именно сюда ведёт кнопка входа в боте. Face ID спрашивается один раз, при входе. Дальше пользователь попадает в основное Mini App и при переходах между страницами биометрия больше не запрашивается.</p>
  <p id="TJLi"><strong>2. Добавляем HTML-блок</strong></p>
  <p id="8Jtf">В клонированном Mini App добавьте последним блоком <strong>HTML-блок</strong> и вставьте скрипт ниже.</p>
  <p id="aQPJ"><code>&lt;script src=&quot;<a href="https://cdn.tailwindcss.com" target="_blank">https://cdn.tailwindcss.com</a>&quot;&gt;&lt;/script&gt; &lt;link rel=&quot;stylesheet&quot; href=&quot;<a href="https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/regular/style.css" target="_blank">https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/regular/style.css</a>&quot;&gt; &lt;link rel=&quot;stylesheet&quot; href=&quot;<a href="https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/fill/style.css" target="_blank">https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/fill/style.css</a>&quot;&gt; &lt;link href=&quot;<a href="https://fonts.googleapis.com/css2?family=Unbounded:wght@200;300;400&display=swap" target="_blank">https://fonts.googleapis.com/css2?family=Unbounded:wght@200;300;400&amp;display=swap</a>&quot; rel=&quot;stylesheet&quot;&gt; &lt;style&gt; * { font-family: &#x27;Unbounded&#x27;, sans-serif; font-weight: 300; margin: 0; padding: 0; box-sizing: border-box; } #biometric-overlay { position: fixed; inset: 0; z-index: 9999; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); background: rgba(4, 16, 31, 0.5); display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 0 24px 12vh; text-align: center; color: #fff; transition: opacity 0.5s ease; } #biometric-overlay.hidden { opacity: 0; pointer-events: none; } .icon-block { margin-bottom: 32px; } .text-block { display: flex; flex-direction: column; align-items: center; } .loader { width: 20px; height: 20px; border: 2px solid rgba(129, 169, 255, 0.3); border-top-color: #81a9ff; border-radius: 50%; animation: spin 0.8s linear infinite; margin-top: 20px; } @keyframes spin { to { transform: rotate(360deg); } } &lt;/style&gt; &lt;div id=&quot;biometric-overlay&quot;&gt; &lt;div id=&quot;icon&quot; class=&quot;icon-block text-6xl text-[#81a9ff]&quot;&gt; &lt;i class=&quot;ph ph-lock&quot;&gt;&lt;/i&gt; &lt;/div&gt; &lt;div class=&quot;text-block&quot;&gt; &lt;h1 id=&quot;title&quot; class=&quot;text-xl font-light mb-2&quot;&gt;Проверка личности&lt;/h1&gt; &lt;p id=&quot;subtitle&quot; class=&quot;text-sm text-white/60 font-light&quot;&gt;Подтвердите вход&lt;/p&gt; &lt;div class=&quot;loader&quot; id=&quot;loader&quot;&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;script&gt; Telegram.WebApp.ready(); Telegram.WebApp.expand(); const overlay = document.getElementById(&#x27;biometric-overlay&#x27;); const icon = document.getElementById(&#x27;icon&#x27;); const title = document.getElementById(&#x27;title&#x27;); const subtitle = document.getElementById(&#x27;subtitle&#x27;); const loader = document.getElementById(&#x27;loader&#x27;); const biometrics = &#x27;{{biometrics}}&#x27;; const platform = Telegram.WebApp.platform; const isDesktop = platform === &#x27;tdesktop&#x27; || platform === &#x27;web&#x27; || platform === &#x27;weba&#x27;; const methodName = platform === &#x27;ios&#x27; ? &#x27;Face ID&#x27; : &#x27;Отпечаток пальца&#x27;; subtitle.innerText = &#x27;Подтвердите вход с помощью &#x27; + methodName; if (biometrics !== &#x27;on&#x27; || isDesktop) { gotoWebPage(&#x27;92b067dfff43e54e&#x27;); } else { Telegram.WebApp.BiometricManager.init(() =&gt; { const available = Telegram.WebApp.BiometricManager.isBiometricAvailable; if (!available) { gotoWebPage(&#x27;92b067dfff43e54e&#x27;); return; } Telegram.WebApp.BiometricManager.requestAccess( { reason: &quot;Подтвердите личность для входа&quot; }, (granted) =&gt; { if (!granted) { showError(&#x27;Доступ отклонён&#x27;, &#x27;Вы отклонили запрос&#x27;); return; } Telegram.WebApp.BiometricManager.authenticate( { reason: &quot;Вход в приложение&quot; }, (success) =&gt; { if (success) { showSuccess(); } else { showError(&#x27;Ошибка входа&#x27;, &#x27;Аутентификация не пройдена&#x27;); } } ); } ); }); } function showSuccess() { icon.className = &#x27;icon-block text-6xl text-[#4ade80]&#x27;; icon.innerHTML = &#x27;&lt;i class=&quot;ph-fill ph-lock-open&quot;&gt;&lt;/i&gt;&#x27;; title.innerText = &#x27;Доступ разрешён&#x27;; subtitle.innerText = &#x27;Перенаправление...&#x27;; loader.style.display = &#x27;none&#x27;; setTimeout(() =&gt; { gotoWebPage(&#x27;92b067dfff43e54e&#x27;); }, 1000); } function showError(t, s) { icon.className = &#x27;icon-block text-6xl text-[#f87171]&#x27;; icon.innerHTML = &#x27;&lt;i class=&quot;ph-fill ph-lock&quot;&gt;&lt;/i&gt;&#x27;; title.innerText = t; subtitle.innerText = s; loader.style.display = &#x27;none&#x27;; } &lt;/script&gt;<br /><br /></code><strong>Если вам не удобно скопировать скрипт тут, вы можете найти его на моем канале: </strong><a href="https://t.me/ecodetechinfo" target="_blank">https://t.me/ecodetechinfo</a></p>
  <p id="Cmzc"><strong>3. Разбираем скрипт</strong></p>
  <p id="hSV7">В строке: gotoWebPage(&#x27;92b067dfff43e54e&#x27;); вшит ID другого Mini App — того, куда происходит редирект после успешной авторизации. Ниже оставлю скриншот, где его скопировать.</p>
  <figure id="yrCJ" class="m_original">
    <img src="https://img4.teletype.in/files/fe/19/fe19349b-3106-476d-90d6-3462d3b5ec79.png" width="632" />
  </figure>
  <p id="2216"><strong>4. Переменная {{biometrics}}</strong></p>
  <p id="t8EK">В скрипте используется переменная <code>{{biometrics}}</code>. Создайте текстовую переменную с таким же названием и значением <code>on</code>.</p>
  <p id="NEMS">Вы можете самостоятельно реализовать включение и выключение Face ID в настройках Mini App:</p>
  <ul id="WKh1">
    <li id="ExFr">Добавьте форму ввода с кнопками</li>
    <li id="v6tP">Кнопка «Выключить» → меняет значение переменной на <code>off</code></li>
    <li id="Npwg">Кнопка «Включить» → возвращает <code>on</code></li>
  </ul>
  <p id="sLKe">Так пользователь сам сможет управлять биометрической защитой.</p>
  <p id="fmx8"><strong>5. Не забудьте поменять ссылку</strong></p>
  <p id="BP5U">После того как вы склонировали Mini App и вставили скрипт, обязательно поменяйте ссылку на главное приложение — то есть на это самое Mini App в вашем боте. Иначе пользователи будут попадать не туда.</p>
  <p id="DieH"><strong>Итог</strong></p>
  <p id="odqj">Вы получили:</p>
  <ul id="n0DI">
    <li id="ZVkJ">Дополнительный уровень защиты</li>
    <li id="XX5X">Современный вход по биометрии</li>
    <li id="H35P">Гибкое управление через переменную</li>
    <li id="pTOf">Всё это — без единой строчки серверного кода</li>
  </ul>
  <p id="gfYt">Если что-то осталось непонятным — пишите в комментариях, помогу разобраться.</p>
  <p id="So6e"></p>
  <figure id="syeQ" class="m_column">
    <img src="https://img2.teletype.in/files/5d/8f/5d8fe8a0-e1c3-4a67-bd44-70a706acd9df.png" width="1221" />
  </figure>
  <p id="lTmp"><strong>Подпишитесь на наш канал и получайте полезные материалы! </strong><a href="https://t.me/ecodetechinfo" target="_blank">https://t.me/ecodetechinfo</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ecode/UiDhWQuEYjl</guid><link>https://teletype.in/@ecode/UiDhWQuEYjl?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode</link><comments>https://teletype.in/@ecode/UiDhWQuEYjl?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode#comments</comments><dc:creator>ecode</dc:creator><title>Почему современный фриланс — это болото, и как мы решили это исправить через e-work.tech</title><pubDate>Mon, 11 May 2026 22:51:18 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/5b/21/5b21723e-585a-4968-975e-14730f4f80da.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/ba/61/ba617aef-3991-4650-bd7f-6aa32887a29d.png"></img>Давайте честно: фриланс в том виде, к которому мы привыкли, медленно умирает. Гиганты рынка превратились в огромные корпоративные машины, которые смотрят на нас исключительно как на источник комиссии. Заказчики мучаются с описанием задач, исполнители отдают последние деньги за «право на отклик», а в чатах за каждое упоминание стороннего мессенджера прилетает бан.]]></description><content:encoded><![CDATA[
  <figure id="GTBo" class="m_retina">
    <img src="https://img4.teletype.in/files/ba/61/ba617aef-3991-4650-bd7f-6aa32887a29d.png" width="949" />
  </figure>
  <p id="6lJG">Давайте честно: фриланс в том виде, к которому мы привыкли, медленно умирает. Гиганты рынка превратились в огромные корпоративные машины, которые смотрят на нас исключительно как на источник комиссии. Заказчики мучаются с описанием задач, исполнители отдают последние деньги за «право на отклик», а в чатах за каждое упоминание стороннего мессенджера прилетает бан.</p>
  <p id="YeBz">Мы на всё это посмотрели и решили: хватит. Мы запускаем e-work.tech. Это не просто очередная биржа, это наше видение того, как люди должны работать друг с другом в 2026 году. Без посредников, без цензуры и без грабежа.</p>
  <p id="h2EH">С чего мы начали? Мы убрали комиссии. Совсем.<br />Это была наша первая и главная идея. Мы не понимаем, почему биржа должна забирать себе 15, 20 или даже 25% от того, что человек заработал своим трудом. Это просто нечестно.</p>
  <p id="UmY2">На e-work.tech действует железное правило: 0% комиссии. Мы не лезем в ваш кошелек. Заказчик платит исполнителю напрямую — так, как им обоим удобно. Мы не «прокладка», которая держит ваши деньги у себя, пока они не обесценятся. Мы — место встречи. Вы нашли друг друга, договорились, поработали. Всё.</p>
  <p id="AeMs">Вторая беда — это «трудности перевода»<br />Каждый заказчик знает это чувство: в голове есть крутая идея, но как только садишься писать ТЗ, наступает ступор. Как всё это описать? Какие технологии выбрать? В итоге рождаются заказы в духе «сделайте мне красиво», которые заканчиваются скандалами и слитыми бюджетами.<br />Мы решили, что в 2026 году писать ТЗ вручную — это мало удобно. Поэтому мы внедрили в платформу умного ИИ-помощника.<br />Это работает максимально просто: вы пишете свои мысли как есть. Хоть одним предложением, хоть сбивчивым рассказом. Наш ИИ задает вам пару уточняющих вопросов и сам упаковывает этот поток сознания в профессиональное, структурированное ТЗ. В нем будут и цели, и функции, и даже рекомендуемые сроки.<br />Исполнитель получает четкий документ, по которому можно работать, а не гадание на кофейной гуще. И да, для всех заказчиков этот инструмент бесплатен навсегда.</p>
  <p id="hysu">Свобода общения (которой так не хватает)<br />Нас дико бесит, когда биржи следят за каждым словом в чате. «Не пиши почту!», «Не давай ссылку на соцсети!». На e-work.tech мы отказались от модерации переписки. Мы не читаем ваши сообщения и не собираемся вас ограничивать. Хотите созвониться в Telegram или встретиться в кофейне — ваше право. Мы доверяем своим пользователям и считаем их взрослыми людьми, а не нарушителями, за которыми нужен надзор.</p>
  <p id="Y3ge">Почему это работает быстро?<br />Мы не стали перегружать сайт лишним мусором. Наш технический стек заточен под скорость:<br />Бэкенд: Самый свежий PHP 8.4 — сайт просто «летает».<br />Фронтенд: Легкий и современный (Tailwind + Alpine), никакой тяжелой графики, которая грузится полчаса.</p>
  <p id="g6DS">Telegram: Мы понимаем, что все живут в мессенджерах, поэтому прикрутили бота, который мгновенно присылает уведомления о новых заказах и сообщениях. Вам не нужно обновлять страницу каждые пять минут.<br />Регистрация: Мы ценим ваше время. 40 секунд — и вы уже полноценный участник платформы. Никаких анкет и бюрократии.</p>
  <p id="3pac">Арбитраж по фактам, а не по симпатиям<br />Обычно на биржах арбитраж всегда на стороне того, кто платит деньги. Мы пошли другим путем. У нас всё строится на доказательствах. Если было четкое ТЗ (которое, кстати, помог составить наш ИИ) и оно выполнено — исполнитель прав. Если нет — правда за заказчиком. Всё прозрачно и честно.</p>
  <p id="6Sms">Зачем нам всё это?<br />Мы верим, что фриланс должен быть инструментом для жизни, а не полосой препятствий. Мы создали e-work.tech для себя и для вас — тех, кто ценит свое время, свои деньги и свободу общения.<br />Заходите, тестируйте, выкладывайте проекты. Давайте вместе строить рынок, где работают люди, а не корпорации.</p>
  <p id="vjmt"> e-work.tech</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ecode/8no9ZphBaw-</guid><link>https://teletype.in/@ecode/8no9ZphBaw-?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode</link><comments>https://teletype.in/@ecode/8no9ZphBaw-?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode#comments</comments><dc:creator>ecode</dc:creator><title>Эффект живой печати в Telegram ✍️</title><pubDate>Mon, 16 Mar 2026 15:03:55 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/41/2f/412f43ec-380e-49cf-b374-32227c695271.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/2f/b1/2fb14335-24fa-408e-a903-3f0a0baf30ab.png"></img>Хотите, чтобы ваш бот не просто выдавал готовый текст, а печатал его на глазах у пользователя? Это создаёт эффект живого общения и удерживает внимание. Ниже — полная инструкция по интеграции этой функции в PuzzleBot.]]></description><content:encoded><![CDATA[
  <h2 id="NhKf">Как добавить в своего бота функцию &quot;живой печати&quot; как у ChatGPT</h2>
  <p id="Sy7y"></p>
  <p id="vENk">Хотите, чтобы ваш бот не просто выдавал готовый текст, а печатал его на глазах у пользователя? Это создаёт эффект живого общения и удерживает внимание. Ниже — полная инструкция по интеграции этой функции в PuzzleBot.</p>
  <p id="6hfU"></p>
  <h2 id="xgi5">🚀 Пошаговая инструкция</h2>
  <h3 id="6SU6">Шаг 1. Первый запрос — черновик с эффектом печати</h3>
  <p id="wTP3"></p>
  <p id="iqfy">Добавляем в команду действие <strong>HTTP-запрос</strong>.</p>
  <p id="7UwX"><strong>Ссылка</strong>: <code>https://api.telegram.org/botТОКЕН_БОТА/sendMessageDraft </code></p>
  <p id="UqLd"><strong>Тип запроса: </strong>POST</p>
  <p id="HAVn"><strong>Вид запроса: </strong>Произвольный</p>
  <p id="Kic0"><strong>Тело запроса: </strong></p>
  <p id="bTM6"><code>{</code></p>
  <p id="Zayr"><code>&quot;chat_id&quot;: &quot; USER_ID_TEXT &quot;,</code></p>
  <p id="tks0"><code>&quot;draft_id&quot;: 777,</code></p>
  <p id="VHd2"><code>&quot;text&quot;: &quot; 🔍  Ищу информацию по вашему запросу...\n\n 🔎  Сканирую открытые источники...\n 📊  Анализирую базы данных...  ⏳ \n 🔄  Сверяю полученные данные...\n ⚡  Формирую предварительный ответ...\n\nПожалуйста, подождите немного — я обрабатываю ваш запрос.&quot;<br />}</code></p>
  <p id="RA7J"><strong>Объяснение параметров:</strong></p>
  <ul id="331B">
    <li id="Dd4e"><code>chat_id</code> — ID пользователя в Telegram (подставляется автоматически)</li>
    <li id="PmWU"><code>draft_id</code> — уникальный идентификатор черновика. <strong>Одинаковый ID</strong> в нескольких запросах заставляет Telegram обновлять одно и то же сообщение, создавая анимацию печати</li>
    <li id="uryh"><code>text</code> — текст, который увидит пользователь</li>
  </ul>
  <p id="rUXm"><strong>Заголовки:</strong></p>
  <p id="qcrW"><strong>Ключ</strong>: <code>Content-Type</code></p>
  <p id="ajTg"><strong>Значение</strong>: <code>application/json</code></p>
  <p id="2Dva"><strong>Дополнительные настройки:</strong></p>
  <ul id="4rD2">
    <li id="m1pT">Последовательность выполнения: <strong>До</strong></li>
  </ul>
  <figure id="5C5h" class="m_original">
    <img src="https://img2.teletype.in/files/54/40/54401cdc-cd9e-4bda-93a4-0c4ab7c60f45.png" width="656" />
  </figure>
  <figure id="YOsN" class="m_original">
    <img src="https://img1.teletype.in/files/c7/ff/c7ffbe70-caad-4aea-af1e-24b6f5f646fe.png" width="639" />
  </figure>
  <p id="eYnv"></p>
  <p id="bqIT"></p>
  <h3 id="UXfb">Шаг 2. Искусственная задержка (таймаут)</h3>
  <p id="nEDM">Этот запрос нужен, чтобы пользователь успел увидеть первый черновик до того, как появится финальное сообщение.</p>
  <p id="cuZh"></p>
  <p id="wrQh"><strong>Ссылка: </strong><a href="https://24applab.ru/tools/timer/timeout.php?timesecond=5" target="_blank"><code>https://24applab.ru/tools/timer/timeout.php?timesecond=5</code></a></p>
  <p id="Wbok"><strong>Тип запроса: </strong>GET<br /></p>
  <p id="CbRb"><strong>Дополнительные настройки:</strong></p>
  <ul id="9PuC">
    <li id="zsCm">Последовательность выполнения: <strong>После</strong></li>
  </ul>
  <p id="eJgm"><strong>Объяснение:</strong><br />Второй запрос создаёт искусственную паузу. Без неё третий запрос выполнится мгновенно, и пользователь не увидит анимацию печати.<br />👉 <strong>Подберите время</strong> (<code>timesecond=5</code>) под длину вашего текста. Для текста выше достаточно 4–5 секунд.</p>
  <figure id="szeV" class="m_original">
    <img src="https://img1.teletype.in/files/4c/ef/4cef7e4d-912e-451f-ad7e-8607327f74d4.png" width="636" />
  </figure>
  <h3 id="evsr">Шаг 3. Финальное сообщение (с кнопкой и сохранением в чате)</h3>
  <p id="Mb1Q"></p>
  <p id="FXjg">Теперь отправляем <strong>обычное сообщение</strong>, которое останется в истории чата навсегда.</p>
  <p id="NSnh"><strong>Ссылка: </strong><code><a href="https://api.telegram.org/bot" target="_blank">https://api.telegram.org/bot</a>ТОКЕН_БОТА/sendMessage</code></p>
  <p id="kpY6"><strong>Тип запроса: </strong>POST</p>
  <p id="0rvx"><strong>Вид запроса: </strong>Произвольный</p>
  <p id="129H"><strong>Тело запроса: <br /></strong></p>
  <p id="7ZmN"><code>{</code></p>
  <p id="Z46B"><code>&quot;chat_id&quot;: &quot; USER_ID_TEXT &quot;,</code></p>
  <p id="oJ6Y"><code>&quot;draft_id&quot;: 777,</code></p>
  <p id="b4Kr"><code>&quot;text&quot;: &quot; 🔍  Ищу информацию по вашему запросу...\n\n 🔎  Сканирую открытые источники...\n 📊  Анализирую базы данных...  ⏳ \n 🔄  Сверяю полученные данные...\n ⚡  Формирую предварительный ответ...\n\nПожалуйста, подождите немного — я обрабатываю ваш запрос.&quot;,</code></p>
  <p id="XWrD"><code>&quot;reply_markup&quot;: {</code></p>
  <p id="fuSk"><code>&quot;inline_keyboard&quot;: [</code></p>
  <p id="ZPIu"><code>[</code></p>
  <p id="FJQ9"><code>{</code></p>
  <p id="5BJi"><code>&quot;text&quot;: &quot;Название кнопки&quot;,</code></p>
  <p id="OdiP"><code>&quot;callback_data&quot;: &quot;Название команды&quot;</code></p>
  <p id="oEzR"><code>}</code></p>
  <p id="nvNY"><code>]</code></p>
  <p id="rwmb"><code>]</code></p>
  <p id="XRGh"><code>}</code></p>
  <p id="uaVZ"><code>}</code></p>
  <p id="MAmM"><strong>Объяснение параметров:</strong></p>
  <ul id="VMmw">
    <li id="AZfZ"><code>chat_id</code> — ID пользователя</li>
    <li id="0ypO"><code>text</code> — финальный текст (можно изменить, добавив ✅ вместо ⏳)</li>
    <li id="tdCl"><code>reply_markup</code> — объект, отвечающий за кнопки под сообщением</li>
    <li id="5p7i"><code>inline_keyboard</code> — массив кнопок (можно добавить несколько рядов)</li>
    <li id="d6r4"><code>text</code> (внутри кнопки) — надпись на кнопке</li>
    <li id="z5mY"><code>callback_data</code> — данные, которые бот получит при нажатии (используйте для создания обработчика)</li>
  </ul>
  <p id="9iIW"><strong>Заголовки:</strong></p>
  <p id="1oay"><strong>Ключ</strong>: <code>Content-Type</code></p>
  <p id="XfZW"><strong>Значение</strong>: <code>application/json</code></p>
  <p id="a0JB"><strong>Дополнительные настройки:</strong></p>
  <ul id="WnGF">
    <li id="4DOF">Последовательность выполнения: <strong>После</strong></li>
  </ul>
  <figure id="u7Zf" class="m_original">
    <img src="https://img4.teletype.in/files/b3/9e/b39eab66-70ed-4da0-830b-5eaea7c0bf67.png" width="653" />
  </figure>
  <figure id="tVmQ" class="m_original">
    <img src="https://img3.teletype.in/files/e3/fd/e3fdcbb8-ed49-4a7c-95b3-d1f087765ca4.png" width="645" />
  </figure>
  <h2 id="ZOzi">⚠️ ВАЖНО: Почему текст в первом и третьем запросе должен быть одинаковым?</h2>
  <p id="BdME"></p>
  <p id="ZG84">Если вы используете <strong>один и тот же текст</strong> в черновике и финальном сообщении, создаётся плавный эффект: пользователь видит, как бот &quot;допечатывает&quot; последние слова, и сообщение будто бы превращается в итоговое.</p>
  <p id="LD1k">Если текст будет разным — анимация будет дёрганой, и пользователь заметит &quot;склейку&quot;.</p>
  <p id="1GSD">👉 <strong>Совет:</strong> в финальном сообщении можно заменить ⏳ на ✅, чтобы показать завершение процесса, но основную структуру текста лучше сохранить.</p>
  <p id="bxB6"></p>
  <h2 id="ODMn">✅ Результат</h2>
  <p id="n0BX">Ваш бот теперь:</p>
  <ol id="lcCq">
    <li id="41vD"><strong>Выводит текст с эффектом набора</strong> (благодаря <code>sendMessageDraft</code>)</li>
    <li id="oInZ"> В конце <strong>оставляет в чате готовое сообщение с кнопкой</strong> (благодаря <code>sendMessage</code>)</li>
  </ol>
  <p id="Ggwl">Это выглядит максимально естественно и современно!</p>
  <p id="SV3K"></p>
  <h2 id="jZbh">📌 Примечания</h2>
  <ul id="vADm">
    <li id="pUrC">Не забудьте заменить <code>ТОКЕН_БОТА</code> на реальный токен вашего бота</li>
    <li id="N36N"><code>draft_id</code> должен быть уникальным для каждой цепочки сообщений (используйте 777, 778, 779...)</li>
    <li id="AY5U">Метод <code>sendMessageDraft</code> работает только в <strong>личных чатах</strong></li>
    <li id="yqu5">Если нужно отправить файл — используйте <code>sendDocument</code>, <code>sendPhoto</code> и т.д. (через обычный <code>sendMessage</code> это не работает)</li>
  </ul>
  <p id="UMeu"></p>
  <h2 id="oPkA">Нужна помощь в настройке?</h2>
  <p id="9CJg">Подписывайтесь на наш Telegram-канал <a href="https://t.me/ecodetechinfo" target="_blank">@ecodetechinfo</a>, где мы регулярно публикуем новые руководства, обновления и лучшие практики по созданию и монетизации Telegram-ботов.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ecode/yHWtNjmLKEH</guid><link>https://teletype.in/@ecode/yHWtNjmLKEH?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode</link><comments>https://teletype.in/@ecode/yHWtNjmLKEH?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode#comments</comments><dc:creator>ecode</dc:creator><title>ТОП-40 РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ</title><pubDate>Tue, 24 Feb 2026 19:29:25 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/a6/8a/a68a3fa8-828b-4473-b33c-05bb6904fe5e.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/86/f6/86f66e8e-bd29-4e8e-8d07-99488da33843.png"></img>Подойдет и для мини-приложений, и для простых форм ввода]]></description><content:encoded><![CDATA[
  <h3 id="0eFN">Для блока &quot;Формы ввода&quot; в <a href="https://puzzlebot.top/?r=rB3aRYGL" target="_blank">PuzzleBot</a></h3>
  <p id="UeA3"><em>Подойдет и для мини-приложений, и для простых форм ввода</em></p>
  <p id="QBtY"></p>
  <h3 id="h7ts">🤔 <strong>Что такое регулярное выражение?</strong></h3>
  <p id="gVFB">В <a href="https://puzzlebot.top/?r=rB3aRYGL" target="_blank">PuzzleBot </a>есть несколько <strong>способов</strong> проверить ответ пользователя:</p>
  <p id="7gsI"><strong>1️⃣ Через команду «Условие»</strong> — вы создаете отдельную ветку логики</p>
  <p id="Orcd"><strong>2️⃣ Через формулу в самом блоке «Форма ввода»</strong> — самый удобный способ! ✅</p>
  <p id="VFic">👉 Вы задаете жесткие условия с помощью регулярного выражения, и система автоматически проверяет ответ:</p>
  <ul id="a7cj">
    <li id="GYyU">✔️ Если всё верно — пользователь проходит дальше</li>
    <li id="YGxw">❌ Если ошибка — бот попросит ввести ответ заново</li>
  </ul>
  <p id="1zaA"></p>
  <p id="siPv"><strong>1. Дата в формате ДД.ММ.ГГГГ </strong><br /><strong>Формула:</strong> <code>^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.(19|20)\d{2}$</code><br /><strong>Примечание:</strong> Идеально для дней рождения. Проверяет не только формат, но и корректность месяца (01-12)</p>
  <p id="53BY"><strong>2. Номер телефона (Россия) </strong><br /><strong>Формула:</strong> <code>^(\+7|8)?[\s-]?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{2}[\s-]?\d{2}$</code><br /><strong>Примечание: </strong>Приводит номера +7 (999) 123-45-67, 89991234567 к единому проверенному формату</p>
  <p id="Mv5w"><strong>3. Email-адрес (универсальный)</strong><br /><strong>Формула:</strong> <code>^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$</code><br /><strong>Примечание:</strong> Базовая проверка, что введенная строка похожа на email (содержит @ и точку после домена).</p>
  <p id="9Zoy"><strong>4. ФИО (только русские буквы и пробелы)</strong><br /><strong>Формула:</strong> <code>^[А-ЯЁ][а-яё]+(?:\s[А-ЯЁ][а-яё]+)+$</code><br /><strong>Примечание:</strong> Требует как минимум два слова с заглавной буквы. Отлично подходит для «Иванов Иван Петрович».</p>
  <p id="21lW"><strong>5. Цена / Сумма (только цифры)</strong><br /><strong>Формула:</strong> <code>^\d+$</code><br /><strong>Примечание:</strong> Гарантирует, что пользователь ввел только целое число без пробелов, точек и букв (например, &quot;150000&quot;).</p>
  <p id="HLb2"><strong>6. URL-адрес веб-сайта</strong><br /><strong>Формула:</strong> <code>^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$</code><br /><strong>Примечание:</strong> Проверяет, что ссылка имеет корректную структуру (например, <a href="https://vc.ru" target="_blank">https://vc.ru</a>)</p>
  <p id="BZkl"><strong>7. Пароль (минимум 8 символов, буквы и цифры)</strong><br /><strong>Формула:</strong> <code>^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$</code><br /><strong>Примечание:</strong> Требует, чтобы пароль содержал хотя бы одну букву и одну цифру, общая длина не менее 8 символов.</p>
  <p id="xRPR"><strong>8. Индекс (российский, 6 цифр)</strong><br /><strong>Формула:</strong> <code>^\d{6}$</code><br /><strong>Примечание:</strong> Проверяет, что введено ровно 6 цифр (например, &quot;101000&quot;).</p>
  <p id="KDBq"><strong>9. Время в формате ЧЧ:ММ</strong><br /><strong>Формула:</strong> <code>^([01]\d|2[0-3]):([0-5]\d)$</code><br /><strong>Примечание:</strong> Принимает время от 00:00 до 23:59. Полезно для записи на услуги.</p>
  <p id="Illp"><strong>10. IP-адрес (IPv4)</strong><br /><strong>Формула:</strong> <code>^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$</code><br /><strong>Примечание:</strong> Проверяет корректность IP-адреса в формате 192.168.1.1.</p>
  <p id="E0Mf"><strong>11. Только латинские буквы (без цифр)</strong><br /><strong>Формула:</strong> <code>^[A-Za-z]+$</code><br /><strong>Примечание:</strong> Для ввода названий брендов или кодов, которые должны содержать только английские буквы.</p>
  <p id="iiBa"><strong>12. Только буквы и цифры (без спецсимволов)</strong><br /><strong>Формула:</strong> <code>^[a-zA-Z0-9]+$</code><br /><strong>Примечание:</strong> Полезно для логинов или артикулов, где разрешены только латиница и цифры.</p>
  <p id="dP8I"><strong>13. Год в формате YYYY (1900-2099)</strong><br /><strong>Формула:</strong> <code>^(19|20)\d{2}$</code><br /><strong>Примечание:</strong> Ограничивает ввод года четырьмя цифрами в диапазоне от 1900 до 2099.<br /></p>
  <p id="q5RD"><strong>14. Номер банковской карты (16 цифр)</strong><br /><strong>Формула:</strong> <code>^\d{16}$<br /></code><strong>Примечание: </strong>Простая проверка, что введено 16 цифр подряд (без пробелов и дефисов).</p>
  <p id="T1M7"><strong>15. ИНН физического лица (12 цифр)</strong><br /><strong>Формула:</strong> <code>^\d{12}$</code><br /><strong>Примечание:</strong> Проверяет, что введено ровно 12 цифр. </p>
  <p id="nVYz"><strong>16. ИНН юрлица<br />Формула:</strong> <code>^\d{10}$</code><br /><strong>Примечание:</strong> Проверяет, что введено ровно 10 цифр. </p>
  <p id="seTt"><strong>17. СНИЛС (формат XXX-XXX-XXX XX)</strong><br /><strong>Формула:</strong> <code>^\d{3}-\d{3}-\d{3}\s\d{2}$</code><br /><strong>Примечание:</strong> Российский страховой номер. Пример: 123-456-789 00</p>
  <p id="ktQd"><strong>18. Серия и номер паспорта РФ</strong><br /><strong>Формула:</strong> <code>^\d{4}\s?\d{6}$</code><br /><strong>Примечание:</strong> 4 цифры серии, пробел (опционально), 6 цифр номера. Пример: 1234 567890 </p>
  <p id="Ec7w"><strong>19. БИК банка (9 цифр)</strong><br /><strong>Формула: </strong><code>^\d{9}$</code><br /><strong>Примечание:</strong> Банковский идентификационный код — ровно 9 цифр </p>
  <p id="G8ey"><strong>20. Время в формате ЧЧ:ММ:СС</strong><br /><strong>Формула:</strong> <code>^([0-1]\d|2[0-3]):([0-5]\d):([0-5]\d)$</code><br /><strong>Примечание:</strong> Проверяет время с секундами, например, 23:59:59 </p>
  <p id="wNHe"><strong>21. Возраст (от 18 до 99 лет)</strong><br /><strong>Формула:</strong> <code>^(1[8-9]|[2-9][0-9])$</code><br /><strong>Примечание:</strong> Полезно для проверки совершеннолетия</p>
  <p id="JuZw"><strong>22. Только кириллица (с пробелами)</strong><br /><strong>Формула:</strong> <code>^[А-Яа-яёЁ\s]+$</code><br /><strong>Примечание:</strong> Только русские буквы и пробелы </p>
  <p id="hyoT"><strong>23. Удалить HTML-теги (для очистки)</strong><br /><strong>Формула:</strong> <code>/&lt;[^&gt;]*&gt;/g</code><br /><strong>Примечание:</strong> Не для валидации, а для обработки текста — убирает все теги</p>
  <p id="34XK"><strong>24. Запрет на спецсимволы в имени файла</strong><br /><strong>Формула:</strong><code> ^[^\/:*?&quot;&lt;&gt;|]+$</code><br /><strong>Примечание:</strong> Исключает символы, запрещенные в файловых системах Windows.</p>
  <p id="4RiZ"><strong>25. Високосный год</strong><br /><strong>Формула:</strong> <code>\b(19|20)([02468][048]|[13579][26])\b</code><br /><strong>Примечание:</strong> Находит високосные годы</p>
  <p id="M1qU"><strong>26. Дата с русским месяцем</strong><br /><strong>Формула:</strong> <code>^\d{1,2}\s(января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s\d{4}$</code><br /><strong>Примечание:</strong> Например: 15 марта 2024</p>
  <p id="Optw"><strong>27. Telegram username</strong><br /><strong>Формула:</strong> <code>^@[a-zA-Z0-9_]{5,32}$</code><br /><strong>Примечание:</strong> От 5 до 32 символов, начинается с @</p>
  <p id="UjKj"><strong>28. Первая буква заглавная</strong><br /><strong>Формула:</strong> <code>^[А-ЯЁA-Z].*$</code><br /><strong>Примечание:</strong> Любой язык</p>
  <p id="4jFL"><strong>29. Запрет на цифры</strong><br /><strong>Формула:</strong> <code>^\D+$</code><br /><strong>Примечание:</strong> Только не-цифры</p>
  <p id="s3B2"><strong>30. Запрет на пробелы</strong><br /><strong>Формула:</strong> <code>^\S+$</code><br /><strong>Примечание:</strong> Без пробелов</p>
  <p id="LrSp"><strong>31. VIN номер (17 символов)</strong><br /><strong>Формула:</strong> <code>^[A-HJ-NPR-Z0-9]{17}$</code><br /><strong>Примечание:</strong> Без I, O, Q</p>
  <p id="sVLn"><strong>32. Steam ID (64-bit)</strong><br /><strong>Формула:</strong> <code>^7656119\d{10}$</code><br /><strong>Примечание:</strong> 17 цифр, начинается с 7656119</p>
  <p id="ZjBd"><strong>33. Discord тэг</strong><br /><strong>Формула:</strong> <code>^.{2,32}#\d{4}$</code><br /><strong>Примечание:</strong> Имя#0000</p>
  <p id="o2Z9"><strong>34. Четное число (включая отрицательные)</strong><br /><strong>Формула:</strong> <code>^-?\d*[02468]$</code><br /><strong>Примечание:</strong> Проверяет, что число заканчивается на четную цифру (0, 2, 4, 6, 8). Необязательный минус в начале позволяет работать с отрицательными числами. Минус данного метода в том, что он пропустит число &quot;0&quot;, которое также является четным </p>
  <p id="l10b"><strong>35. Нечетное число (включая отрицательные)</strong><br /><strong>Формула:</strong> <code>^-?\d*[13579]$</code><br /><strong>Примечание:</strong> Работает по тому же принципу, что и для четных чисел, но проверяет окончание на нечетную цифру (1, 3, 5, 7, 9) </p>
  <p id="tsir"><strong>36. Минимальная длина строки (на примере 3 символов)</strong><br /><strong>Формула:</strong> <code>^.{3,}$</code><br /><strong>Примечание:</strong> Квантификатор {3,} означает &quot;не менее 3 повторений предыдущего символа&quot;. Здесь символ . означает &quot;любой символ&quot;, поэтому строка должна содержать минимум 3 любых символа. Для другого числа замените 3 на нужное </p>
  <p id="9c2T"><strong>37. Максимальная длина строки (на примере 10 символов)</strong><br /><strong>Формула:</strong> <code>^.{,10}$</code><br /><strong>Примечание:</strong> Квантификатор {,10} означает &quot;не более 10 повторений&quot;. Эта строка подойдет для строк длиной от 0 до 10 символов. Чтобы потребовать хотя бы один символ, можно использовать комбинацию: ^.{1,10}$</p>
  <p id="pZVl"><strong>38. Квартал года (Q1, Q2, Q3, Q4)</strong><br /><strong>Формула:</strong> <code>^Q[1-4]$</code><br /><strong>Примечание:</strong> Очень простая проверка для строк вида &quot;Q1&quot;, &quot;Q2&quot;, &quot;Q3&quot;, &quot;Q4&quot;. Буква Q в начале, затем цифра от 1 до 4.</p>
  <p id="t0it"><strong>39. Период дат ДД.ММ.ГГГГ - ДД.ММ.ГГГГ</strong><br /><strong>Формула:</strong> <code>^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.\d{4}\s-\s(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])\.\d{4}$</code><br /><strong>Примечание:</strong> Это выражение проверяет формат двух дат, разделенных пробелом, тире и пробелом. Оно корректно проверяет дни (01-31) и месяцы (01-12), но не проверяет корректность года (например, 31 февраля или високосность). Эту проверку лучше делать программно</p>
  <p id="L1Pl"><strong>40. Временной интервал ЧЧ:ММ - ЧЧ:ММ</strong><br /><strong>Формула:</strong> <code>^([01]\d|2[0-3]):([0-5]\d)\s-\s([01]\d|2[0-3]):([0-5]\d)$</code><br /><strong>Примечание:</strong> Проверяет формат &quot;10:30 - 18:00&quot;. Часы от 00 до 23, минуты от 00 до 59<br /></p>
  <figure id="C8wh" class="m_original">
    <img src="https://img2.teletype.in/files/99/9e/999e229b-3e3c-4cea-a192-819079faa6dd.png" width="614" />
  </figure>
  <figure id="hSqZ" class="m_original">
    <img src="https://img2.teletype.in/files/90/3c/903c49a2-5f47-4eb5-a97c-cb7f9e3a4bd9.png" width="591" />
  </figure>
  <h3 id="LIWm">Нужна помощь в настройке?</h3>
  <p id="c9Ka">Подписывайтесь на наш Telegram-канал <a href="https://t.me/ecodetechinfo" target="_blank">@ecodetechinfo</a>, где мы регулярно публикуем новые руководства, обновления и лучшие практики по созданию и монетизации Telegram ботов.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@ecode/kpDKYQUDLJH</guid><link>https://teletype.in/@ecode/kpDKYQUDLJH?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode</link><comments>https://teletype.in/@ecode/kpDKYQUDLJH?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=ecode#comments</comments><dc:creator>ecode</dc:creator><title>Настройка отображения эмодзи-статуса пользователя в Telegram боте</title><pubDate>Mon, 16 Feb 2026 11:12:06 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/35/2a/352a804b-e23e-43d2-bdd1-488d0cefbec8.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/68/21/68218a03-0e03-42b3-8828-9508df95936c.png"></img>Полное руководство по интеграции Premium эмодзи-статуса в вашего бота на платформе PuzzleBot]]></description><content:encoded><![CDATA[
  <p id="16GV">Полное руководство по интеграции Premium эмодзи-статуса в вашего бота на платформе PuzzleBot<br /></p>
  <p id="ACdd">В этой статье мы подробно разберем процесс настройки отображения эмодзи-статуса пользователей Telegram в вашем боте. Эта функция позволит персонализировать приветствия и создать уникальный пользовательский опыт для владельцев Telegram Premium.</p>
  <h2 id="krlz">1. Создание переменной {{get_emoji}}</h2>
  <p id="UVKR">Создайте новую переменную для получения данных об эмодзи-статусе пользователя через API Telegram:<br />Тип переменной: Персональный<br />Название: {{get_emoji}}<br />Тип значения: Интегрированный<br />Тип интеграции: HTTP-запрос<br />Формат значения: Текст<br />Значение по умолчанию: Оставить пустым<br />Ссылка (JSON): <a href="https://api.telegram.org/botTOKEN/getChat" target="_blank">https://api.telegram.org/botTOKEN/getChat</a> <br />Замените<code>TOKEN</code>на токен вашего бота (должно получится вроде: <a href="https://api.telegram.org/botTOKEN/getChat" target="_blank">https://api.telegram.org/bot123456789nsakdnojajsd9ainsdlmasdkn/getChat)</a><br /><br /><strong>Параметры запроса:<br /></strong>Ключ: chat_id <br />Значение: {{USER_ID_TEXT}}<br />Ключ: parse_mode<br />Значение: HTML<br />Ключ: text<br />Значение: &lt;tg-emoji emoji-id=&quot;{{get_emoji}}&quot;&gt;⭐&lt;/tg-emoji&gt;<br />Ключ: disable_web_page_preview<br />Значение: true<br /></p>
  <h4 id="6mAa">Важно при проверке запроса</h4>
  <p id="KAV0">В ответе выберите строку <code>result.emoji_status_custom_emoji_id</code>. Не выбирайте <code>result.profile_background_custom_emoji_id</code> (находится ближе к концу списка).<br /></p>
  <figure id="5IDj" class="m_original">
    <img src="https://img3.teletype.in/files/2f/e5/2fe5bd05-db81-4933-bf2f-767a3f6fa692.png" width="681" />
  </figure>
  <figure id="0KUw" class="m_original">
    <img src="https://img3.teletype.in/files/e6/b9/e6b933f7-cfb3-4d65-9d64-5c8b9648d33a.png" width="683" />
  </figure>
  <figure id="e842" class="m_original">
    <img src="https://img1.teletype.in/files/0d/b1/0db188b7-071f-4126-b00a-e945fa67f4ed.png" width="680" />
  </figure>
  <figure id="mlUw" class="m_original">
    <img src="https://img4.teletype.in/files/38/b9/38b991b6-46ef-4bbb-b74d-530209b85d74.png" width="675" />
  </figure>
  <h2 id="DHjq">2. Создание переменной {{get_emoji2}}<br /><br />Создайте вторую переменную для форматирования эмодзи-статуса:</h2>
  <p id="TNZo"><br />Тип переменной: Персональный<br />Название: {{get_emoji2}}<br />Тип значения: Обычный<br />Формат значения: Формула<br /><br /><strong>Выражение для формулы:<br /></strong></p>
  <pre id="3m1f">&quot;&lt;tg-emoji emoji-id=\&quot;&quot; + {{get_emoji}} + &quot;\&quot;&gt;⭐&lt;/tg-emoji&gt;&quot;</pre>
  <figure id="kZya" class="m_original">
    <img src="https://img3.teletype.in/files/6f/dc/6fdc245e-7b1a-4cb3-a94a-8762534a1cdd.png" width="682" />
  </figure>
  <h2 id="73Mi">3. Настройка команд в конструкторе</h2>
  <p id="7WEW"></p>
  <h4 id="6Dz8">Важное условие</h4>
  <p id="Onbl">Команда <code>/start</code> должна оставаться пустой. Приветственной будет другая команда.</p>
  <p id="EpAK"></p>
  <figure id="3ljI" class="m_original">
    <img src="https://img3.teletype.in/files/61/c0/61c07af8-616e-446b-b73d-2f6f126f2be9.png" width="1918" />
  </figure>
  <p id="aWJ7"><strong>Настройка «Команды 1»</strong> (для пользователей без Premium-подписки и эмодзи-статуса):</p>
  <ul id="bcnL">
    <li id="WOA7">Добавьте текстовый блок с вашим текстом</li>
    <li id="rDVb">Используйте переменную <code>{{FIRST_AND_LAST_NAME}}</code></li>
  </ul>
  <figure id="tuer" class="m_original">
    <img src="https://img4.teletype.in/files/bb/2b/bb2b2b33-d50c-4b12-a19e-c1897a847654.png" width="940" />
  </figure>
  <p id="RFcG"><strong>Настройка «Команды 2»</strong> (для пользователей с Premium-подпиской и эмодзи-статусом):</p>
  <ul id="QwDo">
    <li id="jwaN">Добавьте текстовый блок с вашим текстом</li>
    <li id="R0fd">Используйте переменные <code>{{FIRST_AND_LAST_NAME}}</code> и <code>{{get_emoji2}}</code></li>
  </ul>
  <figure id="Bi3z" class="m_original">
    <img src="https://img2.teletype.in/files/1d/b0/1db0bdcb-e13a-4e49-98d6-d1ad23336f9f.png" width="940" />
  </figure>
  <p id="MY79"><strong>Создание команды «Условие» с названием «Проверка статус-эмодзи»:</strong></p>
  <p id="1gRH">Правило № 1: «Значение переменной»</p>
  <ul id="uA1G">
    <li id="ZC0s">Название переменной: <code>get_emoji</code></li>
    <li id="silO">Тип условия: «Длина сообщения больше»</li>
    <li id="kzOh">Количество символов: более 1</li>
  </ul>
  <figure id="pVFW" class="m_original">
    <img src="https://img1.teletype.in/files/81/88/8188d36f-cc17-4c22-82c3-26f76e167ca8.png" width="938" />
  </figure>
  <figure id="1kYo" class="m_original">
    <img src="https://img3.teletype.in/files/e3/69/e369eaf6-41c1-4ede-94f0-2e5651021ec6.png" width="947" />
  </figure>
  <p id="alIW"><strong>Добавьте действие для успешного условия:</strong></p>
  <ul id="PDRL">
    <li id="MNnq">«Отправить команду или условие» → выберите «Команда 2»</li>
  </ul>
  <figure id="aPgT" class="m_original">
    <img src="https://img4.teletype.in/files/fd/d0/fdd05b84-dee7-4993-8d63-ebe8bad396f4.png" width="952" />
  </figure>
  <p id="F1Ys"><strong>Добавьте исключающее правило:</strong></p>
  <ul id="ZZNA">
    <li id="zCKs">«Отправить команду или условие» → выберите «Команда 1»</li>
  </ul>
  <figure id="Tl6t" class="m_original">
    <img src="https://img4.teletype.in/files/38/8b/388ba2f7-8fe5-47a3-adf7-b16044fcdcca.png" width="945" />
  </figure>
  <p id="g413"><strong>Сохраните команду.</strong></p>
  <h4 id="x3j4">Итоговый список команд</h4>
  <p id="D1rz">У вас должно быть 4 команды:</p>
  <ol id="wW9S">
    <li id="wMzL"><code>/start</code></li>
    <li id="hBQZ">«Проверка статус эмодзи»</li>
    <li id="O2se">«Команда 1»</li>
    <li id="5FxJ">«Команда 2»</li>
  </ol>
  <figure id="u8FW" class="m_original">
    <img src="https://img4.teletype.in/files/74/28/74283368-1480-402b-a634-d432a4f511fe.png" width="1915" />
  </figure>
  <h2 id="HC41">4. Настройка команды /start</h2>
  <p id="OuoE"></p>
  <p id="yRnI">В команде <code>/start</code> добавьте действие:</p>
  <ul id="esV0">
    <li id="tOBc">«Отправить команду или условие» → выберите «Проверка статус эмодзи»</li>
    <li id="N7Qv">Тип отправки: <strong>вызов</strong></li>
  </ul>
  <figure id="8Ovl" class="m_original">
    <img src="https://img4.teletype.in/files/75/07/7507a074-5dca-437b-9310-fa1703b854b4.png" width="942" />
  </figure>
  <figure id="SAJ4" class="m_original">
    <img src="https://img1.teletype.in/files/8d/a5/8da5c7c1-569e-410d-b69b-e6bfeacbd16a.png" width="947" />
  </figure>
  <figure id="Bsrd" class="m_original">
    <img src="https://img4.teletype.in/files/b2/6d/b26dc064-e965-4f99-9fa2-454bc90670b5.png" width="1919" />
  </figure>
  <h2 id="Xcei">5. Финальный шаг</h2>
  <p id="wsFU"></p>
  <ol id="ZzuQ">
    <li id="jtUg">Сохраните все изменения в конструкторе</li>
    <li id="NkWu">Протестируйте бота с разными типами пользователей:</li>
    <ul id="HsxR">
      <li id="7Urw">С Premium и эмодзи-статусом</li>
      <li id="gAvq">Без Premium-подписки</li>
    </ul>
  </ol>
  <figure id="BO4i" class="m_original">
    <img src="https://img2.teletype.in/files/16/1b/161b3cda-7ff2-43e1-968e-a56f41b31158.png" width="562" />
  </figure>
  <figure id="khov" class="m_original">
    <img src="https://img3.teletype.in/files/61/c5/61c5944c-cc5a-45d2-9a2b-0547bcfcceac.png" width="559" />
  </figure>
  <h4 id="c0N8">P.S. Возможности кастомизации</h4>
  <p id="aakp">Вы можете:</p>
  <ul id="Dofi">
    <li id="vMI1">Изменять названия переменных, команд и условий на своё усмотрение</li>
    <li id="B9ks">Добавлять дополнительные действия и блоки в приветственные команды</li>
  </ul>
  <p id="ujIt"><strong>Главное:</strong> команда <code>/start</code> должна остаться пустой (только с действием вызова).</p>
  <p id="uRZA"></p>
  <h3 id="LIWm">Нужна помощь в настройке?</h3>
  <p id="c9Ka">Подписывайтесь на наш Telegram-канал @ecodetechinfo, где мы регулярно публикуем новые руководства, обновления и лучшие практики по созданию и монетизации Telegram ботов.</p>

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