<?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>Mon, 18 May 2026 12:36:28 GMT</pubDate><lastBuildDate>Mon, 18 May 2026 12:36:28 GMT</lastBuildDate><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>