<?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>Dmitry Space</title><generator>teletype.in</generator><description><![CDATA[Креативный Web-разработчик. 
Больше постов в телеграм-канале: 
https://t.me/dmitryspace_code]]></description><image><url>https://teletype.in/files/f2/c5/f2c55f53-3f58-4d70-991f-7289ea01ba8b.jpeg</url><title>Dmitry Space</title><link>https://blog.dmitryspace.com/</link></image><link>https://blog.dmitryspace.com/?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/dmitryspace?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/dmitryspace?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Sat, 02 May 2026 00:24:12 GMT</pubDate><lastBuildDate>Sat, 02 May 2026 00:24:12 GMT</lastBuildDate><item><guid isPermaLink="true">https://blog.dmitryspace.com/meditation-timer-for-getcourse</guid><link>https://blog.dmitryspace.com/meditation-timer-for-getcourse?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/meditation-timer-for-getcourse?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Умный таймер медитаций для школы на GetCourse</title><pubDate>Fri, 21 Nov 2025 12:24:23 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/b7/60/b760f75b-5e88-4e47-947f-5cd61c436035.png"></media:content><category>Кейсы</category><description><![CDATA[<img src="https://img3.teletype.in/files/ec/c0/ecc05af2-e531-4b58-93ae-8067a42fca77.png"></img>Клиенту нужно было дать ученикам удобный способ считать время медитаций прямо внутри уроков GetCourse, потому что по программе у них есть строгие требования...]]></description><content:encoded><![CDATA[
  <p id="pCK0">Клиенту нужно было дать ученикам удобный способ <strong>считать время медитаций</strong> прямо внутри уроков на GetCourse, потому что по программе у них есть строгие требования:<br /> — сколько минут медитации нужно выполнить в каждом уроке,<br /> — сколько часов нужно накопить за весь курс.</p>
  <p id="l4A3">Чтобы ученик не вел учёт вручную, требовалось создать <strong>умный таймер</strong>, который сам фиксирует всё нужное время и показывает прогресс по урокам, модулям и программе в целом.</p>
  <h2 id="EhBI"><strong>Что именно хотел заказчик</strong></h2>
  <p id="nWfJ"><strong>1. Таймер, который работает сам</strong></p>
  <ul id="mASm">
    <li id="LddL">Если в уроке есть аудио-медитация — таймер должен <strong>запускаться автоматически</strong> вместе со звуком.</li>
    <li id="XzwQ">Если человек медитирует в тишине — таймер можно включить вручную.</li>
  </ul>
  <p id="SpnJ"><strong>2. Два режима</strong></p>
  <ul id="6AeX">
    <li id="pyd1"><strong>Таймер</strong> — на фиксированное время: 5, 10, 15 или 20 минут.</li>
    <li id="zyLs"><strong>Секундомер</strong> — просто считает минуты, пока пользователь медитирует.</li>
  </ul>
  <p id="G4Vu">В конце должен быть мягкий <strong>звук гонга</strong>.</p>
  <p id="uapd"><strong>3. Подсказка внутри таймера</strong></p>
  <p id="YuBc">По клику на иконку «i» — всплывающая подсказка с объяснением, как пользоваться таймером.</p>
  <p id="Kizm"><strong>4. Собирание статистики</strong></p>
  <p id="eNet">Таймер должен автоматически сохранять:</p>
  <ul id="ypzO">
    <li id="eHLP">время по каждому уроку,</li>
    <li id="T556">время по каждому модулю,</li>
    <li id="v1eB">общее накопленное время по всему тренингу.</li>
  </ul>
  <p id="S6y6">Прогресс показывается:</p>
  <ul id="12Rx">
    <li id="lTm5">на карточках уроков,</li>
    <li id="3UEU">внутри аккордеона с модулями и уроками,</li>
    <li id="1xGJ">в общем прогрессе по программе.</li>
  </ul>
  <p id="GYZh">Если ученик набрал нужное время — урок помечается галочкой.</p>
  <p id="VGXf"><strong>5. Аккордеон с модулями и уроками</strong></p>
  <ul id="YGOL">
    <li id="Hq75">Модули раскрываются списком.</li>
    <li id="Cghn">Каждый урок показывает своё время + сколько студент уже сделал.</li>
    <li id="kFDb">Из списка можно перейти на урок.</li>
  </ul>
  <p id="4Atq"><strong>6. Гибкость</strong></p>
  <p id="lZQM">Если ученик медитирует <strong>больше нормы</strong> — всё идёт в общий зачёт.</p>
  <p id="M60I"><strong>7. Много тренингов</strong></p>
  <p id="jnb5">Система должна работать <strong>независимо</strong> для трёх больших программ: у каждой свои модули, количество уроков и нормы по минутам.</p>
  <p id="aAtt"><strong>8. Работа не только в браузере, но и в приложении GetCourse</strong></p>
  <p id="6zyZ">Таймер и прогресс должны работать и в веб-версии GetCourse, и в приложении Chatium.</p>
  <p id="y0GA"></p>
  <h1 id="dEPN"><strong>Что я сделал</strong></h1>
  <p id="8baW">Я создал полноценную систему учёта медитаций внутри GetCourse — от умного таймера до визуального прогресса по урокам, модулям и целым программам.<br />Фактически это мини-приложение, встроенное в обучающую платформу.</p>
  <h3 id="UM6r"><strong>1. Разработал умный таймер</strong></h3>
  <ul id="dH8D">
    <li id="DqIT">Автоматически запускается, когда ученик включает аудиомедитацию.</li>
    <li id="Vj9p">Может запускаться и вручную — как секундомер или таймер.</li>
    <li id="5mM5">Автоматом фиксирует прогресс каджые 10 сек.</li>
    <li id="U7gd">Работает и в браузере, и в приложении GetCourse.</li>
  </ul>
  <figure id="H5PN" class="m_original" data-caption-align="center">
    <img src="https://img3.teletype.in/files/ec/c0/ecc05af2-e531-4b58-93ae-8067a42fca77.png" width="364" />
    <figcaption>Так выглядит таймер в уроке</figcaption>
  </figure>
  <h3 id="YqwC"><strong>2. Реализовал точный подсчёт времени</strong></h3>
  <p id="Twhw">Таймер считает секунды, минуты и часы без пропусков — даже если:</p>
  <ul id="C9Z0">
    <li id="IXw2">страницу обновили,</li>
    <li id="jBgm">интернет подвис,</li>
    <li id="Lk6K">пользователь ушёл в фоновый режим.</li>
  </ul>
  <p id="T26i">Все данные сохраняются в базе и синхронизируются между устройствами.</p>
  <h3 id="F8pO">3. Связал таймер с аудиомедитацией</h3>
  <p id="iJ5j">Я реализовал глубокую интеграцию таймера с аудиоплеером внутри уроков. Теперь всё работает полностью автоматически:</p>
  <ul id="pZeC">
    <li id="3GWX">таймер автоматически стартует при включении аудиомедитации,</li>
    <li id="HA1Y">при перемотках и остановках аудио таймер сам подстраивается,</li>
    <li id="Gawr">если таймер запущен без аудио, то при завершении отсчёта звучит «гонг» сигнализирующий о том, что время вышло.</li>
  </ul>
  <figure id="fmtr" class="m_column">
    <img src="https://img2.teletype.in/files/d5/11/d511c2ae-bef0-4c09-95d1-193c0cd1accc.png" width="1081" />
    <figcaption>Таймер работает параллельно с аудио</figcaption>
  </figure>
  <h3 id="zdEz"><strong>3. Настроил автоматический учёт времени по урокам</strong></h3>
  <p id="xiXu">Каждый урок получает собственную статистику:</p>
  <ul id="navI">
    <li id="VrSH">сколько минут медитации выполнено,</li>
    <li id="HbaO">сколько нужно по программе,</li>
    <li id="5fkI">достигнута ли норма (появляется галочка).</li>
  </ul>
  <figure id="ckod" class="m_column">
    <img src="https://img3.teletype.in/files/2a/b9/2ab91f8f-db82-468e-acd5-2b2bbab91a8e.png" width="1076" />
    <figcaption>Прогрессы по урокам на странице модуля</figcaption>
  </figure>
  <h3 id="cjTg"><strong>4. Построил систему прогресса по модулям</strong></h3>
  <p id="fFAS">Для каждого модуля я настроил:</p>
  <ul id="g0KZ">
    <li id="T7Vk">суммирование времени по всем урокам,</li>
    <li id="WhK5">определение, выполнен ли модуль,</li>
    <li id="ygaH">отображение прогресса в удобном формате.</li>
  </ul>
  <h3 id="72Ao"><strong>5. Добавил общий прогресс по тренингу</strong></h3>
  <p id="4h5i">Ученик видит:</p>
  <ul id="8DvV">
    <li id="7RNt">общий накопленный объём медитаций,</li>
    <li id="08Yx">сколько осталось до нормы,</li>
    <li id="3gip">прогресс по всем модулям и урокам в виде удобного аккордеона.</li>
  </ul>
  <h3 id="ficg"><strong>6. Реализовал аккордеон с модулями и уроками</strong></h3>
  <p id="LM46">В нём:</p>
  <ul id="QIp3">
    <li id="9usD">отображаются все уроки с их нормами,</li>
    <li id="oV29">показано, сколько ученик уже сделал,</li>
    <li id="dwDS">есть ссылки на уроки,</li>
    <li id="nIAB">видно, какие уже закрыты галочкой.</li>
  </ul>
  <figure id="FkyR" class="m_custom" data-caption-align="center">
    <img src="https://img2.teletype.in/files/d1/7a/d17aedc1-25ca-4ae6-b27b-414e9f63a63a.png" width="432" />
    <figcaption>Прогресс в тренинге с раскрывающимися модулями</figcaption>
  </figure>
  <p id="GRIc"></p>
  <h3 id="eaNw"><strong>7. Учёл особенности трёх программ</strong></h3>
  <p id="msSF">У каждой программы разные:</p>
  <ul id="HOzp">
    <li id="6td0">количество модулей,</li>
    <li id="EviD">количество уроков,</li>
    <li id="JSkj">нормы по минутам.</li>
  </ul>
  <p id="vkYP">Я сделал таймер, который корректно работает для всех трёх направлений независимо.</p>
  <h3 id="AmBd"><strong>8. Адаптировал под реальную механику ГК</strong></h3>
  <p id="5XcG">Учитывая ограничения GetCourse, я подключил логику учёта к GC API и собственной базе, оптимизировал работу таймера под фронт и бэкенд.</p>
  <p id="tlEG"></p>
  <h1 id="wxai"><strong>Итоги</strong></h1>
  <p id="9lnC">В результате была создана полноценная система учёта медитаций, которая полностью избавила студентов от ручного подсчёта времени и сделала процесс прохождения программы прозрачным и удобным.</p>
  <p id="lqNh">Студенты теперь видят:</p>
  <ul id="LYTV">
    <li id="Ik6N">сколько времени они уже медитировали,</li>
    <li id="kLbZ">сколько осталось до норм по уроку, модулю и всей программе,</li>
    <li id="gdbv">какие уроки закрыты и где нужно добрать минуты.</li>
  </ul>
  <p id="SlNi">Таймер работает автоматически, запускается вместе с аудио, корректно реагирует на перемотку, паузу и ручной режим, а прогресс синхронизируется между уроками, модулями и тремя независимыми тренингами. Всё это работает как в вебе GetCourse, так и в приложении Chatium.</p>
  <p id="lx5Q">Для школы это дало:</p>
  <ul id="RQp9">
    <li id="ANDD">рост вовлечённости в практику,</li>
    <li id="l9zo">повышение завершения уроков и модулей,</li>
    <li id="5lTC">меньше вопросов от учеников о том, как учитывать время,</li>
    <li id="MMze">полностью автоматизированный и честный учёт медитаций без участия менеджеров.</li>
  </ul>
  <p id="LA9V">Проект превратил сложный процесс подсчёта времени в простой и интуитивный инструмент, который работает «сам по себе» — студенту остаётся только медитировать.</p>
  <p id="nBiI"></p>
  <h2 id="oyRP">Видеоотзыв заказчика</h2>
  <figure id="tUvn" class="m_column">
    <iframe src="https://vk.com/video_ext.php?oid=-233283847&id=456239019&autoplay=0"></iframe>
  </figure>
  <p id="ccS3"></p>
  <p id="C9b6">Если перед вами стоит сложная, нестандартная или «невозможная» задача — скорее всего, <strong>её можно решить</strong>. Просто напишите мне 👉 <a href="https://t.me/DmitrySpace" target="_blank">@DmitrySpace</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/auto-replies-with-closing-of-requests-in-getcourse</guid><link>https://blog.dmitryspace.com/auto-replies-with-closing-of-requests-in-getcourse?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/auto-replies-with-closing-of-requests-in-getcourse?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Автоответы с закрытием обращений в GetCourse</title><pubDate>Sat, 08 Nov 2025 12:05:42 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/08/d5/08d520db-5270-471f-a806-fb90bf289d45.png"></media:content><category>Кейсы</category><description><![CDATA[<img src="https://img4.teletype.in/files/70/22/7022a5c2-ce81-4e06-a859-f1070be796b8.png"></img>На платформе GetCourse можно запускать процессы по ключевым словам, которые отправляют пользователи в определённые отделы поддержки. Но есть проблема — такие сообщения попадают во Входящие и превращаются в «спам», мешая менеджерам работать с реальными вопросами...]]></description><content:encoded><![CDATA[
  <p id="XntG">Онлайн-школа <strong>«Лаборатория Омоложения»</strong> столкнулась с распространённой задачей: на платформе GetCourse можно запускать процессы по ключевым словам, которые отправляют пользователи в определённые отделы поддержки. Но есть проблема — такие сообщения попадают во Входящие и превращаются в «спам», мешая менеджерам работать с реальными вопросами.</p>
  <p id="dkXC">Объём входящих большой, школа крупная, и сотрудникам приходится вручную отсекать технические сообщения от тех, что требуют ответа. Кроме того, часть однотипных обращений нужно обрабатывать автоматически, отвечая на них от имени менеджера (например, отправлять бонус).</p>
  <p id="X0uQ">Ситуацию усложняет то, что пользователь может отправить ключевое слово <strong>через любой канал</strong>: Telegram, email, встроенный чат — поэтому нужно уметь корректно перехватить сообщение и отправить ответ через тот же канал связи, который использовал пользователь.</p>
  <p id="Uxxr">Чтобы решить все эти задачи, я разработал <strong>универсальную систему автоответов</strong>, работающую поверх всех «транспортов» GetCourse.</p>
  <p id="PRjD">Теперь:</p>
  <ul id="UU2m">
    <li id="fP5S">каждый входящий запрос сначала проходит через отдельного бота (фильтр);</li>
    <li id="TYET">обращения с ключевыми словами автоматически закрываются, не попадают в поддержку и не отвлекают менеджеров;</li>
    <li id="NVaw">система гибко реагирует на разные ключевые слова: где-то просто закрывает обращение, а где-то отправляет пользователю заранее подготовленный ответ — например, выдаёт бонус.</li>
    <li id="gBrQ">в некоторых случаях добавляется задержка перед автоответом, чтобы диалог выглядел более живым.</li>
  </ul>
  <p id="qCW7"><br />Для удобства настройки ответов была сделана страница настроек, на которой указывается, при каких ключевых слова и как именно бот будет реагировать:</p>
  <figure id="0zZo" class="m_column">
    <img src="https://img4.teletype.in/files/70/22/7022a5c2-ce81-4e06-a859-f1070be796b8.png" width="775" />
  </figure>
  <h2 id="fW84">Результаты</h2>
  <ul id="5CWb">
    <li id="BoRZ"><strong>Команда школы избавилась от лишнего «спама»</strong> в сообщениях. Технические обращения больше не отвлекают во Входящих.</li>
    <li id="hTZe"><strong>Автоматизировались повторяющиеся коммуникации.</strong><br />На часть обращений теперь автоматически отправляются заранее подготовленные ответы.</li>
    <li id="xx0g"><strong>Ускорилась работа с реальными обращениями.<br /></strong>Благодяря тому, что нагрузка на менеджеров значительно снизилась. </li>
    <li id="6bu5">Благодаря грамотной автоматизации процессов <strong>школа вошла в Топ-100 крупнейших онлайн-школ на платформе GetCourse</strong> 🎉<br /></li>
  </ul>
  <figure id="eRoL" class="m_custom" data-caption-align="center">
    <img src="https://img2.teletype.in/files/52/d4/52d41cac-3f5c-44fe-8677-daba3f0300b4.png" width="502.99999999999994" />
  </figure>
  <p id="T8fu"></p>
  <p id="c1PA">Теперь можно пойти дальше и привязать нейронку, которая будет реагировать не только на ключевые слова в сообщении, но и отвечать на определённые типовые обращения, по типу «Как получить рассрочку?». </p>
  <p id="83MB">Если хотите разгрузить поддержку и убрать бессмысленную рутину из работы менеджеров, пишите — <a href="https://t.me/DmitrySpace" target="_blank">@DmitrySpace</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/personal-ai-assistant-for-students-on-getcourse</guid><link>https://blog.dmitryspace.com/personal-ai-assistant-for-students-on-getcourse?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/personal-ai-assistant-for-students-on-getcourse?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Персональный AI-помощник для учеников на GetCourse</title><pubDate>Sat, 25 Oct 2025 11:58:22 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/6e/7f/6e7f6270-81cb-4add-82ae-5f0e0d07101a.png"></media:content><category>Кейсы</category><description><![CDATA[<img src="https://img2.teletype.in/files/d2/49/d2498ad0-d397-4f22-b757-561bd2582d54.png"></img>А что если не просто обучать, а дать своим ученикам реальный инструмент, упрощающий их работу...]]></description><content:encoded><![CDATA[
  <blockquote id="7fRk">Нейросети плотно входят в нашу жизнь, и все уже используют ChatGPT и его аналоги для решения повседневных задач, обучения, творчества и бизнеса. Сегодня ИИ становится не просто инструментом, а полноценным партнёром, который помогает думать, писать, кодить, создавать дизайн, анализировать данные и даже принимать решения.<br /><br />Однако у большинства популярных сервисов есть существенный недостаток — <strong>они слишком универсальны</strong>. При решении узких, специализированных задач становится трудно погрузить ИИ в контекст: он не знает внутренней логики проекта, не видит взаимосвязей и не способен учитывать объёмные данные, лежащие в основе решений.<br /><br />Чтобы устранить эту проблему, нейросеть можно <strong>предобучить на нужных данных</strong> — так она начнёт понимать специфику проекта, терминологию, структуру процессов и выдавать решения в нужном контексте. Но это довольно трудоёмкий процесс, требующий подготовки данных, настройки модели и последующего тестирования.</blockquote>
  <p id="Knrt"> </p>
  <p id="Yzwe">В одной из онлайн-школ, специализирующихся на подготовке отельеров, решили пойти дальше — <strong>не просто обучать</strong>, а дать своим ученикам <strong>реальный инструмент</strong>, упрощающий их работу.</p>
  <p id="Susf">В связи с этим, ко мне обратились за созданием <strong>персонализированного помощника </strong>отельера. В итоге получился своеобразный аналог ChatGPT, но специально адаптированный под задачи гостиничного бизнеса. Таким образом каждый пользователь получает собственную «умную систему», которая работает <strong>в контексте его конкретного отеля</strong>.</p>
  <p id="Aia9">При первом запуске отельер заполняет детальную анкету и загружает связанные документы: сведения об отеле, финансовые показатели, правовые аспекты, текущие задачи, бизнесс-процессы и прочее:</p>
  <figure id="lHll" class="m_retina">
    <img src="https://img2.teletype.in/files/1d/8d/1d8d04f7-9c7b-4af4-8e17-c90e9e0bf764.png" width="960" />
  </figure>
  <p id="uiA3">После этого ИИ обучается именно на этих данных и начинает <strong>думать в контексте данного бизнеса</strong>. Теперь, когда отельер задаёт вопрос, нейросеть анализирует ситуацию с учётом внутренних показателей и особенностей отеля — как будто это его персональный цифровой ассистент, знакомый со всеми деталями.</p>
  <p id="dCh8">Таким образом ИИ-помощник работает в контексте текущего пользователя. Вся переписка, данные отеля и файлы, которые загружены пользователем в чат, используются для формирования <strong>уникального контекста общения</strong>. Благодаря этому ИИ-помощник не просто отвечает на общие вопросы, а <strong>анализирует всю доступную информацию</strong>: показатели бизнеса, внутренние документы, историю запросов и переписку с этим конкретным пользователем.</p>
  <figure id="JTRQ" class="m_retina" data-caption-align="center">
    <img src="https://img2.teletype.in/files/d2/49/d2498ad0-d397-4f22-b757-561bd2582d54.png" width="960" />
    <figcaption>ИИ-помощник работает в аккаунте текущего пользователя</figcaption>
  </figure>
  <p id="r4zV">Как и в ChatGPT, пользователь может <strong>создавать отдельные чаты под разные направления работы</strong>. Каждый чат сохраняет свой контекст: историю сообщений, документы и связанные данные.</p>
  <p id="XQw8">Благодаря этому отельер может <strong>легко переключаться между задачами</strong>, не теряя логики обсуждения. В одном диалоге ИИ помогает анализировать расходы, в другом — готовит тексты для сайта, а в третьем — предлагает идеи для повышения рейтинга на OTA-площадках. Всё это происходит <strong>внутри одной системы</strong>, но с чётким разделением тем и контекстов.</p>
  <p id="Y796">Также мы добавили преднастроенные рубрики, которые ещё больше сжимают контект задачи. Например, &quot;Написать документ&quot;, &quot;Провести аналитику&quot;, &quot;Написать текст&quot; и прочее. И каждой рубрике можно выбрать предварительно заготовленные шаблоны запросов и при необходимости переписать их под себя.</p>
  <p id="C01U">Для оперативной работы мы добавили возможность пользователю добавлять собственные рубрики с кастомными промптами и стартовые сообщения для них:<br /></p>
  <figure id="Yi1y" class="m_custom" data-caption-align="center">
    <img src="https://img1.teletype.in/files/c5/ac/c5ac4e2a-18fd-4cbb-aef9-abdbc092e737.png" width="363.99999999999994" />
    <figcaption>Добавление собственной рубрики</figcaption>
  </figure>
  <p id="eUPW"></p>
  <p id="mr1D"><br /></p>
  <h2 id="PSzC"><strong>Итоги</strong></h2>
  <p id="Uu0N">Онлайн-школа теперь не просто обучает отельеров, а даёт им <strong>реального цифрового помощника</strong>, который помогает применять знания на практике — прямо в процессе работы.</p>
  <p id="xDgm">Для школы это стало мощным конкурентным преимуществом:</p>
  <ul id="5yl3">
    <li id="nQdt">повышается вовлечённость учеников,</li>
    <li id="6EOk">сокращается нагрузка на кураторов,</li>
    <li id="O3ys">растёт ценность обучения, ведь выпускники получают не только знания, но и <strong>персональный ИИ-инструмент</strong> для работы.</li>
  </ul>
  <p id="x8hV"></p>
  <p id="kaCs">Если вы представляете онлайн-школу и хотите внедрить <strong>нейросеть, обученную не только на ваших данных, но и персонально на данных учеников</strong>, с учётом тематики курсов, документов и студентов — пишите в телегргам <a href="https://t.me/DmitrySpace" target="_blank">@DmitrySpace</a>.</p>
  <p id="jrYM">Мы разрабатываем такие решения «под ключ»: от проектирования логики и интерфейса до настройки ИИ-контекста и интеграции с платформами вроде GetCourse.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/generating-images-with-user-data</guid><link>https://blog.dmitryspace.com/generating-images-with-user-data?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/generating-images-with-user-data?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Генерация изображений с данными пользователя</title><pubDate>Sat, 18 Oct 2025 11:24:03 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/a4/34/a434ce43-8b16-4ce7-9def-95949828e240.png"></media:content><category>Кейсы</category><description><![CDATA[<img src="https://img1.teletype.in/files/8c/02/8c02da90-dfe2-4ce0-87ae-353bb820348f.gif"></img>Ко мне обратилась онлайн-школа с просьбой сделать так, чтобы в дипломы, выдаваемые через стандартный функционал на платформе GetCourse, добавлялась аватарка пользователя...]]></description><content:encoded><![CDATA[
  <p id="D91a">Ко мне обратилась онлайн-школа с просьбой сделать так, чтобы в дипломы, выдаваемые через стандартный функционал на платформе GetCourse, добавлялась аватарка пользователя. Но к сожалению, сделать это технически невозможно в рамках платформы. </p>
  <blockquote id="LXAb">Обычно в таких случаях, в качестве альтернативы, я предлагаю реализовать выдачу дипломов <a href="https://getscript.ru/blog/1116992/user-fields-to-pdf" target="_blank">в виде PDF-файла</a>, который автоматически заполняется скриптом. Тогда в него можно добавлять и аватарку, и любые другие данные. </blockquote>
  <p id="3NmZ">Однако, в результате обсуждения задачи выяснилось, что этот функционал нужен только для того, чтобы менеджер взял картинку &quot;диплома&quot; и отправил её в телегеграм-чат школы. Таким образом школа поднимает активность в чате и поздравляет тех учеников, которые поступили на обучающий курс.</p>
  <p id="nVje">Выдавать &quot;дипломы&quot; и генерировать PDF в этом случае слишком избыточно и неудобно. В связи с чем, я предложил реализовать другой вариант: </p>
  <p id="hLGE"><strong>Страничка для менеджеров, на которой они указывают ID или Email пользователя, который есть в системе, и выбирают один из 4х дизайнов. И в результате генерируется картинка с аватарокой и именем пользователя. </strong></p>
  <p id="A8z9"><em>Если у пользователя нет аватарки, автоматически используются другие варианты дизайна картинки, где подставляется только имя пользователя.</em></p>
  <p id="jKyz">Чтобы было ещё удобнее я добавил 2 кнопки: <br />— «Скачать», при нажатии на неё готовое изображение сразу скачивается на компьютер;<br />— «Отправить» — открывает системный диалог &quot;Поделиться&quot;, который позволяет отправить изображение в другое приложение. Т.е. можно сразу отправить готовую картинку в нужный телеграм-чат.</p>
  <p id="ETsC"></p>
  <h2 id="6vsv" data-align="center">Результат</h2>
  <figure id="2v2K" class="m_original">
    <img src="https://img1.teletype.in/files/8c/02/8c02da90-dfe2-4ce0-87ae-353bb820348f.gif" width="462" />
  </figure>
  <p id="nfBJ"></p>
  <h2 id="ATGH">Итог</h2>
  <p id="IcKs">Менеджерам больше не приходится делать кучу действий, создавая картинки в &quot;фигме&quot; вручную. Вместо этого генерация происходит автоматически. Всё что остаётся менеджеру - ввести Email пользователя, выбрать один из дизайнов и отправить картинку в телеграм-чат.</p>
  <p id="1QTb"></p>
  <h3 id="Cbos">Нужно больше автоматизации?</h3>
  <p id="x0K3">В текущем решении мы остановились на браузерной генерации картинок, что очень упрощает создание и отправку в чат картинок, но всё ещё требует некоторых действий со стороны менеджера.</p>
  <p id="Ezhd">Но можно пойти ещё дальше, и сделать полную автоматизацию. Для этого потребуется серверная генерация. Т.е. можно арендовать сервер/хостинг, на котором бы картинки генерировались без участия человека. </p>
  <p id="Sk5b">То есть, когда пользователь преобретает курс на платформе GetCourse, на сервер передаются его данные, где сразу генерируется картинка и отправляется в телеграм-чат через телеграм-бота. И всё это полностью автоматически, без каких-либо действий со стороны человека.</p>
  <p id="rP9B">Конечно это посложнее в реализации, что для текущей задачи было бы избыточно. Но в других кейсах это может быть полезно.</p>
  <p id="r9aH"></p>
  <p id="aoGv">Если вы тоже устали от рутинных действий, напишите мне в телеграм <a href="https://t.me/DmitrySpace" target="_blank">@DmitrySpace</a>, будем автоматизировать! <br /></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/notifications-about-systematic-absences-getcourse</guid><link>https://blog.dmitryspace.com/notifications-about-systematic-absences-getcourse?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/notifications-about-systematic-absences-getcourse?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Уведомления о систематических пропусках вебинаров и невыполнения ДЗ в уроках</title><pubDate>Mon, 13 Oct 2025 11:33:04 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/77/df/77df3803-f73a-4620-b99c-77afe6ca5497.png"></media:content><category>Кейсы</category><description><![CDATA[<img src="https://img3.teletype.in/files/27/41/2741a588-c0f1-46c8-881a-12b4c6c5198c.png"></img>1. Посещаемость на вебах мы отслеживать умеем, но админам необходимо получать сообщение в телеграм-бот, если человек пропустил более 3-х вебов подряд или больше 10 вебов за месяц. Также нужна таблица посещений, в которой было бы с первого взгляда понятно, кто пропускает занятия.   2. Нам нужно что бы админу/менеджеру приходило уведомление, что конкретный пользователь не сделал домашку (Например, нужна проверка выполнения ДЗ после окончания раздела. Ученик закончил Раздел 1 и начал Раздел 2 - проверяем сдал ли ученик итоговое ДЗ в Разделе 1)]]></description><content:encoded><![CDATA[
  <p id="vJmR">Ко мне обратилась онлайн-школа, которая предлагает бесплатные курсы для лиц, зарегистрированных в немецком Jobcenter. Эта служба Германии, которая помогает людям найти работу и обеспечивает их финансовую поддержку, включая спонсирование их обучения в данной онлайн-школе. При этом школа отчитывается перед Jobcenter, предоставляя им информацию о посещениях и успеваимости учеников.<br /><br />Поэтому сотрудникам школы очень важно следить за успеваемостью своих учеников, напоминать о необходимости выполнения домашних заданий и посещения обучающих вебинаров.<br /><br />В связи, с чем владелец школы обратился ко мне с таким запросом: </p>
  <blockquote id="e4lK">1. Посещаемость на вебах мы отслеживать умеем, но админам необходимо получать сообщение в телеграм-бот, если человек пропустил более 3-х вебов подряд или больше 10 вебов за месяц. Также нужна таблица посещений, в которой было бы с первого взгляда понятно, кто пропускает занятия.<br /><br /> 2. Нам нужно что бы админу/менеджеру приходило уведомление, что конкретный пользователь не сделал домашку (Например, нужна проверка выполнения ДЗ после окончания раздела. Ученик закончил Раздел 1 и начал Раздел 2 - проверяем сдал ли ученик итоговое ДЗ в Разделе 1)</blockquote>
  <p id="gUPF">Обычными средствами платформы GetCourse эти задачи невыполнимы, поэтому без программирования тут не обойтись.</p>
  <p id="z2Uf"></p>
  <h2 id="cwsl">Мониторинг посещаемости вебинаров</h2>
  <p id="QNiA">Узнать был ли ученик на вебинаре довольно просто, но как узнать, на каком вебинаре ученику нужно было быть?</p>
  <p id="8j0t">В школе вебинары ученики проходят по группам, и у каждой группы разное расписание, которое нужно учитывать. Сотрудники школы регулярно создают расписание на неделю вперёд для всех групп, но единой базы расписания не было. Поэтому я предложил сделать доработку интерфейса платформы GetCourse, которая позволяет заносить в базу расписание определённых групп:</p>
  <figure id="ESSR" class="m_column">
    <img src="https://img3.teletype.in/files/27/41/2741a588-c0f1-46c8-881a-12b4c6c5198c.png" width="1205" />
    <figcaption>Доработка интерфеса для внесения расписания вебинаров в базу</figcaption>
  </figure>
  <p id="alkw">Отлично! Теперь мы можем проверить был ли ученик на вебинаре, который проводился для его конкретной группы и сделать наглядную табличку посещений по группам и датам вебинаров:</p>
  <figure id="v04q" class="m_column">
    <img src="https://img1.teletype.in/files/4c/b5/4cb5bcc9-ea0b-4f05-9e18-efb90ec04834.png" width="1902" />
    <figcaption>Таблица посещаемости вебинаров. Для каждой табличке добавлена кнопка для скачивания таблицы в CSV-формате для составления дальнейшей отчётности.</figcaption>
  </figure>
  <p id="iVVg">Далее делаем периодическую проверку посещений с уведомлениями о пропусках в админский телеграм-канал, и готово:</p>
  <figure id="DT9A" class="m_custom" data-caption-align="center">
    <img src="https://img3.teletype.in/files/ab/98/ab98995f-e301-45d5-aa31-2caa2d402be2.png" width="358" />
    <figcaption>Сообщение со ссылками на пользователей, <br />пропустивших вебинар 3 раза подряд, <br />и быстрым переходом в Таблицу посещений.</figcaption>
  </figure>
  <p id="ibqv"></p>
  <h2 id="pBhC">Уведомления о невыполнении ДЗ</h2>
  <p id="O7yr">Необходимо, чтобы при открытии ученику следующего обучающего Раздела в тренинге проверялось выполнение итогового ДЗ в предыдущем Разделе.</p>
  <p id="ZDrZ">В школе уже имеются процессы для открытия Разделов, поэтому встраиваем запуск такой проверки прямо в них. </p>
  <p id="A6Dx">Саму проверку реализуем через Chatium API, который интегрирован в платформу GetCourse по умолчанию. Через него же отправляем сообщение о пропусках уроков в отдельный телеграм-канал для админов и делаем отдельное напоминание конктретным пользователям:</p>
  <figure id="DVX8" class="m_custom" data-caption-align="center">
    <img src="https://img4.teletype.in/files/b1/f2/b1f24c37-247f-4d16-b95e-aeeff1faa4f8.png" width="358.8273195876289" />
    <figcaption>Уведомляение для админов содержит ссылки <br />на пропущенные учеником уроки и кнопку-ссылку <br />на этого пользователя в системе</figcaption>
  </figure>
  <figure id="sZcp" class="m_custom" data-caption-align="center">
    <img src="https://img3.teletype.in/files/2d/2e/2d2e88a9-47bf-486c-b1ae-f6bbf0230c8f.png" width="437" />
    <figcaption>Уведомление для учеников автоматически генерируется <br />и отправляется персонально каждому ученику, <br />через основного телеграм-бота школы</figcaption>
  </figure>
  <p id="kaEE"></p>
  <h2 id="yfdE">Итог</h2>
  <p id="ziGA">То, что раньше отнимало много времени у сотрудников школы, теперь полностью автоматизировано. Менеджеры школы больше не занимаются &quot;вычислением прогульщиков&quot;, а тратят время и средства на более важные дела.</p>
  <p id="VHdE">Теперь, благодаря своевременным уведомлениям и таблицы пропусков, сотрудникам онлайн-школы гораздо проще составлять отчётность об успеваемости учеников для компаний-партнёров.</p>
  <p id="lno0"></p>
  <h2 id="3q3x">Отзыв заказчика</h2>
  <figure id="rKH1" class="m_column">
    <iframe src="https://vk.com/video_ext.php?oid=-233283847&id=456239017&autoplay=0"></iframe>
  </figure>
  <p id="SOwT">Если вы тоже устали от рутинных действий, напишите мне в телеграм <a href="https://t.me/DmitrySpace" target="_blank">@DmitrySpace</a>, будем автоматизировать!</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/RnxTHnGCTMF</guid><link>https://blog.dmitryspace.com/RnxTHnGCTMF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/RnxTHnGCTMF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Оформление личного кабинета для школы криптовалютных инвесторов</title><pubDate>Mon, 23 Sep 2024 11:00:37 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/7c/8e/7c8e397b-0fb5-4f72-b11b-137a8a848533.png"></media:content><category>Кейсы</category><description><![CDATA[<img src="https://img2.teletype.in/files/9a/df/9adffd7f-4e29-4072-b9c8-721d79e3b5eb.jpeg"></img>Привет, друзья! Хочу поделиться с вами моим новым кейсом по оформлению личного кабинета в GetCourse. Обычно я не занимаюсь созданием дизайна с нуля, так как у нас есть ремейк, в котором уже проработаны многие элементы, и его намного дешевле использовать. Но недавно мне показали дизайн школы, специализирующейся на инвестициях в криптовалюты, и я просто не смог устоять.]]></description><content:encoded><![CDATA[
  <figure id="1v8M" class="m_column">
    <iframe src="https://www.youtube.com/embed/7VlArAS4k_k?autoplay=0&loop=0&mute=0"></iframe>
  </figure>
  <p id="EpRi">Привет, друзья! Хочу поделиться с вами моим новым кейсом по оформлению личного кабинета в GetCourse. Обычно я не занимаюсь созданием дизайна с нуля, так как у нас есть ремейк, в котором уже проработаны многие элементы, и его намного дешевле использовать. Но недавно мне показали дизайн школы, специализирующейся на инвестициях в криптовалюты, и я просто не смог устоять.</p>
  <p id="HRwX">Этот дизайн был настолько свежим и минималистичным, что я решил взяться за его реализацию с нуля. Темный и стильный, он выделялся на фоне всего того, с чем я работал раньше. Нужно было многое переделывать в GetCourse, и это стало отличным поводом освежить мои навыки.</p>
  <p id="XLVh">Создание нового оформления заняло у меня около двух недель. Основные страницы были полностью стилизованы, и даже добавлены кастомные страницы, такие как календарь и база знаний. Это было увлекательное погружение в проект, который, несмотря на все свои сложности, дал мне массу удовольствия.</p>
  <p id="6GH9">Одной из ключевых особенностей стало отсутствие стандартного левого меню — я заменил его на более компактное и функциональное решение. Меню, которое появляется при клике на аватарку пользователя, содержит только самые необходимые элементы. Также был добавлен поиск по курсам и урокам, что значительно улучшает навигацию.</p>
  <p id="SgEd">На главной странице пользователи могут видеть свои доступные курсы, которые подсвечиваются желтым цветом, а недоступные курсы — фиолетовым. Все это автоматически организовано с помощью скриптов, что упрощает управление контентом. К каждому курсу добавлена информация о прогрессе его прохождения, что делает интерфейс еще более информативным.</p>
  <p id="qGFt">Карточки модулей были полностью переработаны. Например, недоступные модули автоматически отображаются в черно-белой гамме, а на карточках видна информация о количестве уроков и заданий, а также прогресс их выполнения.</p>
  <p id="ca7B">Внутри уроков я убрал стандартную шапку, чтобы сфокусировать внимание пользователя на контенте. Задания теперь переключаются прямо под видео, и пользователи могут быстро переключаться между конспектом и заданиями, не переходя на другие страницы.</p>
  <p id="ipch">Одной из самых интересных страниц стал календарь событий. Здесь автоматически отображаются только предстоящие события, а прошедшие удаляются. У пользователей есть возможность подписаться на события, чтобы получать уведомления о них.</p>
  <p id="eDIV">Завершает новый дизайн база знаний с удобной навигацией по глоссарию, где все статьи сортируются автоматически.</p>
  <p id="c177">Этот проект стал для меня настоящим вызовом и отличным опытом, и я рад, что смог реализовать его на высоком уровне. Если у вас есть вопросы или предложения, пишите в комментарии — буду рад обсудить!</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/l6q1lAldOUu</guid><link>https://blog.dmitryspace.com/l6q1lAldOUu?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/l6q1lAldOUu?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Превращаем мечты в действия: Telegram-бот, который  генерирует API-запросы ваших сообщений</title><pubDate>Thu, 31 Aug 2023 00:26:14 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/5d/d6/5dd6b4c7-0327-45ed-b590-930152974432.png"></media:content><description><![CDATA[<img src="https://img2.teletype.in/files/d2/24/d2240bc3-3037-4f7e-af1a-8b6c9433aa25.png"></img>В онлайн-бизнесе чат-боты — ключ к эффективному общению. Они формируют воронки продаж, обучают и развлекают. Чат-боты Telegram’а сейчас имеют почти безграничные возможности, и каждый человек создающий бота наделяет его собственным смыслом.]]></description><content:encoded><![CDATA[
  <p id="FFRm">В онлайн-бизнесе чат-боты — ключ к эффективному общению. Они формируют воронки продаж, обучают и развлекают. Чат-боты Telegram’а сейчас имеют почти безграничные возможности, и каждый человек создающий бота наделяет его собственным смыслом. </p>
  <p id="0DbD">Создавать чат-ботов — это настоящее творчество 🎨 А мы имеем все кисти и краски, чтобы воплотить в жизнь очередной шедевр автоматизации, который визуализировали неделями в своей голове. Ведь мы прекрасно знаем на что способны чат-боты, все мы ими пользовались, и много раз 🤔 </p>
  <p id="AN29">Однако, когда дело доходит до практики, всё оказывается сложнее:</p>
  <ul id="Pcxq">
    <li id="pAmh">Если кодишь бота самостоятельно, то мало того, что нужно шарить в программировании, так ещё и API телеграма нужно изучить вдоль и поперёк. Требуется учитывать кучу типов сообщений, которые умеют отправлять боты. Текст, видео, аудио, голосовые. все они имеют определённые нюансы, в которых легко запутаться. </li>
    <li id="vhFf">Ок, будем использовать какой-нибудь сервис для создания ботов без кода. Но и тут нам предлагают идти на копромисс и смириться с тем, что некоторые возможности ботов будут урезаны.<br />Просто их недопилили, бывает 🥲</li>
  </ul>
  <p id="wIkp">Но мы-то, творческие люди, и пришли не за тем, чтобы разбираться в этих дебрях! У нас есть идея, и её нужно реализовать быстро! Ещё вчера! 🤬</p>
  <p id="IWcR"></p>
  <h2 id="MVzS">Новый способ отправки любых сообщений через телеграм-бота</h2>
  <p id="D9ke"></p>
  <p id="GjhP">Иногда мы сталкиваемся с ограничениями в отправке определенных типов сообщений. Например, на геткурсе нельзя отправлять голосовые и кругляши. Но что делать, если хочется? 😄 Вот бы существовал метод, позволяющий обойти эти ограничения и отправлять разнообразные сообщения через те платформы, которые казалось бы, не поддерживают их… Звучит удивительно, не так ли?) </p>
  <p id="xuPc">Представляю вам своё мегаинновационное решение, о котором я, признаюсь, и сам давно мечтал: телеграм-бот, способный трансформировать сообщения в API-запросы.</p>
  <p id="gS9b"></p>
  <h3 id="V6Lq"><a href="https://t.me/Msg_to_Req_bot" target="_blank">@Msg_to_Req_bot</a></h3>
  <p id="7caR"></p>
  <p id="ktvv">Этот бот обладает уникальной способностью преобразовывать ваши сообщения в специальные ссылки, позволяющие вам отправить абсолютно идентичное сообщение с помощью вашего собственного бота.</p>
  <p id="6pvB">Принцип работы этого телеграм-бота крайне прост: он автоматически создает ссылки для API-запросов, соответствующие содержимому вашего сообщения. Это позволяет вам отправлять самые разнообразные типы контента, не углубляясь в технические детали.</p>
  <p id="QHgz"></p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="6hfj">Как получить ссылку для отправки сообщения</h3>
    <ol id="93ry">
      <li id="ddRR"><strong>ВАЖНО! Предварительная подготовка: </strong>Создайте новый чат в телеграме, и добавьте в него <u>админами</u> <a href="https://t.me/Msg_to_Req_bot" target="_blank">@Msg_to_Req_bot</a> и своего собственного бота, через которого вы будете отправлять итоговые сообщения.  </li>
      <li id="gxqm">Отправьте в созданный чат сообщение в таком виде, в каком его должны получить конечные пользователи вашего бота.</li>
      <li id="dcnl">Бот <a href="https://t.me/Msg_to_Req_bot" target="_blank">@Msg_to_Req_bot</a> пришлёт в чат специальную ссылку для создания API-запроса, и проверочное сообщение, которое создано этим же запросом. <br /><em>В идеале проверочное сообщение должно полностью копировать ваше, но есть <a href="#gNwF">нюансы</a>.</em></li>
      <li id="1FNx">В полученной ссылке замените <code>{ApiToken}</code> на токен вашего бота (узнать его можно через <a href="https://t.me/BotFather" target="_blank">@BotFather</a>), а вместо <code>{ChatID}</code> укажите Telegram ID человека, кому будет отправляться сообщение. <br /><em>Для теста можете взять свой собственный ID. <a href="#vsxc">Узнать его можно у бота.</a></em></li>
      <li id="Vwa6">Скопируйте получившуюся ссылку и откройте её в браузере. Как только вы сделаете это, ваш собственный бот пришлёт вам сообщение <em>(если вы ввели свой ID).</em><br /></li>
    </ol>
    <figure id="VbRz" class="m_column">
      <img src="https://img2.teletype.in/files/d2/24/d2240bc3-3037-4f7e-af1a-8b6c9433aa25.png" width="1284" />
    </figure>
  </section>
  <h3 id="9rjB"><strong><br /><br />Как это применять на практике</strong></h3>
  <p id="qZjV">Просто используйте готовую ссылку в коде своего собственного бота, чтобы отправлять такие сообщения.</p>
  <p id="7sIl">Либо, если вы хотите отправить сообщение отпределённого типа через сервис, который ограничивает эту возможность, но при этом поддерживает создание запросов на внешние ресурсы («Вебхуки», «Вызовы URL»). То использйте эту возможность для того, чтобы прописать там ссылку, которую сгенерировал бот <a href="https://t.me/Msg_to_Req_bot" target="_blank">@Msg_to_Req_bot</a>. Таким образом, вы можете обойти ограничения платформы и успешно доставить необходимое сообщение.<br /><br /></p>
  <h3 id="11Ro"><strong>Пример использования в геткурсе</strong></h3>
  <p id="LVUZ">Вы можете отправлять любые телеграм-сообщения, включая голосовые и кругляши, прямо из геткурса, через операцию «Вызов URL» в Процессе. </p>
  <p id="JLFn">Чтобы отправить сообщение конкретному пользователю в телеграм, в ссылке нужно заменить <code>{ChatID}</code> на переменную доп поля пользователя, в которой содержится ID пользователя в телеграме. </p>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="FjSQ"><em>Есть возможность автоматически получать TelegramID всех пользователей, которые привязали свой телеграм к аккаунту геткурса. Без дополнительных действий со стороны пользователей. Если вашей онлайн-школе требуется такая настройка, пишите мне в телеграм — <a href="https://t.me/DmitrySpace" target="_blank">@DmitrySpace</a></em></p>
  </section>
  <figure id="l2dA" class="m_column">
    <iframe src="https://www.youtube.com/embed/FGUkwQzS8Hw?autoplay=0&loop=0&mute=0"></iframe>
  </figure>
  <p id="Njfw"></p>
  <h2 id="ET4U"><strong>Лайфхаки</strong></h2>
  <p id="jJyR"></p>
  <h3 id="okUF">Пересылайте боту сообщения</h3>
  <p id="5uDM">Пересланные сообщения бот понимает так же, как и обычные. Т.е. вы можете переслать любое сообщение боту и он его «скопирует».</p>
  <p id="efuP"></p>
  <h3 id="vsxc">Узнайте ID </h3>
  <p id="Xc7p">Бот <a href="https://t.me/Msg_to_Req_bot" target="_blank">@Msg_to_Req_bot</a> позволяет вам легко узнать Telegram ID канала, чата, другого бота, конкретного пользователя и ваш собственный. Для этого отправьте боту команду <code><strong>/id</strong></code>, бот откроет клавиатуру, на которой нужно выбрать ID чего или кого вы хотите получить (см. скриншот). </p>
  <figure id="UG0R" class="m_retina" data-caption-align="center">
    <img src="https://img1.teletype.in/files/0a/1a/0a1a6692-112f-4fe6-826b-205c0556dfd4.jpeg" width="320" />
  </figure>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="1BPv">Если вы хотите узнать свой собственный ID, то нажмите кнопку «User» и выберите в открывшемся окне «Избранное» или «Saved Messages». </p>
  </section>
  <p id="cvPw">В ответ вы получите ID, который вы можете использовать вместо переменной <code>{ChatID}</code> в запросах к телеграму.</p>
  <p id="5LsW"></p>
  <h3 id="LP5v">Отправляйте сообщения в чаты и каналы</h3>
  <p id="gAL7">Вы можете отправлять сообщения не только конкретным пользователям, но и в чат и даже в канал, если бот является там админом. Для этого замените <code>{ChatID}</code> в сгенерированной ссылке на имя канала (например, @my_channel_name) или на ID чата (например, -1001234567890). <strong>Да, минус в ID чата писать обязательно.</strong></p>
  <p id="0drr">Так что ликуйте, гетурсоводы, вы можете отправлять сообщения пользователям в телеграм чат, прямо из того бота, который контролирует этот чат 😏</p>
  <p id="jBWi"></p>
  <h3 id="L5ID">Добавьте в сообщение кнопки</h3>
  <p id="h6Bs">В телеграме нет возможности добавить кнопки в сообщения обычного пользователя, такая возможность доступна только ботам. Поэтому, чтобы показать боту, что в сообщении должны быть кнопки, их нужно описать в формате JSON. <em>(В параметрах кнопок используются <a href="https://core.telegram.org/bots/api#inlinekeyboardmarkup" target="_blank">стандартные опции reply_markup</a>)</em></p>
  <p id="01PY">Чтобы показать боту, где начинается описание кнопок, нужно перед этим JSON-кодом поставить ключевое слово <code>reply_markup</code>. При этом и ключевое слово, и сам JSON должны быть отформатированы в вашем сообщении, как моноширинный текст (код). Заметьте, что это вхождение моноширинного текста будет вырезано из итогового сообщения.<br /><br />Пример сообщения:  </p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="TXNm">Тут может идти любой текст, <br />можно в несколько строк.</p>
    <p id="uvvD"><code>reply_markup{<br />  &quot;inline_keyboard&quot;: [<br />    [<br />      {<br />        &quot;text&quot;: &quot;🔵 Google&quot;,<br />        &quot;url&quot;: &quot;https://google.com&quot;<br />      }<br />    ],<br />    [<br />      {<br />        &quot;text&quot;: &quot;🟡 Яндекс&quot;,<br />        &quot;url&quot;: &quot;https://ya.ru&quot;<br />      },<br />      {<br />        &quot;text&quot;: &quot;🟣 Bing&quot;,<br />        &quot;url&quot;: &quot;https://www.bing.com&quot;<br />      }<br />    ]<br />  ]<br />}</code></p>
  </section>
  <figure id="6tx9" class="m_original">
    <img src="https://img4.teletype.in/files/b3/26/b3263f5d-92b1-4ba5-b5b1-3fd136b19cfb.png" width="484" />
  </figure>
  <p id="P7aJ"></p>
  <p id="kPGX"></p>
  <h2 id="gNwF">Нюансы</h2>
  <p id="QOMm"></p>
  <h3 id="a0fq"><strong>Бот не может отправлять сообщения &quot;незнакомцу&quot;</strong></h3>
  <p id="seal">Боты в телеграме не могут писать пользователям первыми. Если пользователь до этого не контактировал с ботом, то отправить ему сообщение через этого бота не получится.</p>
  <p id="ScFk"></p>
  <h3 id="Wivn">Предпросмотр ссылок</h3>
  <p id="W4wt">Если в вашем сообщении есть ссылка, то её превьюшка будет автоматически добавлена к сообщению, т.к. когда вы отправляете сообщение боту, он не может видеть, есть ли в вашем сообщении эта превьюшка или нет.</p>
  <p id="Q8Uu">Но! Если вам не нужен предпросмотр ссылок, то его можно отключить. Для этого просто допишите к тому коду, который скинет бот:<br /><code>&amp;disable_web_page_preview=True</code><br /><br /></p>
  <h3 id="zTjq"><strong>Используйте стандартные Emoji</strong></h3>
  <p id="TQXp">Telegram-боты пока что не умеют отправлять премиум Emoji. С этим ничего не поделать. Просто учитывайте это. Любые премиум Emoji будут автоматически конвертироваться в обычные. </p>
  <p id="iCFf"></p>
  <h3 id="VFog">Обязательно ли использовать чат для работы бота?</h3>
  <p id="nEEx">Да, если вы используете сообщения с медиафайлами<em> (картинки, видео, видиозаметки, голосовые...)</em>. Вашему боту нужно &quot;увидеть&quot; то сообщение, которое вы отправили в чат, иначе он не сможет отправлять те медиафайлы, которые включены в ваше сообщение, т.к. у него не будет к ним доступа.</p>
  <p id="0GCI"></p>
  <h2 id="Iay3">Конвертация типов сообщений</h2>
  <section style="background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="J0k7"><strong>⚠️ Конвертация типов сообщений доступна только в расширенной версии. </strong></p>
  </section>
  <p id="wGSY"><strong><br />Аудио</strong> → <strong>Голосовое сообщение</strong></p>
  <p id="xQzk">Для конвертации аудиосообщения в голосовое прикрепите аудио-файл к сообщению, а в тексте этого сообщения напишите одну из ключевых фраз:<br /><code>voice</code>,<code>голосовое</code>, <code>голос</code> или <code>войс</code></p>
  <p id="Xp1K">Рекомендуемая длина голосового сообщения — 1 минута</p>
  <p id="fZ4s"></p>
  <p id="Bqia"><strong>Видео</strong> → <strong>Видеозаметка</strong> (Кругляш) </p>
  <p id="BaWM">Для конвертации видеосообщения в видеозаметку прикрепите аудио-файл к сообщению, а в тексте этого сообщения напишите одну из ключевых фраз:<br /><code>video_note</code>, <code>videonote</code>, <code>circle</code>, <code>circlevideo</code>, <code>видеозаметка</code>, <code>круг </code>или <code>кругляш</code></p>
  <p id="CANi">Рекомендуемая длина видеозаметки — 1 минута<br /><br /><em>В тексте сообщения не должно быть ничего кроме ключевого слова.<br /></em></p>
  <figure id="3DQk" class="m_column">
    <img src="https://img1.teletype.in/files/c1/cb/c1cb5726-3c8e-4674-b4c1-4bd6a93dc2e7.png" width="1296" />
  </figure>
  <p id="1rUG"></p>
  <h2 id="Ptmm">Лимиты<br /></h2>
  <h3 id="FAAI">Бесплатная версия</h3>
  <ul id="6sc7">
    <li id="bEGK">Количество ссылок, которые можно сгенерировать — 5 ссылок в день. </li>
    <li id="Aypn"><s>Конвертация типов сообщений.<br /></s></li>
  </ul>
  <h3 id="SMee">Расширеная версия</h3>
  <p id="KV1Y">Стоимость: день — 70 руб | неделя — 300 руб | месяц — 700 руб</p>
  <ul id="BDDC">
    <li id="obX0">Количество ссылок, которые можно сгенерировать — 100 ссылок в день. </li>
    <li id="S0QO">Возможность конвертации типов сообщений:<br /><strong>Аудио</strong> → <strong>Голосовое сообщение</strong><br /><strong>Видео</strong> → <strong>Видеозаметка</strong> (Кругляш) </li>
  </ul>
  <p id="hi2M"></p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <h3 id="y2FQ">Если есть вопросы, пишите в телеграм <a href="https://t.me/DmitrySp%D0%B0ce" target="_blank">@DmitrySраce</a></h3>
  </section>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/q1CQpgO2RPc</guid><link>https://blog.dmitryspace.com/q1CQpgO2RPc?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/q1CQpgO2RPc?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Оформление личного кабинета для онлайн-школы Alteco</title><pubDate>Tue, 14 Dec 2021 15:41:32 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/1c/d9/1cd94988-3369-4791-9687-cedd72afdae3.png"></media:content><category>Кейсы</category><description><![CDATA[<img src="https://img1.teletype.in/files/04/81/048143a7-b542-44a2-b02d-e77c6855e85f.png"></img>Ещё один мега-крутой ЛК родился на свет, благодаря нашей командной работе с дизайнером @daniilpostnov. Предлагаю посмотреть, что в нём особенного.]]></description><content:encoded><![CDATA[
  <p id="IfaC">Ещё один мега-крутой ЛК родился на свет, благодаря нашей командной работе с дизайнером <a href="https://t.me/daniilpostnov" target="_blank">@daniilpostnov</a>. Предлагаю посмотреть, что в нём особенного.</p>
  <p id="VaOr"></p>
  <h3 id="F23r">Меню</h3>
  <p id="KL08">Левое меню тут просто космическое)) Верите или нет, сделано оно из стандартного бокового меню геткурса. Но, конечно, пришлось немало пошаманить и внести целую кучу изменений, чтобы оно стало таким: </p>
  <figure id="NYof" class="m_column">
    <img src="https://img1.teletype.in/files/c4/c8/c4c81dbd-7064-4817-a211-f4ac7e7f2e6c.gif" width="800" />
    <figcaption>Демонстрация работы меню</figcaption>
  </figure>
  <p id="EveO">Главная фишка этого меню в том, что оно может быть как компактным, так и развёрнутым (по умолчанию оно широкое). Пользователи сами выбирают, как им будет удобнее. Для этого внизу есть кнопка &quot;свернуть/развернуть&quot;. Выбор пользователя запоминается при переходах между страницами. Т.е. если пользователь ранее выбрал компактный вариант, то ему откроется страница сразу со свёрнутым меню.<br /><br />Подменю больше не открывается как раньше, все пункты подменю перенесены &quot;внутрь&quot; кнопок меню и разворачиваются, при нажатии на них. <br /><br /></p>
  <h3 id="uVY2">Главная страница тренингов</h3>
  <p id="Fw3O">Здесь карточки тренингов застилизованы так, что попасть внутрь тренинга можно только при нажатии на кнопку &quot;Начать обучение&quot;. Кстати, эти карточки - не кастомные блоки, а настоящий список тренингов. Т.е. если в онлайн-школе появится новый тренинг, то его карточка будет автоматически выглядеть так же.</p>
  <p id="U4lc"></p>
  <figure id="445z" class="m_column">
    <img src="https://img3.teletype.in/files/ee/cf/eecf42ef-3862-4d31-ba01-9c67f957c53e.png" width="1536" />
  </figure>
  <p id="8VzL">Так же на этой странице есть блок &quot;Магазин&quot;, где по сути отображаются недоступные тренинги, которые можно приобрести:</p>
  <figure id="QCb9" class="m_column">
    <img src="https://img4.teletype.in/files/bd/fe/bdfecce8-8154-45dc-8877-e45970a9d152.png" width="1536" />
  </figure>
  <p id="2B5z"></p>
  <h3 id="vzbB">Список модулей</h3>
  <p id="4bXH">Прежде всего обратите внимание на шапку страницы. Она тоже генерируется автоматически, картинка и описание модуля подтягиваются так же из чатиума, а кол-во уроков в тренинге и кол-во заданий определяется скриптом.</p>
  <figure id="aZKe" class="m_column">
    <img src="https://img1.teletype.in/files/c9/97/c99754d3-29db-4d51-b94d-929f06f28616.png" width="1920" />
  </figure>
  <p id="zWBr">Внутри каждого тренинга есть модули, и они выглядят иначе, чем обычные тренинги. У модулей есть 3 состояния: обычное, закрытое и пройденное. Пройденные модули определяются скриптом, и на такие карточки автоматически ставится зелёная галочка. На закрытых модулях вместо галочки будет замочек. Также карточки модулей автоматически нумеруются. </p>
  <p id="SufH">Ещё одна забавная штука - это то, что тут ученики видят бейджики, которые они ещё не получили (они выглядят полупрозрачными), что мотивирует их двигаться дальше. В геткурсе такое поведение бейджей не предусмотрено, поэтому этот момент тоже, конечно, сделан через скрипт.</p>
  <p id="z5HZ"></p>
  <h3 id="ThoO">Страница модуля</h3>
  <p id="jrM3">Здесь используется прогресс-бар, который показывает сколько модулей уже пройдено, и сколько осталось пройти до следующего модуля. Такой прогресс-бар я уже давно <a href="https://getscript.ru/stages-progress-bar" target="_blank">использую</a>, тут я его просто немного модифицировал в соответствии с дизайн-макетом.<br /><br />Список уроков тоже переделан и очень упрощён визуально. Но в целом, работает он так же, как мы с вами привыкли)   <br /><br />И ещё одна максимально простая, но такая удобная штука - это кнопки переключения модулей. С помощью них можно перейти на следующий или предыдущий модуль. Это просто маст-хэв)<br /></p>
  <figure id="Btrj" class="m_column">
    <img src="https://img2.teletype.in/files/d1/d9/d1d9f565-8ba4-4f8b-a0d9-6b30ebb82859.png" width="1920" />
  </figure>
  <p id="QH8L"></p>
  <h3 id="4ZAp">Страница урока</h3>
  <p id="0R0y">У уроков внутри похожая шапка, как и на страницах тренингов. Кнопки следующий и предыдущий урок, так же перемещены в неё. </p>
  <p id="Ud2e">В целом, контент самих уроков почти не трогался. В основном добавились скругления у элементов и заменены шрифты. Но некоторые блоки всё же были сильно застилизованы, хотя и не попали на этот скриншот. Среди них &quot;список файлов&quot;, &quot;форма&quot;, &quot;анкета&quot;, &quot;тестирование&quot; и некоторые другие. <br /><br />Но сложнее всего стилизовать оказалось блок комментариев, впрочем, как обычно) В нём очень много разных элементов, а его вёрстка оставляет желать лучшего, поэтому стили приходилось порой забивать костылями))<br />  </p>
  <figure id="LHhB" class="m_column">
    <img src="https://img4.teletype.in/files/ff/54/ff5411b7-0e03-49ac-98ab-72e94d6b3ca0.png" width="1920" />
  </figure>
  <h3 id="XAxf"><br />Остальные страницы </h3>
  <p id="YnCR">На самом деле в этой онлайн-школе застилизованы почти все страницы, куда может попасть рядовой пользователь. Скринить их все я не стал, т.к. их реально много, но все красивые) Кто не верит на слово, пишите в ЛС)) </p>
  <p id="e1ma">И напоследок, вот, подборка самых интересных страниц. Все они были стилизованы на основе стандартных. Думаю, описывать каждую нет необходимости. Но если у вас появились вопросы, пишите в комменты, всем отвечу :)</p>
  <figure id="Gk1Y" class="m_column">
    <img src="https://img3.teletype.in/files/62/ac/62ac8bd5-2232-4bbb-b3aa-864321baebd0.png" width="1920" />
    <figcaption>Страница расписания</figcaption>
  </figure>
  <figure id="Oqok" class="m_column">
    <img src="https://img2.teletype.in/files/97/e3/97e3b73c-ba50-4902-8f26-93364c08417d.png" width="1920" />
    <figcaption>Страница профиля</figcaption>
  </figure>
  <figure id="vPAy" class="m_column">
    <img src="https://img4.teletype.in/files/fa/4c/fa4cf4dc-141b-4a1a-85b2-191559c98f54.png" width="1536" />
    <figcaption>Страница настроек уведомлений</figcaption>
  </figure>
  <figure id="21OV" class="m_column">
    <img src="https://img1.teletype.in/files/80/4b/804bd6dd-918f-48d4-91f0-796f4535cb3e.png" width="1920" />
    <figcaption>Страница покупок</figcaption>
  </figure>
  <figure id="vCw6" class="m_column">
    <img src="https://img4.teletype.in/files/38/72/387246ac-dc78-4f53-b5a4-5141bef4307d.png" width="1920" />
    <figcaption>Страница оплаты заказа</figcaption>
  </figure>
  <p id="OnPm"><br />Посмотреть оригиналы скриншотов в хорошем разрешении можно тут:<br /><a href="https://drive.google.com/drive/folders/1BQ3XBK1zztsPgF0gVu48yUoGMjyvgMWR?usp=sharing" target="_blank">https://drive.google.com/drive/folders/1BQ3XBK1zztsPgF0gVu48yUoGMjyvgMWR?usp=sharing</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/lesson-list-notes</guid><link>https://blog.dmitryspace.com/lesson-list-notes?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/lesson-list-notes?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>Полезности для карточек уроков и тренингов в GetCourse</title><pubDate>Tue, 23 Nov 2021 19:17:48 GMT</pubDate><category>Шпаргалки</category><description><![CDATA[Скрыть кол-во уроков на карточке тренинга]]></description><content:encoded><![CDATA[
  <p id="6pla"><strong>Скрыть кол-во уроков на карточке тренинга</strong></p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="TWCV"><code>.stream-title + div b {  display: none; }</code></p>
  </section>
  <p id="NkqS"></p>
  <p id="w4zv"><strong>Скрыть имя основного преподавателя на карточке тренинга <br />(код для JavaScript-блока)</strong></p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="nLEe"><code>$(&quot;.stream-title + div&quot;).each((i,el)=&gt;{<br />   $(el).html((i,t)=&gt;{return t.replace(&quot;Dmitry Space.&quot;, &quot;&quot;)});<br />});</code></p>
  </section>
  <p id="85Z5">* Моё имя нужно заменить на имя преподавателя</p>
  <p id="qtEP"></p>
  <p id="7dKj"><strong>Убрать иконки на карточках урока</strong></p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="YvbF"><code>html .lesson-list .state-icon-block {<br />    display: none;<br />}</code><br /><code>html .lesson-list li .info {<br />    padding: 0 20px;<br />    margin: 5px;<br />    border-left: none;<br />}</code><br /><code>html .lesson-list .user-state-bg { <br />    background: none;<br />}</code></p>
  </section>
  <p id="F2mK"></p>
  <p id="aeI1"><strong>Скрыть картинки у всех карточек уроков</strong></p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="n48B"><code>html .lesson-list li table .item-image { display: none; }</code></p>
    <p id="NgXH"><code>html .lesson-list .item-main-td.item-with-image { height: auto; }</code></p>
  </section>
  <p id="8YVz"></p>
  <p id="ETOb"><strong>Показывать картинки уроков в мобильной версии сайта</strong></p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="mvYv"><code>@media (max-width: 520px) {<br />  html .lesson-list li .item-image {<br />    display: table-cell;<br />  }<br />}</code></p>
  </section>
  <p id="RYaz"></p>
  <p id="Ua20"><strong>Добавить лейбл/ярлычок на карточку урока</strong></p>
  <section style="background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="6SWd"><strong><code>.lesson-id-149282656 {<br />  position: relative;<br />}</code></strong></p>
    <p id="5QO0"><strong><code>.lesson-id-149282656:after {<br />  content:url(&quot;https://img.icons8.com/nolan/64/cat.png&quot;);<br />  position: absolute;<br />  top: 5px; right: 5px;<br />}</code></strong></p>
  </section>
  <p id="YojG">* ID урока заменяете на свой</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://blog.dmitryspace.com/gc-payment-methods</guid><link>https://blog.dmitryspace.com/gc-payment-methods?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace</link><comments>https://blog.dmitryspace.com/gc-payment-methods?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=dmitryspace#comments</comments><dc:creator>dmitryspace</dc:creator><title>CSS-селекторы платёжных систем на странице оплаты в GetCourse</title><pubDate>Sat, 30 Oct 2021 15:34:43 GMT</pubDate><category>Шпаргалки</category><description><![CDATA[ЮMoney
#YANDEXMONEY]]></description><content:encoded><![CDATA[
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ZfG4"><strong>ЮMoney</strong><br /><code>#YANDEXMONEY</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="2qcX"><strong>ЮKassa (оплата картой)</strong><br /><code>#YaKassa_bank_card</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="1aep"><strong>ЮKassa Рассрочка</strong><br /><code>#YaKassa_installments</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="u6G9"><strong>ЮKassa Сбербанк.Онлайн</strong><br /><code>#YaKassa_sberbank</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="3VoD"><strong>ЮKassa Личный кабинет Альфабанка</strong><br /><code>#YaKassa_alfabank</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="fRpH"><strong>ЮKassa WebMoney</strong><br /><code>#YaKassa_webmoney</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="MEUP"><strong>ЮKassa Баланс телефона</strong><br /><code>#YaKassa_mobile_balance<br /></code>или<code><br />#YaKassa_MC</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="l3SB"><strong>ЮKassa Наличные</strong><br /><code>#YaKassa_cash</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="8c9e"><strong>ЮKassa Qiwi</strong><br /><code>#YaKassa_qiwi<br /></code>или <code><br />#YaKassa_QW</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="cOEh"><strong>ЮKassa ЮMoney</strong><br /><code>#YaKassa_yoo_money<br /></code>или <code><br />#YaKassa_PC</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="r5pi"><strong>СloudPayments</strong><br /><code>.cloudpayments-block:not(.cloudpayments-kz)</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="SCBc"><strong>Apple Pay от СloudPayments<br /></strong><code>.cloudpayments-block[class*=&quot;cloudpayments-applepay-blockcloud-payments-pay-button&quot;]</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="xUK1"><strong>СloudPayments KZ<br /></strong><code>.cloudpayments-kz</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="BiM9"><strong>Stripe</strong><br /><code>#stripe_card</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="isbe"><strong>Тинькофф </strong><br /><code>#tinkoff</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="2AsU"><strong>Тинькофф Кредит</strong><br /><code>#tinkoffcredit</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="oxhr"><strong>Долями</strong><code><br />#dolami_button_container</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="od5x"><strong>WayForPay</strong><br /><code>#wayforpay</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="QcH7"><strong>Qiwi Касса</strong><br /><code>#qiwi_kassa_card</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="G59w"><strong>Prodamus</strong><br /><code>#prodamus_card</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="85RY"><strong>bePaid</strong><br /><code>#bepaid</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="s7Xh"><strong>2checkout</strong><br /><code>#co2</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="INRG"><strong>PayPal</strong><br /><code>#PAYPAL</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="JaVu"><strong>RBK.money</strong><br /><code>#rbkmoney_new</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ouwA"><strong>Robokassa</strong><br /><code>#robokassa</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Ht12"><strong>Z-Payment</strong><br /><code>#zpayment</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="UKD6"><strong>Interkassa</strong><br /><code>form[action*=&quot;interkassa&quot;]</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Qzz5"><strong>Mandarin</strong><br /><code>#mandarinpay</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="datn"><strong>Сбербанк Эквайринг</strong><br /><code>.sberbank-acquiring-block</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="tRe7"><strong>Квитанция на оплату в банке</strong><br /><code>#kvit</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Vj4K"><strong>Счет на безналичную оплату</strong><br /><code>#invoice</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="kljG"><strong>Cобственные способы оплаты (все сразу)</strong><br /><code>.xdget-customPayformMethods</code></p>
  </section>
  <section style="background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="QAo9"><strong>Cобственный способ оплаты (один)</strong><br /><code>.xdget-customPayformMethods table:nth-child(N)</code></p>
    <p id="7HMF"><br />Где N — порядковый номер собственного способа оплаты</p>
  </section>

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