Автор: @RDGlessons
Сегодня Telegram выпустил обновление Telegram API — Gateway API. Оно представлено как инструмент, способный заменить СМС-верификации. В этой статье мы расскажем о преимуществах,…
Разработчик Телеграм ботов, портфолио: https://t.me/infoazizbot/aziz
Автор: @RDGlessons
Сегодня Telegram выпустил обновление Telegram API — Gateway API. Оно представлено как инструмент, способный заменить СМС-верификации. В этой статье мы расскажем о преимуществах,…
Сегодня Telegram — это уже не просто мессенджер, а целая экосистема, где крутятся подписки, донаты, продажи и даже криптовалюта. Почти всегда в этом участвуют внешние сервисы, а чаще всего — боты. Я собрал те, что реально используют авторы, контент-мейкеры и блогеры.
В данной статье мы разберём создание системы розыгрышей за голоса (бусты) на ваши ресурсы через мини-приложение на PuzzleBot. Рассмотрим оформление дизайна, техническая реализация и настройка баз данных для запуска системы.
В данной статье мы разберём подключение GPT к вашему бизнес-аккаунту, что позволит боту отвечать на практически любые сообщения от вашего имени.
В отличие от любого другого способа этот не требует знаний программирования и ручной настройки интеграции с ИИ-моделями.
В этой статье мы делаем отправку случайных команд без повторения используя исключительно PuzzleBot.
Иногда разработчики сталкиваются с задачей автоматических оповещений на указанную пользователем дату. В этой статье мы рассматриваем решение этой задачи, взяв в пример бота с напоминаниями о днях рождения.
В данной статье мы разбираем и разрабатываем удобный интерфейс для обработки заявок от пользователей с прямой интеграцией PuzzleBot - NocoDB.
В этой статье мы разберём и создадим кейс: мини-приложение для регистрации на мероприятие с подтверждением номера телефона через новый инструмент Telegram – The Gateway и добавлением в лист ожидания.
Автор: @RDGlessons
Этот HTML-блок создаёт красивое вступление с Lottie-анимацией, градиентным фоном и частицами на заднем плане. Также в text title и text date можно указать заголовок и дату окончания розыгрыша соответственно.
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"\n \n\n\nЭтот HTML-блок будет отображать дополнительную информацию о розыгрыше. Если розыгрыш завершён в этом блоке будет отображаться список победителей. Заголовок winner-title можно изменить, а описание советую менять в формуле переменной contest_decription.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Добавьте фиксированную клавиатуру с двумя кнопками:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["\"Отдать голос\" – ссылка (браузер по умолчанию). Укажите ссылку на ресурс формата https://t.me/username?boost. Нажатие на эту кнопку откроет окно \"Голосов\" ресурса.","\"Участвовать\" — кнопка-условие. Введите название кнопки-условия: \"Участвовать в конкурсе\". Ниже мы разберём её настройку.2. Создадим кнопку-условие \"Участвовать в конкурсе\" со следующими правилами:
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Правило 1:
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте условие проверки значения переменной.
Укажите следующее выражение: winners_list – полное совпадение – \"-none\" (кавычки писать не надо).
В \"Название кнопки\" введите \"Розыгрыш завершён\"
В действиях выберите: \"Без действия\"
Правило 2:
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте условие проверки строки NocoDB.
Выберите базу данных \"Розыгрыш\"
Выберите таблицу \"Участники\"
Добавьте фильтр с выражением, проверяющим соответствие поля user_id с переменной {{USER_ID_TEXT}}
В \"Название кнопки\" введите \"Вы уже участвуете\"
В действиях выберите: \"Без действия\"
Исключающее правило:
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В \"Название кнопки\" введите \"Участвовать\"
В действиях добавьте \"Отправить команду или условие\" и введите условие \"Проверка голоса\". Создание и настройку этого условия мы разберём ниже.
3. Создадим условие \"Проверка голоса\"
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В правиле добавим проверку \"Голос для ресурсов (Boost)\"
Выберите ресурсы, которым необходимо будет дать голос
Дополнительно можно указать количество голосов на каждый ресурс или в сумме.
В действиях:
Добавим действие изменение переменной members_num по выражению +1
Добавим действие \"Создать строку (NocoDB)\"
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Выберем базу \"Розыгрыш\"
Выберем таблицу \"Участники\"
Заполним поля следующим образом:
Добавим действие \"Переход к мини-приложению\" и укажите мини-приложение \"Теперь в розыгрыше\". Позже мы разберём её создание.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Исключающее правило:
Добавим действие \"Переход к мини-приложению\" и укажите мини-приложение \"Условия не выполнены\". Ниже мы разберём её создание.
4. Создадим два мини-приложения: \"Теперь в розыгрыше\" и \"Условия не выполнены\". Технически эти мини-приложения очень похожи – единственное, что в них будет отличаться, это текст попапа.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте в обоих мини-приложениях HTML блок с кодом:
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"\n \n\n\n\nТеперь вы участвуете в розыгрыше. О результатах сообщим в день окончания розыгрыша.
\nЗамените в этом коде miniAppId на ID мини-приложения \"Вступление в розыгрыш\". Чтобы получить данный ID, необходимо опубликовать изменения, открыть мини-приложение \"Вступление в розыгрыш\" и скопировать значение после startapp= в ссылке для его открытия. Оно выглядит примерно так: c3a4efad48231cd3.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Затем измените тексты попапа в полях h2 и p в мини-приложении \"Условия не выполнены\" на тексты, подобные: \"Условия не выполнены. Повторите попытку, выполнив условия.\"
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Добавьте в обоих мини-приложениях блок \"Подставновка\" и в поле \"Название Мини-приложения\" введите \"Вступление в розыгрыш\". Это позволит сделать эффект всплывающего попапа над основным мини-приложением.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"fee8959c-eaca-5955-9629-1440cad673f4","width":2400,"height":1350,"size":215270,"type":"png","color":"33a9f4","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIADgAOAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAYH/8QAIxAAAgEDAwQDAAAAAAAAAAAAAQIEAAMRBQYHISMxQRMiUf/EABUBAQEAAAAAAAAAAAAAAAAAAAYH/8QAIBEAAgAFBQEAAAAAAAAAAAAAAQIAAwQFIQYRIkFRMf/aAAwDAQACEQMRAD8AaPDETb+ucUpP1LIvMsghlYAnDsAPGfQpjqpJtPemkqSBx7PggRo0yp1iScygnl9APZ9gxtu7DEfL7qxLacDEQ1rlk5i04p3Br0Lj5I0PW59iz3+3akui9WbPQHFGtT0siZeGZ0BPHoeCGmlquol2VVRyBywCfTGBtcfJ+7ef2q0FG3yJASd4/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"5. Создадим команду \"Определить победителя\". Эту команду следует выполнить в момент окончания розыгрыша, так как она выберет случайного участника из таблицы и добавит его в список победителей. Команду необходимо выполнить столько раз, сколько победителей должно быть. Команду необходимо выполнять только относительно себя. Рекомендуется включить опцию \"Выполнение только из клавиатуры\" в дополнительных настройках.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Действия:
Добавьте действие \"Изменить переменную\" и введите выражение member_num = {{random_member}}
Добавьте действие \"Создать строку (NocoDB)\":
Выберите базу данных \"Розыгрыш\"
Выберите таблицу \"Победители\"
Введите следующие значения для столбцов:
По желанию можно добавить действие отправки команды с поздравлением с включенной опцией \"Выполнить другому пользователю\", в поле получателя введите {{get_random_member_id}}. Таким образом победитель получит уведомление.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"d9038b71-8f88-59f7-aa57-a1a46d4d33fe","width":2400,"height":1350,"size":206232,"type":"png","color":"31a9f6","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIADgAOAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAYH/8QAIxAAAQMEAQQDAAAAAAAAAAAAAgEDBAAFBxESBhYhQVJjkf/EABYBAQEBAAAAAAAAAAAAAAAAAAcFBv/EACMRAAEDAwMFAQAAAAAAAAAAAAEAAgMGESEEBRIVIjFRYaH/2gAMAwEAAhEDEQA/AGHhkbfd8H9Q3eRAYfdZGaouk0JEPFpFTyqeqQamjfp9+igaSAeH6Ua0k6LUU3NM5oJHPNs4COHd320p9J+If6n9VNjC+XqJi27Q4l3msx3Bl8mm5BiBbbTexRdLupFR6aF++RvcwE9mbC/laamtTPHsMrGPIHfi5t4WI8z+ZftJnEekX3K//9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Всё готово 🎉
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Больше уроков, кейсов и познавательных материалов:
"}},{"type":"link","cover":false,"hidden":false,"anchor":"","data":{"link":{"type":"link","data":{"url":"https://api.vc.ru/v2.8/redirect?to=http%3A%2F%2Ft.me%2Frdglessons&postId=1956273","title":"RDG :// Уроки","description":"⚡ Лайфхаки, уроки по PuzzleBot Бустим https://t.me/RDGlessons?boost 🤖 Заказать бота https://t.me/infoazizbot/order По вопросам @I_feel_O_O","image":{"type":"image","data":{"uuid":"0c5ec522-6456-5837-a7a9-efa6a12645d2","width":180,"height":180,"size":4016,"type":"png","color":"26a5e4","hash":"","external_service":[]}},"v":1,"hostname":"t.me"}}}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Мой личный телеграм:
"}},{"type":"link","cover":false,"hidden":false,"anchor":"","data":{"link":{"type":"link","data":{"url":"https://api.vc.ru/v2.8/redirect?to=http%3A%2F%2Ft.me%2FI_feel_O_O&postId=1956273","title":"αzιz :// chat-bots | RDG","description":"CEO & TON / Автор @RDGlessons / Чат-боты и воронки / Обо мне t.me/InfoAzizBot/aziz / Сайт https://pxsto.re","image":{"type":"image","data":{"uuid":"0c5ec522-6456-5837-a7a9-efa6a12645d2","width":180,"height":180,"size":4016,"type":"png","color":"26a5e4","hash":"","external_service":[]}},"v":1,"hostname":"t.me"}}}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":1,"reposts":0,"views":34,"hits":170,"reads":null,"online":0},"dateFavorite":0,"hitsCount":170,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":"Система розыгрышей за голоса, создание базы данных NocoDB, оформление дизайна, настройка мини-приложения на PuzzleBot, Telegram Premium, победители.","url":"https://vc.ru/telegram/1956273-sozdanie-sistemy-rozygryshov-na-puzzlebot","author":{"id":1241553,"name":"Aziz","nickname":"azizbots","description":"Разработчик Телеграм ботов, портфолио: https://t.me/infoazizbot/aziz","uri":"/azizbots","avatar":{"type":"image","data":{"uuid":"6f0dfae0-ef60-5e8d-81ba-4a3278232c11","width":2400,"height":2400,"size":1131847,"type":"png","color":"351059","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABAUHCP/EACUQAAEDBAECBwAAAAAAAAAAAAECAwQABQcREgYTCBQhMVFhcf/EABgBAAIDAAAAAAAAAAAAAAAAAAUHAwQG/8QAIxEAAQMDAgcAAAAAAAAAAAAAAQACAwQFERIhMUFRYXGh0f/aAAwDAQACEQMRAD8AB8MuGMVysETbWW4F6vV6gSBKuIe2mA5s9tCkg7BSCPT3P4aZlU2almbBE8OAIJA5jv4TAss0UVM+Iv09cDOQfixXc8fdLxrlLjG8cy0+4gqDZAOlEbq86ipySShL7ZTBxAl9J1habMidF33ykt5nnHUVdtwp2fvVQ2LaOVw44KMWQAW95UlfffL7hLyySs7PI/NBHSPydysu47lf/9k="}},"cover":{"cover":{"type":"image","data":{"uuid":"ca390117-828f-5bd2-acc1-406b81f2ff93","width":1800,"height":800,"size":366873,"type":"png","color":"f6c28d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQII/8QAHhABAAEEAgMAAAAAAAAAAAAAAQIAAwQREjEiQaH/xAAYAQACAwAAAAAAAAAAAAAAAAADBwQFBv/EAB4RAAICAgIDAAAAAAAAAAAAAAABAxECBAUSMUFR/9oADAMBAAIRAxEAPwDb+ZM2yEGXyl7zUbkboZcXig+eTa5y8nt9FZPLStt0GWLovKVhdVdi6ph7qTVgo/QGrvtqp6r4Tj//2Q=="}},"cover_y":20},"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4204936,"userId":1241553,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4204936"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":581402,"userId":1241553,"count":0,"shareImage":"https://api.vc.ru/achievements/share/581402"}],"lastModificationDate":1764984798,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":"1e859157-d7e3-6c7e-a2c7-02421fa799ff","isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":true,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":true,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":"plus","isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":3680492,"name":"Телеграм","description":"Все о мессенджере Телеграм: новые фичи, каналы, новости, Павел Дуров, TON","uri":"/telegram","avatar":{"type":"image","data":{"uuid":"a6bd3ea3-1a25-5402-8c27-d063a43ad500","width":500,"height":500,"size":6665,"type":"jpg","color":"28a7e8","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgME/8QAIRAAAQIGAgMAAAAAAAAAAAAAAQMEAAIFERIxBiETFEH/xAAVAQEBAAAAAAAAAAAAAAAAAAAEB//EABkRAAIDAQAAAAAAAAAAAAAAAAIDAAERYf/aAAwDAQACEQMRAD8AZcWpFGqLJ24fVgJKt2yi3ryjGY4g2F5tkn4AeoNBQ21FOS5hsMSHKrM7I69C1qAgLbLd5yTVA8uo0AdQmoSf/9k="}},"cover":{"type":"image","data":{"uuid":"ebe1c612-381b-52c8-897c-ac8a8002770f","width":1920,"height":1080,"size":636123,"type":"jpg","color":"def2f4","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAwEI/8QAHxAAAQMEAwEAAAAAAAAAAAAAAQACERIiQVEhMTKS/8QAFwEAAwEAAAAAAAAAAAAAAAAAAAEDBP/EABURAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIRAxEAPwDSQjeNKtIgXD5V2EVToNx8jKRrnUjk9bQUf//Z"}},"lastModificationDate":1721721308,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"telegram","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[{"id":1,"count":4},{"id":22,"count":1},{"id":15,"count":1}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1919028,"customUri":"podklyuchenie-chatgpt-k-biznes-akkauntu","subsiteId":1241553,"title":"Подключение ChatGPT к Бизнес-аккаунту","date":1744302362,"dateModified":1745919752,"blocks":[{"type":"text","cover":true,"hidden":false,"anchor":"","data":{"text":"В данной статье мы разберём подключение GPT к вашему бизнес-аккаунту, что позволит боту отвечать на практически любые сообщения от вашего имени.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В отличие от любого другого способа этот не требует знаний программирования и ручной настройки интеграции с ИИ-моделями.
"}},{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"13881e3e-3bec-5c94-a920-7afb70edbc35","width":2048,"height":1152,"size":447237,"type":"png","color":"c33459","hash":"","external_service":[]}}}]}},{"type":"delimiter","cover":false,"hidden":false,"anchor":"","data":{"type":"default"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Перед началом работы необходимо подключить ваш бот к плагину @ChatGPT_PuzzleBot. Инструкция:
"}},{"type":"video","cover":false,"hidden":false,"anchor":"","data":{"title":"","video":{"type":"video","data":{"thumbnail":{"type":"image","data":{"uuid":"b6b30092-ff13-5c56-abdb-678fc56213e5","width":1280,"height":720,"size":112535,"type":"jpg","color":"367b6c","hash":"","external_service":[]}},"width":800,"height":450,"time":0,"external_service":{"name":"youtube","id":"Pb2-Dze6VYg"}}}}},{"type":"delimiter","cover":false,"hidden":false,"anchor":"","data":{"type":"default"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Разработка"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h3","text":"Переменные"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Откройте вкладку \"Переменные\" в вашем боте и добавьте переменные:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["prompt - текстовая переменная."],"type":"UL"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"c3a1fa7a-dc43-5b4e-861c-7ce636a61e2d","width":2257,"height":1000,"size":119577,"type":"png","color":"31a5ef","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Для дальнейшей работы требуется включить Business Mode у вашего бота через @BotFather: для этого откройте @BotFarher > /mybots > Выберите бота > Bot Settings > Business Mode > Turn on.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Затем откройте настройки вашего профиля (в телеграм) > Бизнес аккаунт > Чат-бот > Укажите ссылку на ваш бот и выдайте доступ к необходимым чатам.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Откройте PuzzleBot > Выберите бота > Нажмите на \"Добавить ресурс\" > Добавьте новый бизнес-аккаунт.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"b1582f28-f77d-51ef-962c-806b9e58467c","width":2396,"height":1150,"size":185925,"type":"png","color":"f9f7f4","hash":"","external_service":[]}}}]}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"92925416-4fa2-50c4-af82-4f1fb13a0b17","width":2598,"height":1338,"size":165192,"type":"png","color":"32a4ef","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Откройте Бизнес-аккаунт, далее перейдите во вкладку \"Конструктор\".
"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h3","text":"Конструктор"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Невероятно простая структура бота.","image":{"type":"image","data":{"uuid":"e5a0fd1b-1dc2-5e7d-ba54-2e4ebf861c8f","width":5088,"height":3366,"size":249859,"type":"jpg","color":"71b3d7","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте команду \"gpt tracker\"
Добавьте действие \"Отправить запрос\"
В качестве ссылки укажем:
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"https://api.pxsto.re/main/puzzlebot-tracker","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Выберем тип запроса: POST
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Добавим параметры:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["bot: {{BOT_USERNAME_TEXT}}","token: Токен входящих запросов из настроек вашего ботаbusiness_operator: {{BUSINESS_OPERATOR_USER_ID_TEXT}}
","business_connection: {{BUSINESS_CONNECTION_ID}}
"],"type":"UL"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"4131b9b9-6392-57ac-94ec-571c41e85853","width":3753,"height":2146,"size":875653,"type":"png","color":"33a8f3","hash":"","external_service":[]}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Бот автоматически отправит ответ написавшему пользователю после генерации ответа.
"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h3","text":"События"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Откройте вкладку \"События\" в настройках бизнес-аккаунта. Далее перейдите в раздел \"Неизвестная команда\".
Добавьте действие записи сообщения в переменную, и укажите переменную {{prompt}}
Затем добавьте действие на отправку команды \"gpt tracker\".
При желании в дополнительных настройках можно ограничить работу для определённых категорий.
Сохраните изменения и включите событие.
🔥 Всё готово! Теперь ChatGPT будет вести за вас диалоги по заданной вами инструкции!
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Больше интересных статей и уроков можно найти у нас на канале, подписывайтесь!
"}},{"type":"link","cover":false,"hidden":false,"anchor":"","data":{"link":{"type":"link","data":{"url":"https://api.vc.ru/v2.8/redirect?to=http%3A%2F%2Ft.me%2Frdglessons&postId=1919028","title":"RDG :// Уроки","description":"⚡ Лайфхаки, уроки по PuzzleBot Бустим https://t.me/RDGlessons?boost 🤖 Заказать бота https://t.me/infoazizbot/order По вопросам @I_feel_O_O","image":{"type":"image","data":{"uuid":"0c5ec522-6456-5837-a7a9-efa6a12645d2","width":180,"height":180,"size":4016,"type":"png","color":"26a5e4","hash":"","external_service":[]}},"v":1,"hostname":"t.me"}}}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":2,"reposts":0,"views":38,"hits":511,"reads":null,"online":0},"dateFavorite":0,"hitsCount":511,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":"Подключение ChatGPT к бизнес-аккаунту, настройка бота, использование @ChatGPT_PuzzleBot, инструкции по работе с Telegram.","url":"https://vc.ru/telegram/1919028-podklyuchenie-chatgpt-k-biznes-akkauntu","author":{"id":1241553,"name":"Aziz","nickname":"azizbots","description":"Разработчик Телеграм ботов, портфолио: https://t.me/infoazizbot/aziz","uri":"/azizbots","avatar":{"type":"image","data":{"uuid":"6f0dfae0-ef60-5e8d-81ba-4a3278232c11","width":2400,"height":2400,"size":1131847,"type":"png","color":"351059","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABAUHCP/EACUQAAEDBAECBwAAAAAAAAAAAAECAwQABQcREgYTCBQhMVFhcf/EABgBAAIDAAAAAAAAAAAAAAAAAAUHAwQG/8QAIxEAAQMDAgcAAAAAAAAAAAAAAQACAwQFERIhMUFRYXGh0f/aAAwDAQACEQMRAD8AB8MuGMVysETbWW4F6vV6gSBKuIe2mA5s9tCkg7BSCPT3P4aZlU2almbBE8OAIJA5jv4TAss0UVM+Iv09cDOQfixXc8fdLxrlLjG8cy0+4gqDZAOlEbq86ipySShL7ZTBxAl9J1habMidF33ykt5nnHUVdtwp2fvVQ2LaOVw44KMWQAW95UlfffL7hLyySs7PI/NBHSPydysu47lf/9k="}},"cover":{"cover":{"type":"image","data":{"uuid":"ca390117-828f-5bd2-acc1-406b81f2ff93","width":1800,"height":800,"size":366873,"type":"png","color":"f6c28d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQII/8QAHhABAAEEAgMAAAAAAAAAAAAAAQIAAwQREjEiQaH/xAAYAQACAwAAAAAAAAAAAAAAAAADBwQFBv/EAB4RAAICAgIDAAAAAAAAAAAAAAABAxECBAUSMUFR/9oADAMBAAIRAxEAPwDb+ZM2yEGXyl7zUbkboZcXig+eTa5y8nt9FZPLStt0GWLovKVhdVdi6ph7qTVgo/QGrvtqp6r4Tj//2Q=="}},"cover_y":20},"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4204936,"userId":1241553,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4204936"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":581402,"userId":1241553,"count":0,"shareImage":"https://api.vc.ru/achievements/share/581402"}],"lastModificationDate":1764984798,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":"1e859157-d7e3-6c7e-a2c7-02421fa799ff","isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":true,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":true,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":"plus","isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":3680492,"name":"Телеграм","description":"Все о мессенджере Телеграм: новые фичи, каналы, новости, Павел Дуров, TON","uri":"/telegram","avatar":{"type":"image","data":{"uuid":"a6bd3ea3-1a25-5402-8c27-d063a43ad500","width":500,"height":500,"size":6665,"type":"jpg","color":"28a7e8","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgME/8QAIRAAAQIGAgMAAAAAAAAAAAAAAQMEAAIFERIxBiETFEH/xAAVAQEBAAAAAAAAAAAAAAAAAAAEB//EABkRAAIDAQAAAAAAAAAAAAAAAAIDAAERYf/aAAwDAQACEQMRAD8AZcWpFGqLJ24fVgJKt2yi3ryjGY4g2F5tkn4AeoNBQ21FOS5hsMSHKrM7I69C1qAgLbLd5yTVA8uo0AdQmoSf/9k="}},"cover":{"type":"image","data":{"uuid":"ebe1c612-381b-52c8-897c-ac8a8002770f","width":1920,"height":1080,"size":636123,"type":"jpg","color":"def2f4","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAwEI/8QAHxAAAQMEAwEAAAAAAAAAAAAAAQACERIiQVEhMTKS/8QAFwEAAwEAAAAAAAAAAAAAAAAAAAEDBP/EABURAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIRAxEAPwDSQjeNKtIgXD5V2EVToNx8jKRrnUjk9bQUf//Z"}},"lastModificationDate":1721721308,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"telegram","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[{"id":15,"count":2},{"id":2,"count":1}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1835360,"customUri":null,"subsiteId":1241553,"title":"Отправка случайных команд без повторения инструментами PuzzleBot","date":1740588946,"dateModified":1740588946,"blocks":[{"type":"text","cover":true,"hidden":false,"anchor":"","data":{"text":"В этой статье мы делаем отправку случайных команд без повторения используя исключительно PuzzleBot.
"}},{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"96eb2989-e9bb-5261-a0d9-33f47d1f8daa","width":1280,"height":720,"size":203660,"type":"png","color":"3772c3","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwMI/8QAKBAAAQQBAgMJAQAAAAAAAAAAAQIDBAURABIHEyEGFSIxQUJRYXGh/8QAFgEBAQEAAAAAAAAAAAAAAAAABwYI/8QAKhEAAQMCBAILAAAAAAAAAAAAAQIDEQAhBAUSQQdRBhMUIjFSYXGS4fD/2gAMAwEAAhEDEQA/AK8N4FdVWaJia2uiOM+Jt5Edpvb7QAoMJOSDn+aUcyy3MAypZQsgAmLmYE+aoRl1pboEi8X/ACae4zcl+M0+rtRQAuISs7ZQI6jPQ+us/K4rYYEjsb/w+6ZkcL2NI6xxzVvCLTvHpyrMPA2wn2cWf3lNkS9q2tvPcU5joryyfoa1ZnLriB3VEWO9AzYnVNIj9TVF9wmsiElZyeSn5/NF7mCwylkltPjyFV+H6SZy2yhCMW6AAAAHF2t71//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Данный способ реализации наиболее совершенен, чем предыдущий и гораздо более оптимизированный, так как все процессы происходят только относительно его получателя и не зависимы от внешних факторов.
"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Разработка"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Переменные"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Для решения этой задачи мы используем ряд зависимых друг от друга переменных-формул. На практике достаточно скопировать и соблюдать синтаксис, чтобы всё работало.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"e889c0b8-3dd1-5b13-8500-d865c3f77bf0","width":2520,"height":1301,"size":186993,"type":"png","color":"31a4ef","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAwUICf/EACkQAAADBgILAAAAAAAAAAAAAAEDBgACBREWITHSBBciJCUmVmRxlaL/xAAXAQADAQAAAAAAAAAAAAAAAAAAAgUI/8QAIREAAAUDBQEAAAAAAAAAAAAAAAECBZIVVNEDBDNTkUP/2gAMAwEAAhEDEQA/ANH6FRQFaRJJwqZUwd3Z2eHhqxuW8L6q9MSSZ2/pTEgiFLJYBEKXh9u1Lys5OG8MuVXoajN/SmJCINYS/vzwoNrHiZ1/ptB0dut0QTgZsrbnc6k1ZA68XHWcd9idmYozdbognAK253OpNWR//9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте текстовую переменную {{commands_list}}, эта переменная будет содержать массив из команд, которые бот будет отправлять в случайном порядке. Сейчас поясню:
В поле \"Значение по умолчанию\" переменной укажите:
Во второй паре кавычек (значении) укажите название команды, как вместо name_1, name_2.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Имя команды может быть на любом языке, использовать экранируемые символы нельзя. Имя параметра (\"name\") всегда должно быть статичным. Играться с разделителями, переносами и пробелами вне кавычек не советую. Список можно продолжать бесконечно. Например:
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"[{\"name\": \"Регистрация пользователя\"},\n{\"name\": \"Обработка заявок\"},\n{\"name\": \"Проверка подписки\"}]","lang":""}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"a55b49f5-7ae7-5fe9-b4d8-dbfce96baf41","width":1528,"height":2238,"size":230731,"type":"png","color":"33a4ef","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAcJ/8QAIRAAAgIBBAIDAAAAAAAAAAAAAQIDBQYABAcTESExQVH/xAAWAQEBAQAAAAAAAAAAAAAAAAAHBQb/xAAkEQABAgQGAwEAAAAAAAAAAAACAQQAAwUSBhEhUWKxMlOyQf/aAAwDAQACEQMRAD8A0i4vjfdcd4+8oKB67bMpUglh1j3qlWRsqM8djLtYlUMrqY3XgPSQQM3thDml/CH9Jabpfn8lbTBTGlzKSvAekgTqzm1/PTmX0sW7jm2tYsVoIo7Pdoi18ACrMwAHUPrzrAYpkyxJ1MEUQsy1y18t4W8HGRgzlkuY2jp+eO0GPM5ZXzC9d5GZmst0SSfJJ7W0rUPWltlX1h8pAriFEGru0T2TPpY//9k="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h3","text":"Не правильно:"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"[\n{\"name\": \"Регистрация \"пользователя\"\"},\n{\"name\": \"Обработка заявок\"},\n{\"name\": \"Проверка подписки\"}\n]","lang":""}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"[{\"name\": \"Регистрация пользователя\"} ,\n{\"name\": \"Обработка заявок\"} ,\n{\"name\": \"Проверка подписки\"}]","lang":""}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"[{\"name\":\"Регистрация пользователя\"}\n{\"name\":\"Обработка заявок\"}\n{\"name\":\"Проверка подписки\"}]","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте числовую переменную {{N}}. Позже она будет записывать номер объекта, из которой будет выводиться название команды.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте переменную {{get_N_command_name}} с типом формула:
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"json_extract({{commands_list}}, (\"$[\" + ({{N}}-1) + \"].name\"))","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Эта формула необходима для вывода названия команды N-ного объекта. Проще говоря эта переменная будет отображать название случайной команды из списка.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"331197e3-3d52-52c5-8562-8950a790862f","width":2852,"height":2238,"size":381095,"type":"png","color":"32a3ef","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAgJ/8QAJhAAAAUDAQkBAAAAAAAAAAAAAQIDBQYABBEhEhQVJCYxQVGU0f/EABcBAAMBAAAAAAAAAAAAAAAAAAMEBwX/xAApEQACAQICCAcAAAAAAAAAAAABAgQAAwUREjFBUWGRktETFBUhQlJT/9oADAMBAAIRAxEAPwDSK9jEeNIbFAzQ2mTUtLg+zu5ADIGSD1r3Gn1k3zYY6Z1jadxrMaHGEhR4a6m2DetOGJsQDjhrd8hKEJd/7nmaP5GN+a8hUmKyKQC5W4i+uA4QVxzR9MmJnzVdWFGFtmFtcyRsHGpA+IzC6qbrZAH5HhxpIyaSZHqBy+tT9pM4VAJzNhOle1N+tYkPYSLnW3ev/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте переменные с типом формула:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["{{part_1}}, со значением:"],"type":"UL"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"\"/\\{\\\\\\\"name\\\\\\\":\\\\s*\\\\\\\"\" + {{get_N_command_name }} + \"\\\\\\\"},\\\\s*\\n?/\"","lang":""}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["{{part_2}}, со значением:"],"type":"UL"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"\"/,\\\\s*\\n?\\\\{\\\\\\\"name\\\\\\\":\\\\s*\\\\\\\"\" + {{get_N_command_name}} + \"\\\\\\\"}/\"","lang":""}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["{{part_3}}, со значением:"],"type":"UL"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"\"/\\\\{\\\\\\\"name\\\\\\\":\\\\s*\\\\\\\"\" + {{get_N_command_name}} + \"\\\\\\\"}/\"","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Позже эти переменные помогут исключать из списка вариантов уже отправленную команду.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"6b2a9ebd-4a98-5c0d-8311-9b993894ac5f","width":4176,"height":2238,"size":470846,"type":"png","color":"32a3ee","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABQYICf/EACgQAAECBAQFBQAAAAAAAAAAAAECBQADBhEEFBUhEhMiQdElMTJDlP/EABcBAAMBAAAAAAAAAAAAAAAAAAMEBQf/xAAoEQABAgQFAgcAAAAAAAAAAAABAgQAERJBAxMUIZEiUhUzUVNhktH/2gAMAwEAAhEDEQA/ANElMDKKTd54a2/jlqx5KuQi/SuYB229hFYY+PqUJrO9NzcCIpattJiKy07V2FiYYZVNU8JaBorZ8R9CPEJF047zyYfDJrLy08CJANQv+jY0a44WVmbjMr3upV+8bDoGuahOUmQpl0j0HxGN+JPcnEVnKmap9R3mTO94JCoqgsPXXH9S/MALRv2DgQcP3Xuq+x/Y/9k="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте переменную {{edited_list}} с типом формула. Она будет выводить обновленный список команд исключая отправленные команды. Укажите формулу:
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"reg_replace((reg_replace((reg_replace({{commands_list}}, {{part_1}}, \"\")), {{part_2}}, \"\")), {{part_3}}, \"\")","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте переменную {{quantity_objects}} с типом формула. Она будет выводить все запятуи из массива объектов. Это будет нужно, чтобы корректно посчитать оставшееся количество команд, доступных пользователю. Формула:
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"reg_replace(json_extract({{commands_list}}, \"$[*].name\"), \"/[^,]/\", \"\")","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте последнюю переменную {{random_N}} с типом формула. Она будет выдавать случайных номер объекта относительно количества запятуй. Формула:
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"random((strlen({{quantity_objects}}) + 1))","lang":""}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"b83b855c-697e-5c4c-94fa-20fa72ee785b","width":4176,"height":2238,"size":477073,"type":"png","color":"34a2ec","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQgJ/8QAKhAAAAMFBAsAAAAAAAAAAAAAAQIFAAMEBhETFBXREiEiJSYxMkFDcZT/xAAXAQADAQAAAAAAAAAAAAAAAAADBAUH/8QAJxEAAQIEBQMFAAAAAAAAAAAAAQIEAAMRQRITFCGRIlJTFVFhktH/2gAMAwEAAhEDEQA/ANEDS4hFlZYiipSfaOxj6nsCaWw8eAHrk1YT5+plpxnfDc3AiKWrbSTFZadsdhYmHnUqy5Zk4fTOkPC7yZIunHeeTD4ZNfGngRIozCv4NGhjihQ15qF5PrqY1e7bDoGuahOUmgw06R7D4jG/UnuTMVnKqcVeo71Jre8JBMUwUDfqj9R82AWjfsHAg4fuvKr7H9j/2Q=="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Конструктор"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Достаточно создать по одной команде и условию, чтобы наша структура заработала:
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Пример структуры.","image":{"type":"image","data":{"uuid":"8f4fe79c-38a5-587a-b0ab-0e4f053fa5c9","width":5088,"height":3366,"size":378600,"type":"jpg","color":"6fb0db","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAQQHCP/EACMQAAAGAQIHAAAAAAAAAAAAAAECAwQFEQAT0TE1VYGDk5T/xAAWAQEBAQAAAAAAAAAAAAAAAAAEBQb/xAAcEQABBAMBAAAAAAAAAAAAAAABAAIDETEyoZH/2gAMAwEAAhEDEQA/ANWIJsxCl2RTGHgJGxgCu94dOL6ap8ptsaC84d1EEUQGvFK15STC6kXgec2+KDLyt8ze+82+VmRMrAWcZPLWx9X/2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создайте команду \"Получение команды\". Добавьте действия:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Изменить переменную: Изменяем переменную {{N}} на {{random_N}}","Отправить условие: Указываем условие \"Отправка случайной команды\" (создадим на следующем этапе)Создаём условие \"Отправка случайной команды\". Добавим проверку значения переменной. Укажем проверку наличия значения переменной random_NВ действиях указываем:
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"1. Отправить запрос: Указываем адрес https://api.puzzlebot.top/?token=XXX&method=sendCommand, где вместо XXX нужно указать токен своего бота из Входящих запросов PuzzleBot.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В параметрах укажите:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Ключ: command_name","Значение: {{get_N_command_name}}Добавьте действие \"Изменить переменную\". В поле \"Название переменной\" укажите commands_list, в \"Выражение\": {{edited_list}}
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В исключениях:
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Добавьте действие \"Отправить команду\", укажите название любой команды, которая будет отправляться после отправки всех команд. Чтобы возобновить список команд у пользователя, укажите в действиях любой из команд \"Очистить переменную\" и введите commands_list.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"054eaabc-efb5-5bff-86d1-36615e40d64d","width":3612,"height":2146,"size":533992,"type":"png","color":"1d93e2","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAQQICf/EACcQAAECBQIFBQAAAAAAAAAAAAECAwAEBQYREiETFBUW0jFRVoGU/8QAFgEBAQEAAAAAAAAAAAAAAAAABAUH/8QAJxEAAQIDBgcBAAAAAAAAAAAAAQACAwQTBRQVUVOSEiExQUJx0ZH/2gAMAwEAAhEDEQA/ANATR6QLWq/NW/KF5t59PGalUJSg6yBjckY+4sNjTFeG3jPMDuclFfKyt3iuENvIu7DNOJsW2CkHp8t6ew8YBe4+o79KpXGU027QpdReF29Fnmu6avocLpWnnncKJVvkat42UWdJ1WGk3oPEZelibrSnaTxWd1Pkc/aHeF2/KKv+13ygmGSWizaPibis/rv3O+r/2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Всё готово! 🔥 Теперь при вызове команды \"Получение команды\" пользователь получит случайную команду из списка, а в последующих вызовах команды повторяться не будут.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"455f9859-53b6-523a-ae3e-1b25a31e3660","width":1340,"height":2146,"size":206711,"type":"png","color":"1d98ea","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAACAf/xAAmEAACAQMCBAcAAAAAAAAAAAABAgQDBQYAEgcREyIVMTI1QWFj/8QAFgEBAQEAAAAAAAAAAAAAAAAABwUI/8QAIxEAAAQEBwEAAAAAAAAAAAAAAAECBQMEcrEGERIVNUGyMf/aAAwDAQACEQMRAD8Af/DPLrHFwKw050rYfDqO5gw7ewfeqz6RQ3GOR9KVcS8OZxWuWy+mhNgT8tvlJsrvTUa++mbhJKNu8x1G5HTI2SmuRgqLtCbEAl3mdDhHSfS1ejF04ezJaYPZUSVWVRAojkHIHoGh7EXLTNarhvw1w8tQmwMWWMxym8ksfcJHz+jafmgi2+BQnyQzu8me5TFa/Rj/2Q=="}}}]}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":1,"favorites":3,"reposts":0,"views":42,"hits":283,"reads":null,"online":0},"dateFavorite":0,"hitsCount":283,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/telegram/1835360-otpravka-sluchainyh-komand-bez-povtoreniya-instrumentami-puzzlebot","author":{"id":1241553,"name":"Aziz","nickname":"azizbots","description":"Разработчик Телеграм ботов, портфолио: https://t.me/infoazizbot/aziz","uri":"/azizbots","avatar":{"type":"image","data":{"uuid":"6f0dfae0-ef60-5e8d-81ba-4a3278232c11","width":2400,"height":2400,"size":1131847,"type":"png","color":"351059","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABAUHCP/EACUQAAEDBAECBwAAAAAAAAAAAAECAwQABQcREgYTCBQhMVFhcf/EABgBAAIDAAAAAAAAAAAAAAAAAAUHAwQG/8QAIxEAAQMDAgcAAAAAAAAAAAAAAQACAwQFERIhMUFRYXGh0f/aAAwDAQACEQMRAD8AB8MuGMVysETbWW4F6vV6gSBKuIe2mA5s9tCkg7BSCPT3P4aZlU2almbBE8OAIJA5jv4TAss0UVM+Iv09cDOQfixXc8fdLxrlLjG8cy0+4gqDZAOlEbq86ipySShL7ZTBxAl9J1habMidF33ykt5nnHUVdtwp2fvVQ2LaOVw44KMWQAW95UlfffL7hLyySs7PI/NBHSPydysu47lf/9k="}},"cover":{"cover":{"type":"image","data":{"uuid":"ca390117-828f-5bd2-acc1-406b81f2ff93","width":1800,"height":800,"size":366873,"type":"png","color":"f6c28d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQII/8QAHhABAAEEAgMAAAAAAAAAAAAAAQIAAwQREjEiQaH/xAAYAQACAwAAAAAAAAAAAAAAAAADBwQFBv/EAB4RAAICAgIDAAAAAAAAAAAAAAABAxECBAUSMUFR/9oADAMBAAIRAxEAPwDb+ZM2yEGXyl7zUbkboZcXig+eTa5y8nt9FZPLStt0GWLovKVhdVdi6ph7qTVgo/QGrvtqp6r4Tj//2Q=="}},"cover_y":20},"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4204936,"userId":1241553,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4204936"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":581402,"userId":1241553,"count":0,"shareImage":"https://api.vc.ru/achievements/share/581402"}],"lastModificationDate":1764984798,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":"1e859157-d7e3-6c7e-a2c7-02421fa799ff","isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":true,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":true,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":"plus","isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":3680492,"name":"Телеграм","description":"Все о мессенджере Телеграм: новые фичи, каналы, новости, Павел Дуров, TON","uri":"/telegram","avatar":{"type":"image","data":{"uuid":"a6bd3ea3-1a25-5402-8c27-d063a43ad500","width":500,"height":500,"size":6665,"type":"jpg","color":"28a7e8","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgME/8QAIRAAAQIGAgMAAAAAAAAAAAAAAQMEAAIFERIxBiETFEH/xAAVAQEBAAAAAAAAAAAAAAAAAAAEB//EABkRAAIDAQAAAAAAAAAAAAAAAAIDAAERYf/aAAwDAQACEQMRAD8AZcWpFGqLJ24fVgJKt2yi3ryjGY4g2F5tkn4AeoNBQ21FOS5hsMSHKrM7I69C1qAgLbLd5yTVA8uo0AdQmoSf/9k="}},"cover":{"type":"image","data":{"uuid":"ebe1c612-381b-52c8-897c-ac8a8002770f","width":1920,"height":1080,"size":636123,"type":"jpg","color":"def2f4","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAwEI/8QAHxAAAQMEAwEAAAAAAAAAAAAAAQACERIiQVEhMTKS/8QAFwEAAwEAAAAAAAAAAAAAAAAAAAEDBP/EABURAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIRAxEAPwDSQjeNKtIgXD5V2EVToNx8jKRrnUjk9bQUf//Z"}},"lastModificationDate":1721721308,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"telegram","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[{"id":2,"count":3},{"id":1,"count":1},{"id":15,"count":1}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1796916,"customUri":null,"subsiteId":1241553,"title":"Кейс: Бот с регистрацией и автоматическим оповещением в дни рождения пользователей.","date":1738845134,"dateModified":1738846434,"blocks":[{"type":"text","cover":true,"hidden":false,"anchor":"","data":{"text":"Иногда разработчики сталкиваются с задачей автоматических оповещений на указанную пользователем дату. В этой статье мы рассматриваем решение этой задачи, взяв в пример бота с напоминаниями о днях рождения.
"}},{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"28266078-a98f-58c6-8679-38058338e86d","width":1639,"height":922,"size":694587,"type":"png","color":"88359d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgUH/8QAIhAAAQQCAgIDAQAAAAAAAAAAAQIDBBEFEgAGEyEHFEGz/8QAGAEAAgMAAAAAAAAAAAAAAAAABQYDBAf/xAAlEQABAwIFBAMAAAAAAAAAAAABAAIDBBESISKSsRMxQlGR0eH/2gAMAwEAAhEDEQA/ADXU5HWsZCmSMeynHpSltLyY+CchuOfp3T5NVAG6N2fd165pMUdQxwsL39uT/HRTYgWt5Vwd16ZQ2yeUv9qGqv68uY6weI3fimJmabadx+lhnxBPnTYmT+5Nff1LWvlcUqr2urPCszQLWCLmeXLUflI3QA6sACtjwW4C5SJUyP678z3PK//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Большинство разработчиков используют способ периодической проверки текущей даты и даты, записанной у пользователя, для реализации этого функционала. Однако в этой статье мы рассмотрим более простой и гораздо более оптимизированный способ реализации.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Ознакомиться с примером мини-приложения можно здесь.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Автор: @RDGlessons
"}},{"type":"delimiter","cover":false,"hidden":false,"anchor":"","data":{"type":"default"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Разработка"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Структура бота","image":{"type":"image","data":{"uuid":"754aec22-3148-542c-b15e-261cae38ec8c","width":5088,"height":3366,"size":1131120,"type":"png","color":"f8fafb","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAwYHCf/EACQQAAECBQIHAAAAAAAAAAAAAAECBAADBREUEhUxNFGSk8HR/8QAGgEAAQUBAAAAAAAAAAAAAAAAAgADBAUGB//EACQRAAEDAgUFAQAAAAAAAAAAAAEAAwQCkRMUMVJTESEykqHR/9oADAMBAAIRAxEAPwDTPCbiYoKo8pSdQSkhI4dTf1EnGdGh+qvyMbiFgjGj0om+DI7RB47u4oshF4xYKEu65WtChvD2xBBGQv7GioZbOtIsuU0z5RHd2r2P6l4v31+cn+Qw4Ikfp4CwSzT+83K//9k="}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h3","text":"Переменные"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Откройте вкладку \"Переменные\" в вашем боте и добавьте следующие переменные:
- b_day - текстовая переменная.
- b_day_format - переменная с типом формула. В качестве формулы введите выражение: `DATE_FORMAT( b_day , \"d.m.2025 9:00\")`, где вместо 9:00 можете указать любое другое время (По UTC) уведомления с постом, в день дня рождения пользователя.
Вместо 9:00 можете указать любое другое время (По UTC) уведомления с постом, в день дня рождения пользователя.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"772c7986-8779-50b6-bd18-04ef09468249","width":1416,"height":2244,"size":203594,"type":"png","color":"33a5ef","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAcJ/8QAJBAAAgEDAwMFAAAAAAAAAAAAAQIDBAUGAAcREyExMjNBUWP/xAAVAQEBAAAAAAAAAAAAAAAAAAAHBf/EACQRAAIAAwgDAQAAAAAAAAAAAAECAAQFAwYREiFisbIyQVNR/9oADAMBAAIRAxEAPwDSDa2I1O3OOOzcLJbad+VPf0DVOtLkqNuv47cxJoJzUuXOxeBA6za6dHM79EHPCXOqXz9StpipkpmkrE7F4EB1WmcJ+3G9uxi+7bXCvjwuwRx1tQqCggAVZGA9ofHOj29VkitNOAMcW19+UMFzGL2cmjHEZV09eMFbM5JGzC+szsSblVEkn9W0s0TWmSxPzTqIELwaVeaA+j9jH//Z"}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h3","text":"Конструктор"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Для разработки такой структуры нам потребуется всего 2 блока мини-приложения.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"1. Создаём мини-приложение с произвольным названием, у меня оно будет называться \"Регистрация дня рождения\".
В него мы добавим блок формы ввода с запросом даты рождения и её записи:
Добавьте блок \"Форма ввода\", в качестве типа ввода выберите \"Выбор даты\".
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Откройте дополнительные настройки, поставьте галочку возле пункта \"Дублировать ответ в переменную\" и укажите переменную b_day. Поставьте галочку у пункта \"Обязательная форма\" и уберите у \"Повторное прохождение\". По желанию можете добавить заголовок и описание блоку.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Ниже появится блок фиксированной клавиатуры, откройте созданную в блоке кнопку, задайте произвольный текст и цвет после чего выберите тип действия \"Переход к Мини-Приложению\" указав наше следующее мини-приложение с названием \"Дата указана\".
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"0e45598f-d7ef-56da-b8fe-90d868953aea","width":2244,"height":2163,"size":390284,"type":"png","color":"efeff1","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwYI/8QAIBAAAQMEAwEBAAAAAAAAAAAAAQIDBAUGERIAByEUMf/EABUBAQEAAAAAAAAAAAAAAAAAAAYH/8QAIREAAQMFAQADAQAAAAAAAAAAAQIEEQADBSFBEgYiMTL/2gAMAwEAAhEDEQA/AN01Wp2JaFmWncFwQ6dDZkNIQt9yJuHFKY2AOqSTnBP5xTZa5HIPHDdnKlJJ1MaCo6aHOHWNxbFs5dhKUkASROymeA0HVvsWyXqzPdhSInzrlOqZ0YUE6FZ1wNfBjHHjXAZIWEC4g+oE77G+1PXefxS3C1W1DySY+vJ1yoHsGvV2fYdEhTq1Pkx2Vtltl6StaEYaIGEk4HnnnFuBaWLWTvLtoAJnYAB/aLfIXbi9i7CLlxRAiASSP5o/bALaSQCSkcUqJ9GiaQPIr//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Откройте \"Действия\" данного мини-приложения и добавьте действие \"Отправить запрос\".
В качестве ссылки для запроса укажите адрес https://api.puzzlebot.top/?token=XXX&method=postSend, где вместо XXX будет токен из Входящих запросов вашего бота. Подробнее...
В качестве типа запроса можно указать GET, либо POST. Я буду использовать GET.
Добавьте следующие параметры в запрос (параметры состоят из ключей и значений соответственно):
2. Создайте мини-приложение с произвольным названием, в моём случае оно назвается \"Дата указана\". В нём вы можете добавить текст, который выйдет по указанию даты рождения. Я, например, добавил стикер и текст с благодарностью.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Вуаля, всё готово 🎉
Осталось только протестировать.
В данной статье мы разбираем и разрабатываем удобный интерфейс для обработки заявок от пользователей с прямой интеграцией PuzzleBot - NocoDB.
"}},{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"4998203d-d040-5ed6-a10c-a8deaa00ce1d","width":2048,"height":1152,"size":1171198,"type":"png","color":"208b7a","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAgMEBf/EACcQAAIBAwIDCQAAAAAAAAAAAAECAwQFEQAhBhMxBxIiJTJDUXHR/8QAGAEAAwEBAAAAAAAAAAAAAAAAAgQFBgf/xAAmEQABAgMGBwAAAAAAAAAAAAABAAIDBBEFEiExQZEiUVJUYXHR/9oADAMBAAIRAxEAPwC252zh2hoHkNhow/LySbD3CGCkBR48Eb9Tv0JzqjDgk4rjcxaMsaNDm46kCg9muXlPgt/Z7JBHJK1oR2QFlewEsCRuDhcZ+ttFdf0OQX5buIOw+LGrqyseSKR6qZmSRSrFySpz1Hxp6VNc1ibXY2EA6GKGumCGW8XfmP5pWeo++37p0NHJQHTcep4zuV//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Поиграться можно тут - https://t.me/infoazizbot?start=applic
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Пример работы","image":{"type":"image","data":{"uuid":"ef4a0b31-1414-5166-91d9-8a312d733b54","width":1720,"height":1080,"size":1256014,"type":"gif","color":"1d1e1e","hash":"","external_service":[],"duration":14.333333,"isVideo":false,"has_audio":false}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Если вы не предпочитаете NocoDB, то их можно спокойно заменить на Google таблицы. Структура будет та же.
"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Разработка"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Разработка происходит непосредственно в рамках сервиса PuzzleBot.
Получить бесплатный бонус +7 дней к Креативному тарифу можно по ссылке https://puzzlebot.top/?r=Fmo8Tuss
Настраиваем интеграцию с NocoDB в настройках вашего бота. Откройте Настройки > Интеграции > NocoDB и введите токен от вашего аккаунта. Подробнее.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создаём новую базу данных с произвольным названием. У меня она будет называться \"Статьи\". В ней создаём таблицу с произвольным названием. У меня она будет называться \"Заявки\".
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Открываем таблицу \"Заявки\" и создаём в ней следующие столбцы:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["user_id – число","name – текст","about – длинный текст"],"type":"UL"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"f32883ab-985f-58ad-bc85-2a9c373820e1","width":3284,"height":2223,"size":478505,"type":"png","color":"31a5f0","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACQEC/8QAIxAAAQIFAwUAAAAAAAAAAAAAAQIGAAMFByERldIEFjNWsf/EABcBAAMBAAAAAAAAAAAAAAAAAAACBQj/xAAgEQABAwQCAwAAAAAAAAAAAAACAAUVAVSS0VORBBMh/9oADAMBAAIRAxEAPwBI0Wvt8UhRadOJwfCIpTHn8pdqTBNnAPSyq09uVKKi0uh1J1wkgfYej24U+e2qWAbOAekdAfj5GA867uM7lGl4dutwwHSzDMuVweZbV7+fXule3Gdygh263DAdImXK4PMtr//Z"}}}]}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"PuzzleBot"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Переменные"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Создаём текстовую переменную about.","Создаём три интегрированные переменные NocoDB с почти одинаковой структурой:1. Создаём переменную get_id с типом “Интегрированная”. В качестве интеграции выбираем \"NocoDB\".
Выбираем свой аккаунт, базу данных и таблицу.
В качестве столбца для вывода выбираем user_id.
2. Создаём переменные get_name и get_about аналогичным образом, меняя только столбец для вывода на name и about соответственно.
1. Создаём мини-приложение с названием \"Оставить заявку\" (название произвольное). В нём создаём форму ввода с запросом любой дополнительной информации, например портфолио обратившегося.
В дополнительных настройках формы ввода включаем галочку \"Дублировать в переменную\" и указываем переменную about.
Можно собирать любую информацию на ваше усмотрение.
2. Создаём мини-приложение “Просмотр заявки” (название произвольное).В мини-приложении добавляем произвольные блоки, которые будут отображать значения переменных {{get_id}}, {{get_name}} и {{get_about}}.Создаём блок “Клавиатура” и выбираем тип “Фиксированная”. Создаём две кнопки: “Принять” и “Отклонить” — разных цветов, и пока ничего больше не меняем.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"092885e4-abf8-56ab-a2a5-7b2b7a164a21","width":3548,"height":2146,"size":447431,"type":"png","color":"f0eff0","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAQF/8QAJBAAAQMDBAEFAAAAAAAAAAAAAQIDBAUGEQAHEiExEyJSkdL/xAAXAQADAQAAAAAAAAAAAAAAAAADBQYI/8QAJhEAAgEDAgQHAAAAAAAAAAAAAQMCAAURBDEGFSFhEyJTVJGh0f/aAAwDAQACEQMRAD8AbtaubbegIrlFm1G3I0pl51CWHyht5HjHtKcjo5HeqvS6G8aoqahU5QIHmGcd6i9XcLNpPGQ+a4zBPQ4z26VWNwto0gA3DZpx1n1G/wAaDyviH27Puic6sHqp+R+UIr7nTZ13VKXNmPyH3HQVuuuFa1HiPJPZ1oyxpWq3qguIAA2AwNzWcr85jbi2bJEkncnJ2FYHNfzV96bYFKMmv//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"3. Создаём два условия \"Принять заявку\" и \"Отклонить заявку\"В обоих условиях в качестве проверки указываем \"Без проверки\"В действиях создаём \"Отправить команду или условие\", где вводим название команды \"Заявка принята\" и \"Заявка отклонена\" для двух условий соответственно.В доп настройках действия ставим галочку на \"Выполнить другому пользователю\", а в появившееся поле вводим переменную {{get_id}}
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В обоих условиях добавляем действие \"Удалить строку NocoDB\", в качестве фильтров используем соответствие user_id = {{get_id}}
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В обоих условиях добавляем действие \"Отправить команду или условие\" и вводим \"Следующая заявка\" (это условие мы создадим позже)
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"53251229-840c-5b4d-91d5-4e214fd8d7ea","width":3306,"height":2163,"size":518893,"type":"png","color":"f2eef3","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAgYICf/EACYQAAIBAwIEBwAAAAAAAAAAAAECAwQFBgARFCExURYkMkVWlNL/xAAWAQEBAQAAAAAAAAAAAAAAAAAFBAf/xAAnEQAABAIKAwEAAAAAAAAAAAAAAQIEA2EFEhQVISMxU5LRE1FSkf/aAAwDAQACEQMRAD8A0Bkstljtd1i4C1RyxVyKFelUvsSnpPLv20wlxHOIgq54p9nMCqaNihxMtOCvRSDCmPUIRfJWboPbF0fao+4f6YRsDTbTxLoSTU5Tk701wZ8jujFpgSTWSEk7rz662UqOZ10H4k6fJTkMVVST2qvOVr9HKYDxnmHyu8/fl/WpLsZbKOJdC29X++vkrsf/2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"4. Создаём условие \"Следующая заявка\"
В проверке добавляем правило \"Проверка переменной\", где мы проверяем наличие значения у переменной {{get_id}}
В действиях указываем \"Переход к мини-приложению\" и вводим мини-приложение \"Просмотр заявки\"
Для случая, если правило выполнено не будет, можем добавить переход к мини-приложению в котором говорится, что все заявки просмотрены.
5. Возвращаемся к мини-приложению \"Просмотр заявки\" > \"Клавиатура\". В кнопках \"Принять\" и \"Отклонить\" выбираем действие \"Переход к команде или условию\" и вводим условие \"Принять заявку\" и \"Отклонить заявку\" соответственно.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"092885e4-abf8-56ab-a2a5-7b2b7a164a21","width":3548,"height":2146,"size":447431,"type":"png","color":"f0eff0","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAQF/8QAJBAAAQMDBAEFAAAAAAAAAAAAAQIDBAUGEQAHEiExEyJSkdL/xAAXAQADAQAAAAAAAAAAAAAAAAADBQYI/8QAJhEAAgEDAgQHAAAAAAAAAAAAAQMCAAURBDEGFSFhEyJTVJGh0f/aAAwDAQACEQMRAD8AbtaubbegIrlFm1G3I0pl51CWHyht5HjHtKcjo5HeqvS6G8aoqahU5QIHmGcd6i9XcLNpPGQ+a4zBPQ4z26VWNwto0gA3DZpx1n1G/wAaDyviH27Puic6sHqp+R+UIr7nTZ13VKXNmPyH3HQVuuuFa1HiPJPZ1oyxpWq3qguIAA2AwNzWcr85jbi2bJEkncnJ2FYHNfzV96bYFKMmv//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Публикуем изменения и наслаждаемся результатом! 💙
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Автор: @RDGlessons
"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":5,"favorites":3,"reposts":0,"views":58,"hits":643,"reads":null,"online":0},"dateFavorite":0,"hitsCount":643,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/telegram/1747116-keis-obrabotka-i-prinyatie-gruppy-zayavok-v-mini-app-s-bazoi-dannyh-v-nocodb","author":{"id":1241553,"name":"Aziz","nickname":"azizbots","description":"Разработчик Телеграм ботов, портфолио: https://t.me/infoazizbot/aziz","uri":"/azizbots","avatar":{"type":"image","data":{"uuid":"6f0dfae0-ef60-5e8d-81ba-4a3278232c11","width":2400,"height":2400,"size":1131847,"type":"png","color":"351059","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAABAUHCP/EACUQAAEDBAECBwAAAAAAAAAAAAECAwQABQcREgYTCBQhMVFhcf/EABgBAAIDAAAAAAAAAAAAAAAAAAUHAwQG/8QAIxEAAQMDAgcAAAAAAAAAAAAAAQACAwQFERIhMUFRYXGh0f/aAAwDAQACEQMRAD8AB8MuGMVysETbWW4F6vV6gSBKuIe2mA5s9tCkg7BSCPT3P4aZlU2almbBE8OAIJA5jv4TAss0UVM+Iv09cDOQfixXc8fdLxrlLjG8cy0+4gqDZAOlEbq86ipySShL7ZTBxAl9J1habMidF33ykt5nnHUVdtwp2fvVQ2LaOVw44KMWQAW95UlfffL7hLyySs7PI/NBHSPydysu47lf/9k="}},"cover":{"cover":{"type":"image","data":{"uuid":"ca390117-828f-5bd2-acc1-406b81f2ff93","width":1800,"height":800,"size":366873,"type":"png","color":"f6c28d","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQII/8QAHhABAAEEAgMAAAAAAAAAAAAAAQIAAwQREjEiQaH/xAAYAQACAwAAAAAAAAAAAAAAAAADBwQFBv/EAB4RAAICAgIDAAAAAAAAAAAAAAABAxECBAUSMUFR/9oADAMBAAIRAxEAPwDb+ZM2yEGXyl7zUbkboZcXig+eTa5y8nt9FZPLStt0GWLovKVhdVdi6ph7qTVgo/QGrvtqp6r4Tj//2Q=="}},"cover_y":20},"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4204936,"userId":1241553,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4204936"},{"title":"3 года на vc.ru","code":"registration_3_years","description":"Провёл 3 года вместе с vc.ru. Получена 23 июля 2025.","previewUuid":"d9d72ac5-bcb5-55e0-8c72-b99251e5cdd9","formats":{"glb":"https://static.vc.ru/achievements/shark.glb","usdz":"https://static.vc.ru/achievements/shark.usdz"},"viewData":{"contentColor":"#8E6F09","textMaxWidth":0.66796875,"textX":0.5205078125,"textY":0.341796875,"logoX":0.5205078125,"logoY":0.4609375,"logoXNoText":0.5,"logoYNoText":0.3662109375},"id":581402,"userId":1241553,"count":0,"shareImage":"https://api.vc.ru/achievements/share/581402"}],"lastModificationDate":1764984798,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":"1e859157-d7e3-6c7e-a2c7-02421fa799ff","isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":true,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":true,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":"plus","isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":3680492,"name":"Телеграм","description":"Все о мессенджере Телеграм: новые фичи, каналы, новости, Павел Дуров, TON","uri":"/telegram","avatar":{"type":"image","data":{"uuid":"a6bd3ea3-1a25-5402-8c27-d063a43ad500","width":500,"height":500,"size":6665,"type":"jpg","color":"28a7e8","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABgME/8QAIRAAAQIGAgMAAAAAAAAAAAAAAQMEAAIFERIxBiETFEH/xAAVAQEBAAAAAAAAAAAAAAAAAAAEB//EABkRAAIDAQAAAAAAAAAAAAAAAAIDAAERYf/aAAwDAQACEQMRAD8AZcWpFGqLJ24fVgJKt2yi3ryjGY4g2F5tkn4AeoNBQ21FOS5hsMSHKrM7I69C1qAgLbLd5yTVA8uo0AdQmoSf/9k="}},"cover":{"type":"image","data":{"uuid":"ebe1c612-381b-52c8-897c-ac8a8002770f","width":1920,"height":1080,"size":636123,"type":"jpg","color":"def2f4","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAAKAAoDASEAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAwEI/8QAHxAAAQMEAwEAAAAAAAAAAAAAAQACERIiQVEhMTKS/8QAFwEAAwEAAAAAAAAAAAAAAAAAAAEDBP/EABURAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIRAxEAPwDSQjeNKtIgXD5V2EVToNx8jKRrnUjk9bQUf//Z"}},"lastModificationDate":1721721308,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":false,"isDisabledAd":false,"nickname":"telegram","isUnsubscribable":true,"badge":null,"badgeId":null,"isDonationsEnabled":false,"isOnline":false,"isPlus":false,"isUnverifiedBlogForCompanyWithoutPro":false,"isVerified":false,"isRemovedByUserRequest":false,"isFrozen":false,"isPro":false,"type":2,"subtype":"community"},"reactions":{"counters":[{"id":1,"count":3},{"id":15,"count":1}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}},{"type":"entry","data":{"id":1733334,"customUri":null,"subsiteId":1241553,"title":"Кейс: Мини-приложение для регистрации на мероприятие по номеру телефона","date":1735383282,"dateModified":1735383378,"blocks":[{"type":"text","cover":true,"hidden":false,"anchor":"","data":{"text":"В этой статье мы разберём и создадим кейс: мини-приложение для регистрации на мероприятие с подтверждением номера телефона через новый инструмент Telegram – The Gateway и добавлением в лист ожидания.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Автор: @RDGlessons
"}},{"type":"media","cover":true,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"0a65aeac-5773-5f4d-8ddc-02e7343249ac","width":640,"height":360,"size":113655,"type":"png","color":"34abf7","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwAF/8QAIxAAAAQFBAMAAAAAAAAAAAAAAAECAwQFERKREyExUxVRVP/EABcBAAMBAAAAAAAAAAAAAAAAAAAGBwH/xAAjEQABAwMEAgMAAAAAAAAAAAABAAIRAwVRBhIUMQRhE0Hh/9oADAMBAAIRAxEAPwBWgJwycpi0RrLyIzlgyaNV23FbiJO/sjrUUrUNo1M7Utv8i0VBwRIrtLgO/uC0lxjqCIj2obZ7hZW2Ty6Nwpu5Rj4nAEx67gfqy/LTX5XcChcGjlJ3JrYKLdV3sVkPe0YSduOVarvYrIza3CNxyv/Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Опробовать функционал мини-приложения можно по ссылке: https://t.me/InfoAzizBot/gateway. Поскольку это демо-версия, вы можете указать любой номер телефона, а код для регистрации будет отображён до его ввода. Демо-версия не отправляет коды и не выполняет рассылок.
"}},{"type":"delimiter","cover":false,"hidden":false,"anchor":"","data":{"type":"default"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Разработка:"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Разработка происходит непосредственно в рамках сервиса PuzzleBot.
Получить бесплатный бонус +7 дней к Креативному тарифу можно по ссылке https://puzzlebot.top/?r=Fmo8Tuss
1. Создаём блок \"Мини-Приложение\". Задаём произвольное название, у меня оно будет \"Ввод номера\"
Добавляем туда блоки \"Форма ввода\" и \"Клавиатура\" (блок клавиатуры будет добавлен автоматически):
Добавляем заголовок с текстом \"Введите номер телефона\"
Выбираем тип \"Ввод текста\" и масску ввода \"Телефон\". По желанию можем добавить Плейсхолдер с примером номера телефона.
Открываем дополнительные настройки и включаем \"Дублировать ответ в переменную\", указываем переменную phone
Пример данного блока будет на фото ниже
Блок \"Клавиатура\" будет добавлен автоматически.
Выбираем тип клавиатуры \"Фиксированная\"
Добавляем кнопку \"Получить код\" с действием \"Переход к мини-приложению\". В поле указываем название нового Мини-приложения - \"Ввод кода\"
Открываем Действия данного мини приложения:
"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h3","text":"Действия:"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Создаём действия \"Изменить переменную\" и \"Отправить запрос\"
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Изменить переменную:
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В первое поле (Переменную которую изменяем) вводим переменную code.
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Во второе поле (Выражение) вводим переменную {{random_code}}
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Отправить запрос:
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Адрес (ссылка): https://gatewayapi.telegram.org/sendVerificationMessage
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Тип: GET
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Добавляем параметры:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["phone_number - со значением {{phone}}","code - со значением {{code}}Задаём заголовки:
"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Authorization - со значением Bearer TOKEN, где TOKEN нужно заменить на действительный токен полученный в https://gateway.telegram.org/account/api. Подробнее в документации https://vc.ru/1547346"],"type":"UL"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"cd738ba3-67f8-5ef0-93f1-2a837996ee42","width":2272,"height":1953,"size":397424,"type":"png","color":"2aa4f4","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABwgJ/8QAJhAAAAQFBAEFAAAAAAAAAAAAAQIDBAAFBgcREhMhJjEyRFFU0f/EABYBAQEBAAAAAAAAAAAAAAAAAAYHCP/EACYRAAECBAQHAQAAAAAAAAAAAAECBAAGEVEDBRIhMTNBU5GS0WH/2gAMAwEAAhEDEQA/AK8tfdmmbl1e0kR7fS5mDduqsY6RSqCcAwGBDSHHOcxRZglx1kDIuS4UqpA6inH9MTKW5maTG/DUNkooknoa8BYXheVkFH7p+rM/UPtU/mAweOe4ryYflg0ryk+BGfdt5jMJfUW+wfuGyuwcutFUxDYyHGQGNOzE3wXDPRioChUbEA3vGWZZcYzd7rwVlJ0ncEi1oTzVVVAmHsk08/cU/YDjK2PYR6p+Q8ObP689fsr7H//Z"}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"2. Создаём мини-приложение \"Ввод кода\"
Добавляем блоки \"Форма ввода\" и \"Клавиатура\"
Добавляем заголовок \"Введите код\"
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Выбираем тип ввода \"Ввод текста\"
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"Выбираем маску ввода \"Регулярное выражение\"
"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"В поле \"Регулярное выражение\" вводим выражение:
"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"`^\\d{6}Разработчик Телеграм ботов, портфолио: https://t.me/infoazizbot/aziz
Автор: @RDGlessons
Сегодня Telegram выпустил обновление Telegram API — Gateway API. Оно представлено как инструмент, способный заменить СМС-верификации. В этой статье мы расскажем о преимуществах,…
Сегодня Telegram — это уже не просто мессенджер, а целая экосистема, где крутятся подписки, донаты, продажи и даже криптовалюта. Почти всегда в этом участвуют внешние сервисы, а чаще всего — боты. Я собрал те, что реально используют авторы, контент-мейкеры и блогеры.
В данной статье мы разберём создание системы розыгрышей за голоса (бусты) на ваши ресурсы через мини-приложение на PuzzleBot. Рассмотрим оформление дизайна, техническая реализация и настройка баз данных для запуска системы.
В данной статье мы разберём подключение GPT к вашему бизнес-аккаунту, что позволит боту отвечать на практически любые сообщения от вашего имени.
В отличие от любого другого способа этот не требует знаний программирования и ручной настройки интеграции с ИИ-моделями.
В этой статье мы делаем отправку случайных команд без повторения используя исключительно PuzzleBot.
Иногда разработчики сталкиваются с задачей автоматических оповещений на указанную пользователем дату. В этой статье мы рассматриваем решение этой задачи, взяв в пример бота с напоминаниями о днях рождения.
В данной статье мы разбираем и разрабатываем удобный интерфейс для обработки заявок от пользователей с прямой интеграцией PuzzleBot - NocoDB.
В этой статье мы разберём и создадим кейс: мини-приложение для регистрации на мероприятие с подтверждением номера телефона через новый инструмент Telegram – The Gateway и добавлением в лист ожидания.
Автор: @RDGlessons
В дополнительных настройках включаем галочку \"Дублировать в переменную\" и указать перменную entered_code.
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"","image":{"type":"image","data":{"uuid":"3a616997-fc88-5c83-b1b6-c5d4b65df04e","width":3328,"height":2460,"size":831160,"type":"png","color":"edecf0","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAYH/8QAJxAAAQMCBQIHAAAAAAAAAAAAAQIDBQQRAAYHEiEUFSRBVXGU0dL/xAAXAQADAQAAAAAAAAAAAAAAAAAGBwgF/8QAJREAAQIEBQUBAAAAAAAAAAAAAQIFAAMSIQQGERRBUlORktHh/9oADAMBAAIRAxEAPwBfar6gx+TtRkZIpMpxC25JNIS6pkBbZcO07QOPK/vhhsbAtzbC4qnKFFVuDpeFnmDMEtpdg2okoIXTfS4qOlo15EfAbE7oOlvYX8CPzgJ3yus+TB1t8L0D1/IBWscrKV+dOsrpKqqXxSsgOuvKWsAXtyTfjFK5Tw8qW3UISAKjYAacRM2bsRNmuVa1EmkXJJPMSPf531qv+Sv7xvbHC9pPqPkD++xXdV7H7H//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"3. Создаём блок Условия, которое будет записывать пользователя в лист ожидания изменив категорию.
Добавляем в правило условие с проверкой значения переменной.
В первое поле вводим entered_code. В поле с выражением {{code}}
В действия можем указать отправку команды (текста с уведомлением) и изменение категории пользователя.
Необходимо поставить вызов данного условия в действиях мини-приложения \"Ввод кода\"
"}},{"type":"media","cover":false,"hidden":false,"anchor":"","data":{"items":[{"title":"Пример","image":{"type":"image","data":{"uuid":"39111b58-d172-5f3d-9d67-6879c754a297","width":1233,"height":2142,"size":255046,"type":"png","color":"37a5eb","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQIAHAAcAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAKAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAACAn/xAApEAABAQUECwAAAAAAAAAAAAABAgADBAUGBxESIRUWFyMxNVFSYaGz/8QAFgEBAQEAAAAAAAAAAAAAAAAABwUI/8QAIxEAAAUCBwEBAAAAAAAAAAAAAAECBAUDsQYRFTVicrISUf/aAAwDAQACEQMRAD8AoJZNMI3Z9TxRCOXzlcvcqVkoqw4B4u9tank/EnXTyO4jYbI1xDZX6hNgP6vnARVs7QFXBMxiRd03qmaY1pmyonxTYgByrnJ/XLmr0YWtkT16mzCmAl4oDR0NwJ7GGMS7w57quHfC2yteibAT1wTrrUGZ5pF/VTaDiCLT6HRPkhnKYM9Rcd1+jH//2Q=="}}}]}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"4. Создаём Мини-Приложение с названием \"Проверка кода\"
Добавляем блок Заголовка с переменной {{text1}}
Добавляем блок Описания с переменной {{text2}}
По желанию можно добавить клавиатуру
Последний шаг: Публикуем изменения и тестируем)
Получить ссылку на мини-приложение можно открыв блок команду \"Ввод номера\". В поле \"Прямая ссылка\" будет указана ссылка на ваше мини-приложение.