<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Асхаб Алхазуров</title><subtitle>Разработчик чат-ботов
Технический специалист
Работаю в этих сферах уже 3 года
Мой канал в телеграм https://t.me/asxabal</subtitle><author><name>Асхаб Алхазуров</name></author><id>https://teletype.in/atom/asxabal</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/asxabal?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/asxabal?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-15T06:41:26.791Z</updated><entry><id>asxabal:check</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/check?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Не знаешь как создать бота службы заботы на salebot? Чекай статью</title><published>2023-10-28T12:44:22.036Z</published><updated>2024-02-14T10:18:25.771Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/f0/02/f002544a-eea7-4cd3-a6d0-8bd37a409c36.png"></media:thumbnail><category term="chat-boty" label="Чат-боты"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/34/6e/346eebcb-4928-49fd-b934-235a9d5ee174.png&quot;&gt;Мой канал в телеге -&gt; https://t.me/asxabal &lt;- В моем канале схема этого бота, вы сможете скачать себе и сразу применить его в проекте</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;DzWW&quot;&gt;&lt;strong&gt;Мой канал в телеге - &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt; &amp;lt;- подписывайся, в моем канале схема этого бота, вы сможете скачать себе и сразу применить его в проекте&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;edz8&quot;&gt;&lt;strong&gt;Промокод на 10 дней в salebot - &lt;code&gt;asxaba1&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
    &lt;p id=&quot;gG1c&quot;&gt;&lt;strong&gt;Мой чат-бот вакансий - &lt;a href=&quot;https://t.me/infobizaa_bot&quot; target=&quot;_blank&quot;&gt;https://t.me/infobizaa_bot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;4VRo&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/34/6e/346eebcb-4928-49fd-b934-235a9d5ee174.png&quot; width=&quot;951&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;cZBH&quot;&gt;Наша схема будет такой&lt;/p&gt;
  &lt;p id=&quot;XpBA&quot;&gt;В чем смысл этого бота? Пользователи скидывают в чат-бота скриншоты о том выполнили они определенное задание, а вот эти самые скрины проверяет менеджер через телеграм группу&lt;/p&gt;
  &lt;p id=&quot;ZGbX&quot;&gt;Если менеджер не принял задание, то бот уведомляет пользователя, что его скриншот не прошел проверки&lt;/p&gt;
  &lt;p id=&quot;sRbX&quot;&gt;Если скриншот подходит, то также бот уведомляет пользователя, что скриншот принят и все четко!&lt;/p&gt;
  &lt;p id=&quot;FC2x&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;agWE&quot;&gt;Крч, смысл уловили. Идем дальше&lt;/p&gt;
  &lt;figure id=&quot;vxrU&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/16/47/16475b6b-996a-46b6-83c3-0141ae8a1350.png&quot; width=&quot;1228&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;N9hT&quot;&gt;В настройках проекта создаем 4 переменные. &lt;/p&gt;
  &lt;p id=&quot;XBLr&quot;&gt;save_webhook=1&lt;br /&gt;dict_of_sent_message_ids_and_text={}&lt;br /&gt;id_counter_for_dict=0&lt;br /&gt;tg_group_id= &lt;code&gt;Сюда пишем platform_id телеграм группы&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p id=&quot;u8ci&quot;&gt;Про save_webhook документация - &lt;a href=&quot;https://docs.salebot.pro/messendzhery-i-chaty/kak-sozdat-bota-v-telegram/poluchit-polnyi-vebkhuk-webhook-ot-telegram&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/messendzhery-i-chaty/kak-sozdat-bota-v-telegram/poluchit-polnyi-vebkhuk-webhook-ot-telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;yH2w&quot;&gt;dict_of_sent_message_ids_and_text - Это наш словарь где хранится message_id и текст каждой отправленной заявки от пользователя менеджеру (в нашем случае телеграм группу)&lt;/p&gt;
  &lt;p id=&quot;HAPN&quot;&gt;&lt;strong&gt;И еще нужно создать телеграм группу и добавить туда нашего бота как администратора&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;K50y&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;9vGa&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5d/fa/5dfaf4c7-0468-4bbb-a93f-193158b7c1c1.png&quot; width=&quot;1442&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;LnaO&quot;&gt;Начало нашего бота&lt;/p&gt;
  &lt;p id=&quot;oyvG&quot;&gt;Тут мы просим пользователя скинуть фотку&lt;/p&gt;
  &lt;figure id=&quot;s6QF&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/78/2e/782e7db9-e9a5-4b4f-a719-055353e70465.png&quot; width=&quot;1579&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;05VS&quot;&gt;Обычная стрелка&lt;/p&gt;
  &lt;figure id=&quot;D1hv&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/97/76/977697e1-2aa0-4447-b2ef-824d16ab4ee3.png&quot; width=&quot;1605&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;fyWt&quot;&gt;Дальше идет вот такой блок с кодом в калькуляторе&lt;/p&gt;
  &lt;p id=&quot;fKeW&quot;&gt;Сам код:&lt;/p&gt;
  &lt;p id=&quot;zPy1&quot;&gt;&lt;code&gt;/* Берем фото */&lt;br /&gt;send_photo = attachment_url&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;4tlc&quot;&gt;&lt;code&gt;/* Создаем свой id сообщения, чтобы по нему обратится к id сообщения от телеграм(message_id)*/&lt;br /&gt;id_counter_for_dict = id_counter_for_dict + 1&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;L8aa&quot;&gt;&lt;code&gt;/* Формируем текст */&lt;br /&gt;text_caption = &amp;#x27;Дата заявки на проверку отзыва: #{current_date} #{current_time}&amp;#x27; + &amp;#x27;\n&amp;#x27; + &amp;#x27;Имя: #{full_name}&amp;#x27; + &amp;#x27;\n&amp;#x27; + &amp;#x27;Телеграм: #{tg_username}&amp;#x27; + &amp;#x27;\n&amp;#x27; + &amp;#x27;Тип проверки: Еще не проверили&amp;#x27;&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;ayu4&quot;&gt;&lt;code&gt;/* Формируем кнопки */&lt;br /&gt;btn = &amp;#x27;[{&amp;quot;line&amp;quot;:0,&amp;quot;index_in_line&amp;quot;:0,&amp;quot;text&amp;quot;:&amp;quot;Все верно ✅&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;inline&amp;quot;,&amp;quot;callback&amp;quot;:&amp;quot;mid#{id_counter_for_dict}_p#{platform_id}_succesfulle_feedback&amp;quot;},{&amp;quot;line&amp;quot;:1,&amp;quot;index_in_line&amp;quot;:0,&amp;quot;text&amp;quot;:&amp;quot;Не верно ❌&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;inline&amp;quot;,&amp;quot;callback&amp;quot;:&amp;quot;mid#{id_counter_for_dict}_p#{platform_id}_failed_feedback&amp;quot;}]&amp;#x27;&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;TBuV&quot;&gt;&lt;code&gt;/* Отправляем в группу Фотку с текстом и кнопками */&lt;br /&gt;res_send_photo_feedback = tg_send_photo(tg_group_id, send_photo, text_caption, btn)&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;M7Sc&quot;&gt;&lt;code&gt;/* В данном словаре мы будем хранить все необходимые данные отправленного сообщения. Это позволит нам легко изменять текст сообщения, так как мы будем сохранять в нем уникальный идентификатор сообщения (message_id). */&lt;br /&gt;dict_of_sent_message_ids_and_text[&amp;quot;message_#{id_counter_for_dict}&amp;quot;] = {&amp;quot;message_id&amp;quot;: &amp;quot;#{res_send_photo_feedback[&amp;quot;result&amp;quot;][&amp;quot;message_id&amp;quot;]}&amp;quot;, &amp;quot;caption&amp;quot;: &amp;quot;#{text_caption}&amp;quot;}&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;iHWU&quot;&gt;По сути код достаточно простой и ничего сложного в нем нет&lt;/p&gt;
  &lt;p id=&quot;wdlN&quot;&gt;Вам достаточно знать что такое &lt;a href=&quot;https://docs.salebot.pro/peremennye-1/rabota-s-massivami-i-slovaryami/chto-takoe-massiv-slovar&quot; target=&quot;_blank&quot;&gt;словари&lt;/a&gt; и дальше быстро все поймете&lt;/p&gt;
  &lt;p id=&quot;kH03&quot;&gt;Насчет кнопок, мы формируем специальные кнопки с коллбеком &lt;/p&gt;
  &lt;p id=&quot;GFvT&quot;&gt;Ссылка на документацию про эти кнопки - &lt;a href=&quot;https://docs.salebot.pro/osnovnye-ponyatiya.-kak-sozdavat-botov-na-salebot.pro/knopki#kak-dobavit-callback-knopku-vkontakte-telegram&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/osnovnye-ponyatiya.-kak-sozdavat-botov-na-salebot.pro/knopki#kak-dobavit-callback-knopku-vkontakte-telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;49P6&quot;&gt;После отправки картинки боту, в указанный чат придет подобное сообщение&lt;/p&gt;
  &lt;figure id=&quot;dDik&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f6/e3/f6e3bb27-a3b5-4e66-98b2-09c1853e7dbf.png&quot; width=&quot;904&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;BZV8&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;4Coc&quot;&gt;И если мы нажмем на кнопку &amp;quot;Все верно ✅&amp;quot; то в этот же чат отправится коллбэк.&lt;/p&gt;
  &lt;p id=&quot;NeAS&quot;&gt;&lt;br /&gt;В чате для участников коллбэк никак не будет отображаться, но вот salebot  коллбэк прекрасно видит и мы можем его отловить и активировать блок&lt;/p&gt;
  &lt;p id=&quot;pjCU&quot;&gt;Так сделаем же это!&lt;/p&gt;
  &lt;figure id=&quot;gO2u&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2f/b1/2fb19d9f-7c6f-4181-9b2a-e82df17e7d68.png&quot; width=&quot;593&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Gvzk&quot;&gt;Нажали на кнопку &amp;quot;Все верно ✅&amp;quot;  и в чат пришел вот такой коллбэк&lt;/p&gt;
  &lt;p id=&quot;478q&quot;&gt;mid8 &lt;/p&gt;
  &lt;p id=&quot;Uop4&quot;&gt;это означает message_id 8 (Не путать с message_id от телеграмма, здесь другой указан. У нас сюда передается id который указан ключом в переменной dict_of_sent_message_ids_and_text&lt;/p&gt;
  &lt;p id=&quot;i4SM&quot;&gt;p377884669 &lt;/p&gt;
  &lt;p id=&quot;ZW4E&quot;&gt;Это platform_id клиента &lt;/p&gt;
  &lt;p id=&quot;2ZtZ&quot;&gt;типо &lt;strong&gt;p&lt;/strong&gt;#{platform_id}&lt;/p&gt;
  &lt;p id=&quot;Yixt&quot;&gt;Таким образом, мы одним коллбэком в чат получаем platform_id клиента &lt;br /&gt;и id через который мы сможем обратится к message_id телеграмма для редактирования сообщения&lt;/p&gt;
  &lt;p id=&quot;UOKK&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;5lvB&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;jWpF&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/01/93/0193c20b-258b-4d78-9e44-eed23f8d4a53.png&quot; width=&quot;1585&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0aLO&quot;&gt;Создаем блок и в условии ставим вот такое регулярное выражение:&lt;br /&gt;mid.*p.*succesfulle_feedback&lt;br /&gt;&lt;br /&gt;И самое важное, в поле &amp;quot;Выбор соответствия&amp;quot; нажимаем на &amp;quot;Регулярное выражение&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;HDXq&quot;&gt;И такой код в калькуляторе:&lt;/p&gt;
  &lt;p id=&quot;8ZFE&quot;&gt;&lt;br /&gt;&lt;code&gt;/* Получаем platform_id клиента */&lt;br /&gt;user_id_for_callback_succesfulle = findall(&amp;#x27;mid\d+_p(\d+)_succesfulle_feedback&amp;#x27;, question, 0)&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;T6rg&quot;&gt;&lt;code&gt;/* Получаем id сообщения который находится в переменной dict_of_sent_message_ids_and_text */&lt;br /&gt;message_number_in_dict = findall(&amp;#x27;mid(\d+)_p\d+_succesfulle_feedback&amp;#x27;, question, 0)&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;aBxj&quot;&gt;&lt;code&gt;/* Отправляем коллбэк клиенту */&lt;br /&gt;res_send_callback_succesfulle = tg_callback(&amp;#x27;#{user_id_for_callback_succesfulle}&amp;#x27;, &amp;#x27;succesfulle_check_feedback_index_#{message_number_in_dict}&amp;#x27;)&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;9sKT&quot;&gt;Если вы не понимаете этот код, то изучите вот это:&lt;/p&gt;
  &lt;blockquote id=&quot;A3Bf&quot;&gt;Регулярки:&lt;br /&gt;1. &lt;a href=&quot;https://docs.salebot.pro/peremennye-1/spisok-poleznykh-regulyarnykh-vyrazhenii&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/peremennye-1/spisok-poleznykh-regulyarnykh-vyrazhenii&lt;/a&gt;&lt;br /&gt;2. &lt;a href=&quot;https://teletype.in/@asxabal/re&quot; target=&quot;_blank&quot;&gt;https://teletype.in/@asxabal/re&lt;/a&gt;&lt;br /&gt;3. &lt;a href=&quot;https://docs.salebot.pro/peremennye-1/kalkulyator/dlya-raboty-s-regulyarnymi-vyrazheniyami#findall-or-similar&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/peremennye-1/kalkulyator/dlya-raboty-s-regulyarnymi-vyrazheniyami#findall-or-similar&lt;/a&gt;&lt;br /&gt;Коллбэк:&lt;br /&gt;1. &lt;a href=&quot;https://docs.salebot.pro/peremennye-1/api-v-kalkulyatore#tg_callback&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/peremennye-1/api-v-kalkulyatore#tg_callback&lt;/a&gt;&lt;/blockquote&gt;
  &lt;p id=&quot;3VHG&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;zGPL&quot;&gt;Итого, этот блок отправляет нашему пользователю коллбэк &lt;/p&gt;
  &lt;p id=&quot;PJWN&quot;&gt;Этот коллбэк говорит, что его фотка успешно прошла проверку &lt;/p&gt;
  &lt;figure id=&quot;n8yj&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a0/bc/a0bc752c-1a8e-4ea6-b389-8e11bed426fd.png&quot; width=&quot;661&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;3UiE&quot;&gt;Вот так будет приходить пользователю этот коллбэк&lt;/p&gt;
  &lt;p id=&quot;wIis&quot;&gt;succesfulle_check_feedback_index_8 -&amp;gt; эта цифра в конце указывает нам id сообщения в словаре dict_of_sent_message_ids_and_text&lt;/p&gt;
  &lt;p id=&quot;c7xo&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;Ujjy&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/03/ac/03ac7830-fc9d-4bca-be8e-aa563422a60a.png&quot; width=&quot;1598&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;o4hq&quot;&gt;Создаем еще один блок и в условии указываем такое регулярное выражение:&lt;br /&gt;succesfulle_check_feedback_index_\d+&lt;/p&gt;
  &lt;p id=&quot;FtEH&quot;&gt;\d+ -&amp;gt; эта штука означает что в конце может быть любая цифра&lt;/p&gt;
  &lt;p id=&quot;nTq4&quot;&gt;Код в калькуляторе пишем такой:&lt;/p&gt;
  &lt;p id=&quot;Yz4U&quot;&gt;&lt;code&gt;/* Получаем index сообщения который находится в переменной dict_of_sent_message_ids_and_text */&lt;br /&gt;message_index_in_dict = findall(&amp;#x27;succesfulle_check_feedback_index_(\d+)&amp;#x27;, question, 0)&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;8az3&quot;&gt;&lt;code&gt;/* редактируем сообщение заявки из чата */&lt;br /&gt;text_caption = dict_of_sent_message_ids_and_text[&amp;quot;message_#{message_index_in_dict}&amp;quot;][&amp;quot;caption&amp;quot;]&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;2hlC&quot;&gt;&lt;code&gt;text_caption = replace(text_caption, &amp;#x27;Еще не проверили&amp;#x27;, &amp;#x27;Все верно ✅&amp;#x27;)&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;63H9&quot;&gt;&lt;code&gt;text_caption = text_caption + &amp;#x27;\n&amp;#x27; + &amp;#x27;Дата проверки: #{current_date} #{current_time}&amp;#x27;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;vtF6&quot;&gt;&lt;code&gt;dict_of_sent_message_ids_and_text[&amp;quot;message_#{message_index_in_dict}&amp;quot;][&amp;quot;caption&amp;quot;] = text_caption&lt;br /&gt;/* end */&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;qD1C&quot;&gt;&lt;code&gt;/* Редактируем сообщение из чата */&lt;br /&gt;result_edit_message_succesfulle = tg_edit_message_caption(tg_group_id, dict_of_sent_message_ids_and_text[&amp;quot;message_#{message_index_in_dict}&amp;quot;][&amp;quot;message_id&amp;quot;], dict_of_sent_message_ids_and_text[&amp;quot;message_#{message_index_in_dict}&amp;quot;][&amp;quot;caption&amp;quot;], &amp;quot;&amp;quot;)&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;kwWC&quot;&gt;И всеее. По id, который мы передаем в коллбэке, мы смогли обратится к нужному message_id и смогли редактировать ранее отправленный текст в группе&lt;/p&gt;
  &lt;p id=&quot;Tpto&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;xIlo&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/10/2d/102ddf8c-aa03-45c0-81aa-f7a16174edba.png&quot; width=&quot;734&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;3hte&quot;&gt;И благодоря этой логике, при нажатии на кнопку &amp;quot;Все верно&amp;quot; текст в чате успешно поменялся &lt;/p&gt;
  &lt;p id=&quot;3XuW&quot;&gt;И мы пользователю сообщили, что его сообщение успешно прошла проверку &lt;/p&gt;
  &lt;p id=&quot;zM65&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;Ez7u&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/68/e1/68e12d08-3e9d-471d-90ca-81851aadbeb6.png&quot; width=&quot;731&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;UEcV&quot;&gt;Сценарий для этой кнопки работает абсолютно по такой же логике&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;YGJV&quot;&gt;Вы сможете забрать этот шаблон в моем телеграм канале &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;br /&gt;добавить в свой проект и подробно самим рассмотреть эту логику&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;UMeU&quot;&gt;И напоминаю &lt;strong&gt;Промокод на 10 дней в salebot - &lt;code&gt;asxaba1&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;

</content></entry><entry><id>asxabal:c4d8GLvBuhb</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/c4d8GLvBuhb?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Как добавить видео, которое весит больше 20мб в телеграм бота? Ответ тут</title><published>2023-08-18T11:56:29.658Z</published><updated>2024-02-14T10:18:49.972Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/51/e3/51e333a9-1917-4f9a-be20-7b239f4ef50e.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/fe/f3/fef3406f-8a53-4852-8866-153e32dcb4f6.png&quot;&gt;Привет, в этой инструкции я распишу от а до я, как все это настраивается</summary><content type="html">
  &lt;p id=&quot;OTEU&quot;&gt;Привет, в этой инструкции я распишу от а до я, как все это настраивается&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WMw1&quot;&gt;Промокод на 10 бесплатных дней в проекте salebot: &lt;code&gt;asxaba1&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h2 id=&quot;vBJO&quot;&gt;Мой ТГ канал с разными полезными штуками - &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;/h2&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Z7o5&quot;&gt;&lt;strong&gt;Мой чат-бот вакансий - &lt;a href=&quot;https://t.me/infobizaa_bot&quot; target=&quot;_blank&quot;&gt;https://t.me/infobizaa_bot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;h2 id=&quot;mhLv&quot;&gt;Шаг 1&lt;/h2&gt;
  &lt;p id=&quot;kogZ&quot;&gt;В первую очередь нужно, чтобы сейлбот показывал нам полный вебхук от бота&lt;/p&gt;
  &lt;p id=&quot;ne75&quot;&gt;Для этого переходим в раздел &amp;quot;Настройки проекта&amp;quot; и там в константах проекта создаем переменную save_webhook и ставим значение 1&lt;/p&gt;
  &lt;figure id=&quot;crjl&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/fe/f3/fef3406f-8a53-4852-8866-153e32dcb4f6.png&quot; width=&quot;1752&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kwgy&quot;&gt;Отлично! &lt;/p&gt;
  &lt;p id=&quot;9Ht9&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;msp1&quot;&gt;Шаг 2&lt;/h2&gt;
  &lt;p id=&quot;8Biy&quot;&gt;Теперь создаем 2 блока, чтобы получать id больших видео (с этим способом можно добавлять кругляши, разные файлы, аудио и т.п.)&lt;/p&gt;
  &lt;figure id=&quot;4cLM&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/52/7f/527f8a5d-e635-4114-86bf-0af711d1a0f0.png&quot; width=&quot;1610&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;T045&quot;&gt;В первом блоке ставим любое условие и пишем любое сообщение. Можно также как и на скриншоте&lt;/p&gt;
  &lt;p id=&quot;otMD&quot;&gt;Потом создаем обычную стрелку &lt;/p&gt;
  &lt;figure id=&quot;FwYg&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d2/a7/d2a7cc56-1991-4508-be8e-0210a44967a7.png&quot; width=&quot;1609&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0RCL&quot;&gt;И потом после стрелки идет блок&lt;/p&gt;
  &lt;figure id=&quot;Xtik&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d0/7d/d07df206-1d4a-4e70-b22f-b37a5070b437.png&quot; width=&quot;1613&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;peDZ&quot;&gt;И в выводе сообщение пишем переменную #{tg_request} &lt;/p&gt;
  &lt;p id=&quot;WDCR&quot;&gt;Эта переменная  будет возвращать нам информацию о файле&lt;/p&gt;
  &lt;h2 id=&quot;7qyL&quot;&gt;Шаг 3&lt;/h2&gt;
  &lt;p id=&quot;FQdX&quot;&gt;Создаем телеграм группу и добавляем туда нашего бота&lt;br /&gt;Обязательно нужно дать боту права администратора группы&lt;/p&gt;
  &lt;figure id=&quot;Le7e&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c4/82/c482bc6c-4a21-4f19-a784-d8ca478d4bf9.png&quot; width=&quot;1121&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Ej3e&quot;&gt;Пишем наше кодовое слова и бот запрашивает файлик&lt;/p&gt;
  &lt;p id=&quot;khHR&quot;&gt;Скидываем ему нужный файл&lt;/p&gt;
  &lt;figure id=&quot;DmZG&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2e/c7/2ec7f2ed-70e3-49ac-8d66-18f4dbe5b579.png&quot; width=&quot;863&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;XfXC&quot;&gt;И бот нам что-то скидывает&lt;/p&gt;
  &lt;p id=&quot;dSpj&quot;&gt;И из большой инфы, которую нам скинул бот, нам нужна одна строчка&lt;/p&gt;
  &lt;figure id=&quot;sFaf&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/dd/db/dddb1757-7048-4d8f-accc-bb0f652ec2cc.png&quot; width=&quot;878&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;susS&quot;&gt;А если быть точнее. Нам нужен только то что идет после file_id &lt;strong&gt;(я выделил на скрине какой промежуток нужен)&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;WPG5&quot;&gt;&lt;strong&gt;&amp;quot;file_id&amp;quot;:&amp;quot;Между ковычками то что нам нужно&amp;quot;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;uHcw&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;Ojdz&quot;&gt;Шаг 4 - Финал&lt;/h2&gt;
  &lt;p id=&quot;IU4t&quot;&gt;&lt;a href=&quot;https://docs.salebot.pro/messendzhery-i-chaty/kak-sozdat-bota-v-telegram/api-telegram-funkcii-dlya-ispolzovaniya-vsekh-vozmozhnostei-telegram/funkcii-otpravki-vlozhenii-v-soobshenii#otpravit-video-neskolko-video&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;&lt;em&gt;Документация про метод отправки видео в калькуляторе&lt;/em&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;HhU4&quot;&gt;Теперь используя метод tg_send_video будем отправлять большие видео&lt;/p&gt;
  &lt;figure id=&quot;3rRH&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/90/18/901879c0-e3ee-4659-8dba-0f5813da7afc.png&quot; width=&quot;1593&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;MAOt&quot;&gt;Создаем блок&lt;/p&gt;
  &lt;p id=&quot;uK1V&quot;&gt;Условие ставим любое&lt;/p&gt;
  &lt;p id=&quot;uSia&quot;&gt;А уже в калькуляторе пишем такое&lt;/p&gt;
  &lt;p id=&quot;HScz&quot;&gt;&lt;code&gt;id_video = &amp;#x27;Ставим сюда значение, которое достали в 3 шаге&amp;#x27;&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;OX5u&quot;&gt;&lt;code&gt;result_send_video = tg_send_video(platform_id, id_video)&lt;/code&gt;&lt;/p&gt;
  &lt;p id=&quot;GYGB&quot;&gt;Проверяем и видим что все работает! Поздарвляю! &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h2 id=&quot;vVii&quot;&gt;&lt;strong&gt;Мой ТГ канал с разными полезными штуками - &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;/strong&gt;&lt;/h2&gt;
  &lt;/section&gt;

</content></entry><entry><id>asxabal:C18aCEWc3zt</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/C18aCEWc3zt?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Как средним разработчикам выйти на уровень титанов в мире ботов?</title><published>2023-02-20T03:03:19.011Z</published><updated>2023-02-20T03:03:19.011Z</updated><summary type="html">Здравствуйте! Если вы занимаетесь разработкой ботов на платформе salebot, то вы наверняка знаете, кто такой Александр Прудняков, известный как &quot;Добрый доктор&quot;.</summary><content type="html">
  &lt;p id=&quot;35S8&quot;&gt;Здравствуйте! Если вы занимаетесь разработкой ботов на платформе salebot, то вы наверняка знаете, кто такой &lt;a href=&quot;https://t.me/alex_prudnyakov&quot; target=&quot;_blank&quot;&gt;Александр Прудняков&lt;/a&gt;, известный как &amp;quot;Добрый доктор&amp;quot;.&lt;/p&gt;
  &lt;p id=&quot;sSAW&quot;&gt;Он создал мощное сообщество разработчиков ботов и помогает слабым и средним разработчикам выйти на уровень титанов в мире ботов.&lt;/p&gt;
  &lt;p id=&quot;hqkj&quot;&gt;Если вас интересует такой клуб, то мы можем порекомендовать вам присоединиться к нему, используя ссылку на 3 бесплатных дня: &lt;a href=&quot;https://t.me/boto_shopbot?start=oneday_377884669&quot; target=&quot;_blank&quot;&gt;https://t.me/boto_shopbot?start=oneday_377884669&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>asxabal:calendar</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/calendar?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Хотите создать красивый календарь в Salebot, но не имеете знаний программирования? Не беда! Существует решение, которое позволяет создать календарь без необходимости программирования</title><published>2023-01-23T12:55:54.380Z</published><updated>2025-11-04T09:32:26.290Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/94/50/945004e5-fcab-454b-9553-f947dc285616.png"></media:thumbnail><category term="chat-boty" label="Чат-боты"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/b9/5a/b95adef7-1dd0-45fc-a259-d3dcc104f05f.png&quot;&gt;Статья написана совместно с https://t.me/mihail_plavko</summary><content type="html">
  &lt;p id=&quot;29F4&quot;&gt;&lt;strong&gt;Статья написана совместно с &lt;a href=&quot;https://t.me/mihail_plavko&quot; target=&quot;_blank&quot;&gt;https://t.me/mihail_plavko&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;29Gc&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/6A_xSgRN-HY?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
    &lt;figcaption&gt;Обязательно посмотрите. Новая версия календаря&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(34,  84%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WMw1&quot;&gt;Промокод на 10 бесплатных дней в проекте salebot: &lt;code&gt;asxaba1&lt;/code&gt;&lt;/p&gt;
    &lt;p id=&quot;XFCL&quot;&gt;&lt;strong&gt;Мой чат-бот вакансий - &lt;a href=&quot;https://t.me/infobizaa_bot&quot; target=&quot;_blank&quot;&gt;https://t.me/infobizaa_bot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
    &lt;hr /&gt;
    &lt;p id=&quot;67Jg&quot;&gt;Можно приобрести версию календаря, содержащую скрипт на Python, который можно свободно использовать в своих проектах без каких-либо ограничений. Подробности доступны здесь: &lt;a href=&quot;https://t.me/asxabal/300&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal/300&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;LNi9&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b9/5a/b95adef7-1dd0-45fc-a259-d3dcc104f05f.png&quot; width=&quot;847&quot; /&gt;
    &lt;figcaption&gt;Календарь в кнопках&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;KbHe&quot;&gt;Если вы работаете над проектом, в котором нужно позволить пользователям выбирать дату, например, для записи на консультацию, то вы знаете, как сложно это может быть.&lt;/p&gt;
  &lt;p id=&quot;PTkY&quot;&gt;С помощью python или другими решениями очень сложно это реализовывать + еще сложнее указать занятые даты&lt;/p&gt;
  &lt;p id=&quot;Mk4E&quot;&gt;Решение от разработчика Михаила поможет вам &lt;strong&gt; &lt;a href=&quot;https://t.me/mihail_plavko&quot; target=&quot;_blank&quot;&gt;https://t.me/mihail_plavko&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;jCZ6&quot;&gt;И в этом статье будет инструкция по использованию его разработки&lt;/p&gt;
  &lt;p id=&quot;usXT&quot;&gt;С помощью такого решения достаточно просто и удобно создавать подобные календари &lt;/p&gt;
  &lt;hr /&gt;
  &lt;h2 id=&quot;b5Wo&quot;&gt;Если вас интересуют различные инструкции и советы, посетите мой канал в Telegram - &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;. Там вы найдете множество полезной информации и материалов для обучения.&lt;/h2&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;O8Vd&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;gnch&quot;&gt;&lt;strong&gt;&lt;u&gt;Для начала вам нужно написать боту&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;PjDy&quot;&gt;&lt;strong&gt;&lt;u&gt; &lt;a href=&quot;https://t.me/tg_cust_calendar_bot?start=377884669&quot; target=&quot;_blank&quot;&gt;https://t.me/tg_cust_calendar_bot?start=377884669&lt;/a&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;aMaj&quot;&gt;&lt;strong&gt;&lt;u&gt;Он даст вам пароль и id &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;EWI0&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3f/2a/3f2add00-d172-44e9-be0d-d534bf55c156.png&quot; width=&quot;596&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Ipxg&quot;&gt;бесплатно у вас будет 300 активаций&lt;/p&gt;
  &lt;figure id=&quot;Fn0W&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/39/8f/398ff55e-3179-4dfb-abfa-ad61e98df283.png&quot; width=&quot;1335&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;JjGZ&quot;&gt;Сперва создаем блок для календаря&lt;/p&gt;
  &lt;p id=&quot;b9f9&quot;&gt;Этот блок может быть не состояния с условием или первостепенная проверка условия&lt;/p&gt;
  &lt;p id=&quot;VpZK&quot;&gt;Тут уже как вам нравится, главное что в блоке должен быть post-json запрос и калькулятор, а тип блока не имеет значения&lt;/p&gt;
  &lt;p id=&quot;Mp8Q&quot;&gt;&lt;u&gt;&lt;strong&gt;Условие ставим такое&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;
  &lt;p id=&quot;bxNC&quot;&gt;&lt;strong&gt;Календарь&lt;/strong&gt;;arrow_right_year;arrow_left_year;arrow_right_month;arrow_left_month&lt;/p&gt;
  &lt;p id=&quot;f2h5&quot;&gt;&lt;em&gt;&lt;strong&gt;Календарь - &lt;/strong&gt;это первое слово в условиях активации блока, оно может быть любое&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;qf6r&quot;&gt;&lt;strong&gt;&lt;u&gt;Текс&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;6yxE&quot;&gt;Выберите дату 🙌&lt;/p&gt;
  &lt;p id=&quot;cr07&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;oglF&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a3/1d/a31d374c-475d-4988-a364-24bfeff0bf2f.png&quot; width=&quot;1606&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;oigp&quot;&gt;Этот тот же блок.&lt;/p&gt;
  &lt;p id=&quot;cwAc&quot;&gt;Тип запроса - POST-json&lt;/p&gt;
  &lt;p id=&quot;s3GZ&quot;&gt;URL запроса - &lt;a href=&quot;https://script.google.com/macros/s/AKfycbwfZgUwQj3IevWNpAsYiE2b7Lb0CYbirTdggMAjcyImPLLR7AqhLRupt_fm8Dc79KrL_w/exec&quot; target=&quot;_blank&quot;&gt;https://script.google.com/macros/s/AKfycbwfZgUwQj3IevWNpAsYiE2b7Lb0CYbirTdggMAjcyImPLLR7AqhLRupt_fm8Dc79KrL_w/exec&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;9OES&quot;&gt;Сохраняемые значения -&lt;br /&gt;result|calendar_array-&amp;gt;date_button&lt;/p&gt;
  &lt;p id=&quot;WTlf&quot;&gt;JSON параметры -&lt;br /&gt;{&amp;quot;id&amp;quot;:&amp;quot;&lt;strong&gt;&lt;u&gt;ВАШ ID (СКАЖЕТ БОТ)&lt;/u&gt;&lt;/strong&gt;&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;&lt;strong&gt;&lt;u&gt;ВАШ ПАРОЛЬ (СКАЖЕТ БОТ)&lt;/u&gt;&lt;/strong&gt;&amp;quot;, &amp;quot;proj_numb&amp;quot;:&amp;quot;1&amp;quot;, &amp;quot;year_numb&amp;quot;:&amp;quot;#{year}&amp;quot;, &amp;quot;month_numb&amp;quot;:&amp;quot;#{month}&amp;quot;, &amp;quot;booked_dates_array&amp;quot;:&amp;quot;#{mas}&amp;quot;, &amp;quot;custom_booked_text&amp;quot;:&amp;quot;❤&amp;quot;, &amp;quot;use_salebot_format&amp;quot;:&amp;quot;1&amp;quot;}&lt;/p&gt;
  &lt;p id=&quot;2h9l&quot;&gt;Здесь proj_numb это номер вашего проекта&lt;br /&gt;Если вы в первый раз настраиваете подобный календарь, то номер вашего проекта будет 1&lt;/p&gt;
  &lt;p id=&quot;x5mS&quot;&gt;year_numb - год&lt;/p&gt;
  &lt;p id=&quot;XgaB&quot;&gt;month_numb - номер месяца&lt;/p&gt;
  &lt;p id=&quot;4dBI&quot;&gt;booked_dates_array - занятые даты для записи&lt;/p&gt;
  &lt;p id=&quot;YqyN&quot;&gt;custom_booked_text - какой смайлик ставить в занятых датах&lt;/p&gt;
  &lt;p id=&quot;uJ72&quot;&gt;use_salebot_format - возвращение сейлботовской клавиатуры&lt;/p&gt;
  &lt;p id=&quot;RKmI&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;veQF&quot;&gt;Дальше эти настройки еще дополняем в клавиатуре &lt;/p&gt;
  &lt;figure id=&quot;uYRg&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/78/cd/78cdf5e1-7ebf-4101-920b-78e3fddc20a9.png&quot; width=&quot;1542&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xkb7&quot;&gt;&lt;strong&gt;mas &lt;/strong&gt;= [&amp;quot;02.01.2023&amp;quot;, &amp;quot;03.01.2023&amp;quot;]&lt;/p&gt;
  &lt;p id=&quot;LusY&quot;&gt;&lt;br /&gt;/*текущий месяц*/&lt;br /&gt;&lt;strong&gt;current_month&lt;/strong&gt; = get_datetime(&amp;quot;%m&amp;quot;)&lt;/p&gt;
  &lt;p id=&quot;ZDul&quot;&gt;/*год*/&lt;br /&gt;&lt;strong&gt;year &lt;/strong&gt;= if(question != &amp;quot;arrow_right_year&amp;quot; and question != &amp;quot;arrow_left_year&amp;quot;, 2023, if(question == &amp;quot;arrow_right_year&amp;quot;, year + 1, if(question == &amp;quot;arrow_left_year&amp;quot;, year - 1, 2023)))&lt;/p&gt;
  &lt;p id=&quot;dFDH&quot;&gt;/*месяц*/&lt;br /&gt;&lt;strong&gt;month &lt;/strong&gt;= if(question != &amp;quot;arrow_right_month&amp;quot; and question != &amp;quot;arrow_left_month&amp;quot;, current_month, if(question == &amp;quot;arrow_right_month&amp;quot;, month + 1, if(question == &amp;quot;arrow_left_month&amp;quot;, month - 1, current_month)))&lt;/p&gt;
  &lt;p id=&quot;VoMu&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Jcdi&quot;&gt;&lt;strong&gt;mas &lt;/strong&gt;- это у нас занятые даты &lt;/p&gt;
  &lt;p id=&quot;XEHp&quot;&gt;там логика в том что, если человек в первый раз активировал блок, то у него год будет 2023&lt;br /&gt;Если нажмет на кнопку направо, то к 2023 прибавится +1&lt;br /&gt;Если нажмет налево, то к 2023 - 1&lt;br /&gt;И тем самым года можно удобно листать&lt;/p&gt;
  &lt;p id=&quot;S631&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;PitH&quot;&gt;&lt;strong&gt;month &lt;/strong&gt;- эта переменная у нас связана с месяцами&lt;/p&gt;
  &lt;p id=&quot;RTO5&quot;&gt;В этой переменной такая же логика как с годами&lt;/p&gt;
  &lt;p id=&quot;HxzG&quot;&gt;Если человек первый раз активировал блок, то ему выводится текущий месяц&lt;br /&gt;Если нажимает на кнопку направо, то следующий месяц&lt;br /&gt;Если нажимает на кнопку налево, то предыдущий месяц&lt;/p&gt;
  &lt;p id=&quot;B6fF&quot;&gt;&lt;strong&gt;current_month - &lt;/strong&gt;в этой переменной сохраняется текущий месяц в формате цифры &lt;/p&gt;
  &lt;p id=&quot;Yq4P&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;S3my&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a8/30/a8306288-83dc-4915-8f22-5bfc8f8995b8.png&quot; width=&quot;1344&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;FXgo&quot;&gt;и в расширенных настройках кнопок вводим переменную #{date_button}&lt;/p&gt;
  &lt;p id=&quot;Razd&quot;&gt;Тестируем бота и видим что все супер!&lt;/p&gt;
  &lt;p id=&quot;R9tq&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;077i&quot;&gt;Если вас интересуют различные инструкции и советы, посетите мой канал в Telegram - &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;. Там вы найдете множество полезной информации и материалов для обучения.&lt;/h2&gt;

</content></entry><entry><id>asxabal:support</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/support?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Инструкция настройки поддержки в 4 блока и 4 строчки кода</title><published>2023-01-11T09:50:30.570Z</published><updated>2024-02-14T10:19:36.047Z</updated><category term="salebot" label="salebot"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/16/d5/16d5d638-3f73-40b5-b74d-585b35b5ad0d.png&quot;&gt;Приветствую! Сегодня покажу как создать простую поддержку в 4 блока и 4 строчки кода</summary><content type="html">
  &lt;p id=&quot;d0QK&quot;&gt;Приветствую! Сегодня покажу как создать простую поддержку в 4 блока и 4 строчки кода &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WMw1&quot;&gt;Промокод на 10 бесплатных дней в проекте salebot: &lt;code&gt;asxaba1&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;nc7R&quot;&gt;&lt;em&gt;Больше интересной инфы в моем канале &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;br /&gt;Жду в своем канале xD&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;m6Ny&quot;&gt;&lt;strong&gt;Мой чат-бот вакансий - &lt;a href=&quot;https://t.me/infobizaa_bot&quot; target=&quot;_blank&quot;&gt;https://t.me/infobizaa_bot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;OdBW&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/16/d5/16d5d638-3f73-40b5-b74d-585b35b5ad0d.png&quot; width=&quot;1371&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;jhR5&quot;&gt;Создаем первый стартовый блок &lt;/p&gt;
  &lt;p id=&quot;qWhf&quot;&gt;Потом&lt;/p&gt;
  &lt;figure id=&quot;VJyv&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/89/91/8991792b-f7b3-4828-9b6f-df3a859c6156.png&quot; width=&quot;1596&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DSZS&quot;&gt;Отводим стрелку и включаем &amp;quot;Пользователь вводит данные&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;NIxI&quot;&gt;и там пишем переменную vopros&lt;/p&gt;
  &lt;p id=&quot;uAtp&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;xcBv&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4e/46/4e46b1e8-ef00-4b26-b208-0f70d4f62c42.png&quot; width=&quot;1582&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;moJC&quot;&gt;И в новом блоке пишем такие команды&lt;/p&gt;
  &lt;p id=&quot;FrMf&quot;&gt;button = &amp;#x27;[{&amp;quot;line&amp;quot;:0,&amp;quot;index_in_line&amp;quot;:0,&amp;quot;text&amp;quot;:&amp;quot;&lt;strong&gt;#{platform_id}&lt;/strong&gt;&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;inline&amp;quot;}]&amp;#x27;&lt;br /&gt;result = tg_send_message(platform_id, &amp;quot;&lt;strong&gt;#{vopros}&lt;/strong&gt;&amp;quot;, &amp;#x27;&amp;#x27;, &lt;strong&gt;button&lt;/strong&gt;) &lt;/p&gt;
  &lt;p id=&quot;YS06&quot;&gt;То тут создаем кнопку с &lt;strong&gt;platform_id &lt;/strong&gt;пользователя, к&lt;strong&gt;оторый з&lt;/strong&gt;адает вопрос&lt;br /&gt;и передаем вопрос и кнопку в tg_send_message&lt;/p&gt;
  &lt;p id=&quot;BwPR&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;ZM9W&quot;&gt;Теперь нужно подумать как отвечать на эти вопросы&lt;/p&gt;
  &lt;p id=&quot;iIVc&quot;&gt;для этого создаем блок&lt;/p&gt;
  &lt;figure id=&quot;OytC&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6c/76/6c764d50-f58e-499e-a6d6-82ab1d631e72.png&quot; width=&quot;1581&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;yh9K&quot;&gt;В условии ставим регулярку ^[1-9]+[0-9]*$&lt;/p&gt;
  &lt;p id=&quot;NYL2&quot;&gt;текс:&lt;br /&gt;Напишите ответ на этот вопрос ниже&lt;/p&gt;
  &lt;p id=&quot;xCir&quot;&gt;#{user_platform_id}&lt;/p&gt;
  &lt;p id=&quot;earP&quot;&gt;и в калькуляторе &lt;/p&gt;
  &lt;p id=&quot;4nZa&quot;&gt;user_platform_id = #{question}&lt;/p&gt;
  &lt;p id=&quot;aft4&quot;&gt;Как этот блок работает?&lt;/p&gt;
  &lt;p id=&quot;szjt&quot;&gt;Помните выше мы в кнопку передавали platform_id &lt;/p&gt;
  &lt;p id=&quot;4qkT&quot;&gt;И тут мы фиксируем с помощью регулярки только цифры&lt;/p&gt;
  &lt;p id=&quot;AIq7&quot;&gt;потом с помощью #{question} мы захватываем этот переданный platform_id  и записываем в переменную user_platform_id &lt;/p&gt;
  &lt;p id=&quot;BN5M&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;fnzt&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e9/c6/e9c60533-ca95-484f-8f1f-be2db20e0133.png&quot; width=&quot;1587&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;NPAS&quot;&gt;Потом создаем новый блок и в стрелке ставим такие настройки &lt;/p&gt;
  &lt;p id=&quot;054o&quot;&gt;включаем &amp;quot;Пользователь вводит данные&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;pEOn&quot;&gt;и записываем данные в переменную otvet&lt;/p&gt;
  &lt;figure id=&quot;Y4hX&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/7f/e4/7fe47b98-283b-4d7f-9b53-ad63a96dee08.png&quot; width=&quot;1583&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;XZR4&quot;&gt;И в новом блоке &lt;/p&gt;
  &lt;p id=&quot;vfdL&quot;&gt;в калькуляторе вводим такой код&lt;/p&gt;
  &lt;p id=&quot;lB3P&quot;&gt;result = tg_send_message(user_platform_id, &amp;quot;Ответ на ваш вопрос: #{otvet}&amp;quot;) &lt;/p&gt;
  &lt;p id=&quot;aCHC&quot;&gt;Здесь мы отправляем ответ тому кто задавал вопрос &lt;/p&gt;
  &lt;p id=&quot;MUCP&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;YFWa&quot;&gt;И все, мы все сделали!&lt;/p&gt;
  &lt;p id=&quot;YVXj&quot;&gt;Проверяем и радуемся :D&lt;/p&gt;
  &lt;p id=&quot;emXZ&quot;&gt;Если есть вопросы - можете писать здесь комментарии&lt;/p&gt;
  &lt;p id=&quot;YGU6&quot;&gt;Я всегда отвечаю&lt;/p&gt;
  &lt;p id=&quot;gqYr&quot;&gt;И переходим в мой телеграм канал &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>asxabal:statistics</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/statistics?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Простая аналитика в salebot. И настроим, чтобы бот скидывал в группу аналитику</title><published>2023-01-01T05:10:48.558Z</published><updated>2024-02-14T10:19:50.141Z</updated><category term="salebot" label="salebot"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/b2/06/b2060fb8-0e1e-4dd7-8938-75917400ae51.png&quot;&gt;Мой телеграм канал - https://t.me/asxabal
Там много полезных статьей</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;z6nI&quot;&gt;&lt;strong&gt;Мой телеграм канал - &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;br /&gt;Там много полезных статьей&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WMw1&quot;&gt;Промокод на 10 бесплатных дней в проекте salebot: &lt;code&gt;asxaba1&lt;/code&gt;&lt;/p&gt;
    &lt;p id=&quot;5hro&quot;&gt;&lt;strong&gt;Мой чат-бот вакансий - &lt;a href=&quot;https://t.me/infobizaa_bot&quot; target=&quot;_blank&quot;&gt;https://t.me/infobizaa_bot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;cvOY&quot;&gt;Привет! Сегодня соберем простую аналитику в сейлботе &lt;br /&gt;используя списки(не массивы :D)&lt;/p&gt;
  &lt;p id=&quot;kHvE&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;fJVW&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b2/06/b2060fb8-0e1e-4dd7-8938-75917400ae51.png&quot; width=&quot;1545&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;KQzc&quot;&gt;Сперва заходим в списки и создаем папку &amp;quot;Аналитика воронки&amp;quot; и в этой папке создаем уже списки&lt;/p&gt;
  &lt;p id=&quot;D0lA&quot;&gt;У каждого этого списка есть свой id и поэтому будем использовать эту фишку &lt;/p&gt;
  &lt;p id=&quot;7O3U&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;PQvT&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e2/00/e2000d9e-6898-4dee-904c-f015bb5f4aa8.png&quot; width=&quot;1339&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Lm3R&quot;&gt;В блоках где нужно фиксировать переход, добавляем действие &amp;quot;Добавить в список&amp;quot; и выбираем нужный список&lt;/p&gt;
  &lt;p id=&quot;MrLO&quot;&gt;И получается, что когда человек зайдет в этот блок, то бот его добавит в список, который мы указали&lt;/p&gt;
  &lt;p id=&quot;Wncq&quot;&gt;И так делаем с остальными блоками, которые мы хотим фиксировать переходы&lt;/p&gt;
  &lt;p id=&quot;5UXN&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;XjyA&quot;&gt;И когда везде где нужно, добавили действие &amp;quot;Добавить в список&amp;quot;, то теперь нужно, чтобы бот красиво скидывал нам информацию&lt;/p&gt;
  &lt;p id=&quot;EX15&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WB9P&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;UCQG&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2d/ab/2dab5900-c7e5-461d-9655-7599fa7be74c.png&quot; width=&quot;1607&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;BuzD&quot;&gt;Создаем блок &amp;quot;Первостепенная проверка условия&amp;quot; и в условии ставим /statistics&lt;/p&gt;
  &lt;p id=&quot;8leX&quot;&gt;Далее в сообщении делаем такое:&lt;/p&gt;
  &lt;p id=&quot;X1Rp&quot;&gt;Дата: #{current_date}&lt;br /&gt;Время: #{current_time}&lt;br /&gt;==================&lt;/p&gt;
  &lt;p id=&quot;fgc2&quot;&gt;и в калькуляторе пишем:&lt;/p&gt;
  &lt;p id=&quot;L5M4&quot;&gt;/* Название списка */&lt;br /&gt;result_list_number_номер_списка= list_size(номер_списка)&lt;/p&gt;
  &lt;figure id=&quot;9Zu8&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c6/35/c635bc2f-b9a5-41dc-8b50-4fbd29abbd6c.png&quot; width=&quot;920&quot; /&gt;
    &lt;figcaption&gt;Вот тут номер списка (На картинке)&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ueHa&quot;&gt;Вот тут номер списка (На картинке)&lt;/p&gt;
  &lt;p id=&quot;YayD&quot;&gt;и код с калькулятора делаем для каждого списка&lt;/p&gt;
  &lt;p id=&quot;8ERO&quot;&gt;С помощью list_size() сейлбот возвращает размер списка (то есть сколько людей в этом списке) &lt;/p&gt;
  &lt;p id=&quot;nGOt&quot;&gt;Прочитать про list_size() можно тут &lt;a href=&quot;https://docs.salebot.pro/rassylki-1/spiski-podpischikov#proverka-razmera-spiska&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/rassylki-1/spiski-podpischikov#proverka-razmera-spiska&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;WSTK&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;bpnV&quot;&gt;И теперь когда мы указали все списки в калькуляторе, то теперь нужно, чтобы бот скидывал в канал&lt;/p&gt;
  &lt;figure id=&quot;xSA3&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9c/98/9c98883d-9953-4597-a6e0-6d84614d164d.png&quot; width=&quot;1159&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;tQt8&quot;&gt;Теперь дополняем наше сообщение остальным текстом&lt;/p&gt;
  &lt;p id=&quot;ntp3&quot;&gt;Название списка&lt;br /&gt;Число людей: #{переменная_для_этого_списка}&lt;/p&gt;
  &lt;p id=&quot;qJtV&quot;&gt;И все! Простая аналитика готова&lt;/p&gt;
  &lt;p id=&quot;cvdG&quot;&gt;Тестируем&lt;/p&gt;
  &lt;figure id=&quot;U0Th&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/20/65/2065fd6b-6931-4465-ba45-e8e143fe63cc.png&quot; width=&quot;520&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;hoVF&quot;&gt;И получаем подобный результат.&lt;/p&gt;
  &lt;p id=&quot;K3T2&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;qO7y&quot;&gt;Дальше&lt;/p&gt;
  &lt;p id=&quot;xtiF&quot;&gt;Добавляем бота в группу и там его делаем админом&lt;/p&gt;
  &lt;p id=&quot;vS3u&quot;&gt;Потом в сейлботе создаем такой блок&lt;/p&gt;
  &lt;figure id=&quot;xWcY&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/73/c7/73c7fb69-a7b5-4b80-984b-dadd35836330.png&quot; width=&quot;1311&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pH9l&quot;&gt;И чтобы обязательно с кнопкой в тексте&lt;/p&gt;
  &lt;p id=&quot;6E0M&quot;&gt;Потом активируем этот блок в группе &lt;/p&gt;
  &lt;figure id=&quot;aQTx&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/01/de/01de3a72-116c-480f-9a24-c0dbc6ffcc43.png&quot; width=&quot;525&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HifP&quot;&gt;и потом закрепляем это сообщение&lt;/p&gt;
  &lt;figure id=&quot;76Iw&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8b/36/8b36461e-7315-4f85-a5cc-7df7989f56c0.png&quot; width=&quot;1181&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pOaB&quot;&gt;И в закрепе будет удобная кнопка, чтобы скидывать аналитику&lt;/p&gt;
  &lt;p id=&quot;aGcP&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;BFRH&quot;&gt;Поздравляю! Вы настроили простую аналитику&lt;/p&gt;
  &lt;p id=&quot;SggA&quot;&gt;&lt;strong&gt;Мой телеграм канал - &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;br /&gt;Там много полезных статьей&lt;/strong&gt;&lt;/p&gt;

</content></entry><entry><id>asxabal:coupon</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/coupon?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Реализация купонной системы в боте</title><published>2022-12-21T03:13:54.691Z</published><updated>2024-02-14T10:20:06.068Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/15/12/15126acd-1b13-4a57-a1ad-feed32e1f2b9.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/08/70/08706097-a14a-4470-a66d-aaf3a1e12968.png&quot;&gt;Эта статься основана из комбинации 3 статьей в документации salebot</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WMw1&quot;&gt;Промокод на 10 бесплатных дней в проекте salebot: &lt;code&gt;asxaba1&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;QfV2&quot;&gt;&lt;strong&gt;Мой чат-бот вакансий - &lt;a href=&quot;https://t.me/infobizaa_bot&quot; target=&quot;_blank&quot;&gt;https://t.me/infobizaa_bot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;U7zw&quot;&gt;&lt;u&gt;Эта статься основана из комбинации 3 статьей в документации salebot&lt;/u&gt;&lt;/p&gt;
  &lt;ul id=&quot;Iv3K&quot;&gt;
    &lt;li id=&quot;mXEy&quot;&gt;Персонализированные изображение&lt;br /&gt;- &lt;a href=&quot;https://docs.salebot.pro/kak-sdelat/personalizirovannye-izobrazheniya&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/kak-sdelat/personalizirovannye-izobrazheniya&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;ellX&quot;&gt;Распознавания штрихкода на фотографии - &lt;a href=&quot;https://docs.salebot.pro/osobye-vozmozhnosti/funkciya-dlya-raspoznavaniya-shtrikhkoda-na-fotografii&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/osobye-vozmozhnosti/funkciya-dlya-raspoznavaniya-shtrikhkoda-na-fotografii&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;6Y8R&quot;&gt;Генерация QR-кода&lt;br /&gt; - &lt;a href=&quot;https://docs.salebot.pro/osobye-vozmozhnosti/generaciya-qr-koda&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/osobye-vozmozhnosti/generaciya-qr-koda\&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;L8GL&quot;&gt;Ну и знания интеграции с гугл таблицами&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;W9Hl&quot;&gt;&lt;em&gt;&lt;strong&gt;Жду в своем телеграм канале, там много подобной полезной инфы &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;n7mD&quot;&gt;и логика купонной системы состоит из двух шагов &lt;/p&gt;
  &lt;ol id=&quot;qw8A&quot;&gt;
    &lt;li id=&quot;PlQ1&quot;&gt;Выдача купона&lt;/li&gt;
    &lt;li id=&quot;JIok&quot;&gt;Проверка купона, который скинул пользователь чат-боту&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h2 id=&quot;EKOx&quot;&gt;Начнем с выдачи купона (шаг 1)&lt;/h2&gt;
  &lt;p id=&quot;JBKJ&quot;&gt;Для начала нам нужно создать обычный qr-код (Генерация QR-кода&lt;br /&gt; - &lt;a href=&quot;https://docs.salebot.pro/osobye-vozmozhnosti/generaciya-qr-koda&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/osobye-vozmozhnosti/generaciya-qr-koda\&lt;/a&gt;)&lt;/p&gt;
  &lt;p id=&quot;JH9O&quot;&gt;можно прочитать по ссылке выше или тут&lt;/p&gt;
  &lt;p id=&quot;bE62&quot;&gt;Для начала нам нужно сперва сгенерировать api ключ сейлбота &lt;/p&gt;
  &lt;figure id=&quot;p0Pj&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/08/70/08706097-a14a-4470-a66d-aaf3a1e12968.png&quot; width=&quot;738&quot; /&gt;
    &lt;figcaption&gt;в настройках проекта&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;WRiN&quot;&gt;Дальше создаем блок &lt;/p&gt;
  &lt;figure id=&quot;smtJ&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bb/ec/bbeced81-96d1-42c2-814f-63eeea6b261d.png&quot; width=&quot;1404&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7k4Q&quot;&gt;&lt;strong&gt;Тип запроса - POST-json&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;70Db&quot;&gt;URL запроса - &lt;a href=&quot;https://store.salebot.pro/function/qrcode_generator&quot; target=&quot;_blank&quot;&gt;https://store.salebot.pro/function/qrcode_generator&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;PggL&quot;&gt;&lt;strong&gt;Сохраняемые значения:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;76O3&quot;&gt;status-&amp;gt;status; &lt;br /&gt;qr_image_url-&amp;gt;qr_image_url&lt;/p&gt;
  &lt;p id=&quot;Xmec&quot;&gt;сама картинка qr-кода сохраняется тут в переменную qr_image_url и эту переменную(картинку) будем использовать для генерации купона&lt;/p&gt;
  &lt;p id=&quot;Oi1F&quot;&gt;&lt;strong&gt;JSON параметры:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Fi9K&quot;&gt; {&amp;quot;text_for_qr&amp;quot;:&amp;quot;#{Промокод}&amp;quot;,&amp;quot;api_key&amp;quot;:&amp;quot;&lt;strong&gt;&lt;em&gt;ваш апи ключ сейлбота&lt;/em&gt;&lt;/strong&gt;&amp;quot;}&lt;/p&gt;
  &lt;p id=&quot;oQkr&quot;&gt;&lt;strong&gt;И в поле &amp;quot;Калькулятор&amp;quot; вводим такое значение:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;PLla&quot;&gt;Промокод = &amp;#x27;promo&amp;#x27; + &amp;#x27;#{client_id}&amp;#x27; + random(100,10000)&lt;/p&gt;
  &lt;p id=&quot;l2fQ&quot;&gt;тут client_id используется, чтобы промокод был максимально уникальным&lt;/p&gt;
  &lt;p id=&quot;HWLO&quot;&gt;если вы считаете, что он недостаточно будет уникальным, можно спокойно добавлять свои какие-то данные&lt;/p&gt;
  &lt;p id=&quot;Rii5&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;hy4s&quot;&gt;Дальше создаем блок и стрелку 0 секунд&lt;/p&gt;
  &lt;figure id=&quot;JLN1&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f4/4f/f44fc42f-4aca-4ef1-b8ac-1a1f595bd7cd.png&quot; width=&quot;418&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4Hvs&quot;&gt;и чуть не забыл, нам нужно еще подготовить гугл таблицы для приема нужных данных&lt;/p&gt;
  &lt;p id=&quot;iClt&quot;&gt;Создаем таблицы и вводим такие данные &lt;/p&gt;
  &lt;blockquote id=&quot;u6m3&quot;&gt;Купон&lt;/blockquote&gt;
  &lt;blockquote id=&quot;MyKs&quot;&gt;Статус&lt;/blockquote&gt;
  &lt;blockquote id=&quot;TTge&quot;&gt;% скидки&lt;/blockquote&gt;
  &lt;blockquote id=&quot;785B&quot;&gt;Срок годности&lt;/blockquote&gt;
  &lt;figure id=&quot;LW9y&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/60/00/60001ecb-81f2-4aae-92d2-bd61a8bbb166.png&quot; width=&quot;601&quot; /&gt;
    &lt;figcaption&gt;Как тут&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Pd69&quot;&gt;и не забываем сделать для таблицы доступ редактора для всех &lt;/p&gt;
  &lt;p id=&quot;118p&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;kUu8&quot;&gt;И все, таблицы есть - продолжаем 👌&lt;/p&gt;
  &lt;p id=&quot;vjTO&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;sRng&quot;&gt;Настраиваем уже саму выдачу купона&lt;/h2&gt;
  &lt;p id=&quot;Bfzc&quot;&gt;если информации из этой статьи не хватит - можно дополнительно посмотреть про выдачу картинок тут (Персонализированные изображение&lt;br /&gt;- &lt;a href=&quot;https://docs.salebot.pro/kak-sdelat/personalizirovannye-izobrazheniya&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/kak-sdelat/personalizirovannye-izobrazheniya&lt;/a&gt; )&lt;/p&gt;
  &lt;p id=&quot;FBz1&quot;&gt;&lt;strong&gt;Шаг 1. Регистрируем на сервисе niftyimages&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;nEWF&quot;&gt;Когда зарегистрировались, вас встретит такая картина&lt;/p&gt;
  &lt;figure id=&quot;RGAv&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a1/67/a167f604-5a95-468c-a93a-7daa3bbe79f9.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xzRD&quot;&gt;Тут нужно выбрать &amp;quot;Personalized Image&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;4grt&quot;&gt;Дальше будет примерно такая картина&lt;/p&gt;
  &lt;figure id=&quot;TmPC&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/48/4f/484fa046-61d1-4c95-b60b-35367e6fd5a5.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;p0xk&quot;&gt;Честно, я сам не до конца понял, как с 0 создать отображения персональных аватарок, поэтому будем создавать через готовый шаблон и этот шаблон подстроим полностью под себя :D&lt;/p&gt;
  &lt;figure id=&quot;7Nz5&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/54/50/5450479a-e828-49c9-8762-cc3bcea1c410.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;nL2F&quot;&gt;Выбираем раздел &amp;quot;Marketing&amp;quot; и там выбираем &amp;quot;кавбойский&amp;quot; шаблон&lt;/p&gt;
  &lt;p id=&quot;mbAi&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;L1i2&quot;&gt;У вас все будет выглядеть вот так:&lt;/p&gt;
  &lt;figure id=&quot;t1AJ&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/25/a4/25a4022f-7d14-49ff-80c6-53c9f1cc63a3.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;sJqR&quot;&gt;Тут у нас есть самое важное - аватарка&lt;/p&gt;
  &lt;p id=&quot;UpUF&quot;&gt;и именно в эту аватарку мы будем передавать картинку qr-код&lt;/p&gt;
  &lt;figure id=&quot;aJ4g&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/03/98/039805d9-d1ec-457d-ba17-e447d59d50e1.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HIG4&quot;&gt;Справа есть слои и нужно убрать лишнее&lt;/p&gt;
  &lt;p id=&quot;zuJO&quot;&gt;Нажимаем на ... (три точки) и нажимаем на корзинку &lt;/p&gt;
  &lt;p id=&quot;PkSn&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;abqK&quot;&gt;После&lt;/p&gt;
  &lt;figure id=&quot;GlYv&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/09/48/0948840a-6269-4678-9075-17aab834a388.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;XufJ&quot;&gt;Нажимаем на &amp;quot;Image Settings&amp;quot; слева сверху&lt;/p&gt;
  &lt;p id=&quot;hYt9&quot;&gt;и потом там нажимаем на &amp;quot;Change Background Image&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;gbmU&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/59/a7/59a7a1e0-9492-49a4-8824-ba1ca8e97a65.png&quot; width=&quot;960&quot; /&gt;
    &lt;figcaption&gt;Change Background Image&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;zPIk&quot;&gt;ну и закидываем свой фон&lt;/p&gt;
  &lt;figure id=&quot;gASL&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/ff/b7/ffb72e5f-eedc-4dd2-b16f-a78ec0c80b0b.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;dlbk&quot;&gt;Теперь все выглядит примерно так&lt;/p&gt;
  &lt;p id=&quot;djTI&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;tSyZ&quot;&gt;Теперь нужно убрать закругление для фото&lt;/p&gt;
  &lt;figure id=&quot;ZHrS&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/af/4a/af4abdce-0d93-4d32-8610-73184085f893.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pPAg&quot;&gt;Нажимаем на картинку и двигаем ползунок к 0&lt;/p&gt;
  &lt;p id=&quot;Ypze&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WXqa&quot;&gt;Дальше по идее нам нужен какой-то красивый текст, который дает понять, что это КУПОН, а не какая-та стрёмная картинка с qr-кодом&lt;/p&gt;
  &lt;figure id=&quot;7LJU&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/11/d0/11d0c64f-f078-457c-bce9-f3ed29e5b2d3.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;eUIj&quot;&gt;Нажав сюда, можно добавлять текст&lt;/p&gt;
  &lt;p id=&quot;I77R&quot;&gt;Еще будет круто, если сделать так, чтобы выводилось имя пользователя&lt;/p&gt;
  &lt;figure id=&quot;7EnV&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/12/bd/12bdc0ac-c4a2-407a-a880-2c27d5b68397.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Kxuc&quot;&gt;Нажимаем вот сюда &amp;quot;Merge Tag Layer&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;936D&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/33/2d/332d3888-65db-4751-a502-6777007b8fab.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;rtMZ&quot;&gt;Выбираем [name]&lt;/p&gt;
  &lt;figure id=&quot;MrKN&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/eb/84/eb84668e-828e-4590-a1b9-7833a526043c.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Vgp5&quot;&gt;И уже редактируем отображаемый текст&lt;/p&gt;
  &lt;p id=&quot;YhV1&quot;&gt;Если вы введете свое имя в пункте Design Value, то там тестово будет отображаться ваше имя&lt;/p&gt;
  &lt;p id=&quot;cs5V&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;XI3y&quot;&gt;И все! Шаблонная картинка готова, что теперь?&lt;/p&gt;
  &lt;figure id=&quot;RSCs&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a0/1d/a01d9fbc-0c71-4a55-be12-bb7f06189268.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0ToI&quot;&gt;Нажимаем на &amp;quot;Save&amp;quot;, называем как-то&lt;/p&gt;
  &lt;p id=&quot;DIFy&quot;&gt;и после этого, платформа показывает нам примерно такое&lt;/p&gt;
  &lt;figure id=&quot;gwtL&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/09/e1/09e1ae1d-82a0-4279-a83e-8693fce1c3c3.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;SWJr&quot;&gt;Нам нужна именно та часть, которая находится в ковычках &amp;quot;&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;TTyD&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/85/d0/85d00c81-371d-442f-89bf-abbb0897b725.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;coze&quot;&gt;и сохраняем это значение, можно для начала в заметках записать, чтобы заново  не проходить путь с этой картинкой &lt;/p&gt;
  &lt;p id=&quot;nKCz&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;tqfR&quot;&gt;Возвращаемся в сейлбот&lt;/h2&gt;
  &lt;figure id=&quot;pSXb&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/58/50/5850cd15-0b99-4893-a5e1-60c03ab0a426.png&quot; width=&quot;1579&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;MQAm&quot;&gt;В созданном втором блоке настраиваем  POST-json запрос в гугл таблицы где будут храниться данные промокодов  &lt;/p&gt;
  &lt;p id=&quot;vv4x&quot;&gt;&lt;strong&gt;URL запроса:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;fofU&quot;&gt;&lt;a href=&quot;https://store.salebot.pro/function/gsheets&quot; target=&quot;_blank&quot;&gt;https://store.salebot.pro/function/gsheets&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;AbvJ&quot;&gt;JSON параметры:&lt;/p&gt;
  &lt;p id=&quot;NM8Z&quot;&gt;{&amp;quot;id&amp;quot;: &amp;quot;&lt;strong&gt;id_гугл_таблиц&lt;/strong&gt;&amp;quot;, &amp;quot;mapping&amp;quot;:{&amp;quot;a&amp;quot;:&amp;quot;#{Промокод}&amp;quot;, &amp;quot;b&amp;quot;:&amp;quot;Не активирован&amp;quot;, &amp;quot;d&amp;quot;:&amp;quot;#{current_date + 30}&amp;quot;, &amp;quot;c&amp;quot;:&amp;quot;5&amp;quot;}}&lt;/p&gt;
  &lt;p id=&quot;NOTm&quot;&gt;Здесь мы сохраняем данные выданного купона&lt;/p&gt;
  &lt;p id=&quot;vD02&quot;&gt;и в гугл таблицах данные будут отображаться примерно так&lt;/p&gt;
  &lt;p id=&quot;uQB3&quot;&gt; &lt;/p&gt;
  &lt;figure id=&quot;Rz88&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/25/4f/254f404e-d5b2-4016-8f44-89bb379c9e14.png&quot; width=&quot;573&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DemQ&quot;&gt;И дальше вспоминаем нашу ссылку, которую достали из сервиса niftyimages&lt;/p&gt;
  &lt;p id=&quot;eINB&quot;&gt;и эту ссылку ставим в том же блоке во вложении &lt;/p&gt;
  &lt;figure id=&quot;1noy&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/57/78/577896b4-c829-423b-99f2-cf48cf3b040b.png&quot; width=&quot;567.5&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;9pAT&quot;&gt;НО, не забываем в ссылку ставить свои переменные&lt;/p&gt;
  &lt;p id=&quot;xIQQ&quot;&gt;&lt;strong&gt;Пример: &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;SF2y&quot;&gt;https://img1.niftyimages.com/cudh/1n7r/8w8i?name=&lt;em&gt;&lt;u&gt;#{имя}&lt;/u&gt;&lt;/em&gt;&amp;amp;profile=&lt;em&gt;&lt;u&gt;#{qr_image_url}&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;07Cv&quot;&gt;обязательно должна быть в ссылке переменная для qr-кода &lt;/p&gt;
  &lt;p id=&quot;3Sox&quot;&gt;profile=&lt;em&gt;#{qr_image_url} (как в ссылке примера)&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;Mkgr&quot;&gt;и сохраняем блок :D&lt;/p&gt;
  &lt;p id=&quot;WdhZ&quot;&gt;Проверяем то что настроили&lt;/p&gt;
  &lt;figure id=&quot;j6Da&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/55/7d/557daa4d-7980-4a49-b8b5-d46623fc6b7a.png&quot; width=&quot;674&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;QJLO&quot;&gt;Все работает! Если что-то не работает, одна из причин возможно, что подписка премиум закончилась&lt;/p&gt;
  &lt;p id=&quot;9679&quot;&gt;Купон теперь мы умеем выдавать, остается теперь научиться читать купон&lt;/p&gt;
  &lt;h2 id=&quot;LKEY&quot;&gt;&lt;/h2&gt;
  &lt;h2 id=&quot;AKio&quot;&gt;Настраиваем чтение купона&lt;/h2&gt;
  &lt;figure id=&quot;kWau&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/61/8a/618a4c54-9ebd-49f6-a0e5-f7154f56caf8.png&quot; width=&quot;1231&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;JRAb&quot;&gt;Примерно так будет выглядеть структура в сейлботе&lt;/p&gt;
  &lt;p id=&quot;DvkR&quot;&gt;Дополнительно можно почитать тут - Распознавания штрихкода на фотографии - &lt;a href=&quot;https://docs.salebot.pro/osobye-vozmozhnosti/funkciya-dlya-raspoznavaniya-shtrikhkoda-na-fotografii&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/osobye-vozmozhnosti/funkciya-dlya-raspoznavaniya-shtrikhkoda-na-fotografii&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;W11F&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;KEG7&quot;&gt;Для начала, просим пользователя скинуть фотку промокода &lt;/p&gt;
  &lt;figure id=&quot;6Q4T&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6b/33/6b3399d8-2cdb-464b-95f2-ef0ba7eb12de.png&quot; width=&quot;1610&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;3pT7&quot;&gt;Настройки в стрелки пустые&lt;/p&gt;
  &lt;figure id=&quot;BW7x&quot; class=&quot;m_retina&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c1/6d/c16d64cf-b330-479a-acd2-fd9ef32d6924.png&quot; width=&quot;960&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;eXsW&quot;&gt;дальше в следующем блоке будут такие настройки&lt;/p&gt;
  &lt;figure id=&quot;3MYs&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/70/cb/70cb9a3d-b2b9-49f3-8237-2f45bd2955f5.png&quot; width=&quot;1450&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;KxiU&quot;&gt;&lt;strong&gt;Тип зароса - &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;APbY&quot;&gt;POST-json&lt;/p&gt;
  &lt;p id=&quot;i4Fp&quot;&gt;&lt;strong&gt;URL запроса&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Ao5K&quot;&gt;&lt;a href=&quot;https://store.salebot.pro/function/cv2barcode&quot; target=&quot;_blank&quot;&gt;https://store.salebot.pro/function/cv2barcode&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;bqzz&quot;&gt;&lt;strong&gt;JSON параметры&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;VRjS&quot;&gt;{&amp;quot;photo&amp;quot;:&amp;quot;#{attachments}&amp;quot;,&amp;quot;api_key&amp;quot;:&amp;quot;&lt;strong&gt;апи_ключ_проекта_сейлбот&lt;/strong&gt;&amp;quot;}&lt;/p&gt;
  &lt;p id=&quot;K6fA&quot;&gt;&lt;strong&gt;Сохраняемые значения&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;MScY&quot;&gt;barcode -&amp;gt; barcode;&lt;br /&gt;status -&amp;gt; status&lt;/p&gt;
  &lt;p id=&quot;18bW&quot;&gt;в этом блоке, бот будет считывать qr-код с картинки&lt;/p&gt;
  &lt;p id=&quot;Itk1&quot;&gt;и если есть qr-код то status будет 1 (если статус будет 0, то это означает, что человек скинул какую-то левую картинку, а не нужную нам с qr-кодом)&lt;/p&gt;
  &lt;p id=&quot;kSLF&quot;&gt;и данные с qr-кода сохранятся в переменную barcode&lt;/p&gt;
  &lt;p id=&quot;K8al&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Byqw&quot;&gt;Дальше создаем блок и в настройках стрелки ставить 0 или -1 секунд задержку&lt;/p&gt;
  &lt;figure id=&quot;dynn&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/cc/46/cc465cc9-e011-44af-b8c2-fa8081aa5c73.png&quot; width=&quot;729&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;rHyF&quot;&gt;Теперь насчет настроек во втором блоке &lt;/p&gt;
  &lt;figure id=&quot;4sgh&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4b/a9/4ba9fafe-4adf-4404-9407-bae48762e744.png&quot; width=&quot;1621&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;lwZo&quot;&gt;&lt;strong&gt;Тип запроса &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;r0LY&quot;&gt;POST-json&lt;/p&gt;
  &lt;p id=&quot;smFH&quot;&gt;&lt;strong&gt;URL запроса&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;iHxJ&quot;&gt;&lt;a href=&quot;https://store.salebot.pro/function/findcell&quot; target=&quot;_blank&quot;&gt;https://store.salebot.pro/function/findcell&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;dgdD&quot;&gt;&lt;strong&gt;Сохраняемые значения:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;uGUs&quot;&gt;data -&amp;gt; Ответ; &lt;br /&gt;data|0 -&amp;gt; Ячейка1; &lt;br /&gt;data|1 -&amp;gt; Ячейка2; &lt;br /&gt;data|2 -&amp;gt; Ячейка3;&lt;br /&gt;data|3 -&amp;gt; Ячейка4;&lt;br /&gt;cell_number|row -&amp;gt; Строка; &lt;br /&gt;cell_number|col -&amp;gt; Столбец;&lt;br /&gt;status -&amp;gt; status&lt;/p&gt;
  &lt;p id=&quot;Hwyg&quot;&gt;JSON параметры&lt;/p&gt;
  &lt;p id=&quot;fS4O&quot;&gt;{&amp;quot;id&amp;quot;: &amp;quot;&lt;strong&gt;id_гугл_таблиц&lt;/strong&gt;&amp;quot;, &amp;quot;find&amp;quot;: &amp;quot;&lt;strong&gt;#{barcode}&lt;/strong&gt;&amp;quot;, &amp;quot;col&amp;quot;: 1, &amp;quot;return&amp;quot;: 0}&lt;/p&gt;
  &lt;p id=&quot;Os2M&quot;&gt;в этом блоке идет поиск самого промокода в гугл таблице и если есть, то выводятся все данные, связанные с этим промокодом&lt;/p&gt;
  &lt;p id=&quot;8IWD&quot;&gt;А если нет такого промокода, то status будет 0 и с помощью этого можно проверять скинули нам фигну или реальный промокод&lt;/p&gt;
  &lt;figure id=&quot;XRrf&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/30/fc/30fc8610-b9af-47ab-81d1-ffae1532e167.png&quot; width=&quot;1052&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Wt7U&quot;&gt;Вот тут эта проверка и осуществляется, если промокод существует, то проверки идут дальше, а если не существует, то сразу пользователю говорим, что такой код не рабочий&lt;/p&gt;
  &lt;figure id=&quot;yeVZ&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6a/c2/6ac2692d-e538-4c59-b133-c2436100e692.png&quot; width=&quot;1490&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Z4Rm&quot;&gt;Вот настройка в этой стрелке, когда status будет равен 0&lt;/p&gt;
  &lt;p id=&quot;m5mZ&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;Irjq&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9b/4e/9b4ee75d-e674-4bfa-ab77-f0a7b27eeba9.png&quot; width=&quot;1604&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HEar&quot;&gt;Настройки в стрелке когда status равен 1&lt;/p&gt;
  &lt;p id=&quot;WR7e&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;kuHJ&quot;&gt;Дальше идет проверка, активирован или не активирован промокод&lt;/p&gt;
  &lt;figure id=&quot;pbMT&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/eb/1c/eb1c7619-0b83-4952-85e1-e0d06158ba29.png&quot; width=&quot;1630&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;OHic&quot;&gt;Ставим тут обычный пустой блок&lt;/p&gt;
  &lt;p id=&quot;3ZwQ&quot;&gt;и разветвление&lt;/p&gt;
  &lt;p id=&quot;Z2y2&quot;&gt;Рассмотрим случай если промокод уже был активирован&lt;/p&gt;
  &lt;figure id=&quot;6AA9&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1f/5b/1f5b82c7-ce09-481d-b0e9-ca2360a07d82.png&quot; width=&quot;1614&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;8iP1&quot;&gt;Ставим такие настройки в стрелке и отправляем в блок, где говорим пользователю, что промокод уже активирован&lt;/p&gt;
  &lt;p id=&quot;lCPk&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;ZACb&quot;&gt;А теперь рассмотрим случай, когда промокод еще не был активирован&lt;/p&gt;
  &lt;figure id=&quot;uqTA&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a2/ca/a2caae81-a628-4327-9bc0-60a91d2c8d11.png&quot; width=&quot;1616&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;cIKF&quot;&gt;Настройки стрелки выглядят вот так&lt;/p&gt;
  &lt;p id=&quot;QjfK&quot;&gt;и отправляем в блок, чтобы проверить, не истёк ли срок годности промокода&lt;/p&gt;
  &lt;figure id=&quot;I2IP&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4f/75/4f754fda-cb55-4ef7-8098-afa8cb976ed5.png&quot; width=&quot;1619&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;K53o&quot;&gt;И в блоке находится такой код&lt;/p&gt;
  &lt;p id=&quot;HvMX&quot;&gt;interval = if(&amp;quot;#{current_date}&amp;quot; &amp;lt;= &amp;quot;#{Ячейка4}&amp;quot;, &amp;quot;True&amp;quot;, &amp;quot;False&amp;quot;)&lt;/p&gt;
  &lt;p id=&quot;KdBZ&quot;&gt;Тут мы проверяем с помощью if &lt;/p&gt;
  &lt;p id=&quot;6W8g&quot;&gt;меньше или равно заданной дате купона&lt;/p&gt;
  &lt;p id=&quot;JFcA&quot;&gt;если наша дата меньше чем дата купона, то это означает, что купон еще рабочий и можно активировать&lt;/p&gt;
  &lt;p id=&quot;Vzk9&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;8XSP&quot;&gt;Если срок годности истек. То есть текущая дата будет больше указанной даты для промокода, то в interval сохраняется значение &amp;quot;False&amp;quot; &lt;/p&gt;
  &lt;figure id=&quot;WW40&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4a/48/4a489488-18a2-4fb9-9795-5674c563fd8d.png&quot; width=&quot;1623&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Lwxx&quot;&gt;И тут как раз идет проверка, что сохранилось в переменную interval&lt;/p&gt;
  &lt;figure id=&quot;NEHA&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a7/04/a7045d46-6593-41d7-83d8-3c859262d904.png&quot; width=&quot;1624&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;yCw6&quot;&gt;&amp;quot;#{interval}&amp;quot; != &amp;quot;True&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;i5nP&quot;&gt;Если срок годности истек, то у interval будет значение &amp;quot;False&amp;quot; и соответственно &amp;quot;False&amp;quot; не равен &amp;quot;True&amp;quot; и эта стрелка успешно активируется&lt;/p&gt;
  &lt;p id=&quot;F0bA&quot;&gt;и пользователю выводится, что срок годности истек&lt;/p&gt;
  &lt;figure id=&quot;4cMq&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b7/95/b7955e4d-e795-4e16-9e0f-b8bbc70358f7.png&quot; width=&quot;1613&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;RhfX&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;72du&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;BjBO&quot;&gt;А когда купон еще действителен и можно активировать, то активируется стрелка &amp;quot;#{interval}&amp;quot; == &amp;quot;True&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;COPc&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/66/b8/66b8033a-99e2-49a4-8b5b-d9a993e3388d.png&quot; width=&quot;1611&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;s92U&quot;&gt;и в блоке находятся такие настройки&lt;/p&gt;
  &lt;figure id=&quot;i0NN&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f7/2b/f72be51e-fc0d-4bdf-bda2-fa9dd9c3a400.png&quot; width=&quot;1625&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;jDFQ&quot;&gt;&lt;strong&gt;Пишем пользователю такое сообщение:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;KotU&quot;&gt;Код активирован!&lt;br /&gt;Ваша скидка - #{sale}% на весь заказ ✅&lt;/p&gt;
  &lt;p id=&quot;Z5zh&quot;&gt;&lt;strong&gt;Тип запроса-&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ISUB&quot;&gt;POST-json&lt;/p&gt;
  &lt;p id=&quot;rURo&quot;&gt;&lt;strong&gt;URL запроса&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;m2qu&quot;&gt;&lt;a href=&quot;https://store.salebot.pro/function/gsheets&quot; target=&quot;_blank&quot;&gt;https://store.salebot.pro/function/gsheets&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;NBtv&quot;&gt;JSON параметры&lt;/p&gt;
  &lt;p id=&quot;gL1X&quot;&gt;{&amp;quot;id&amp;quot;: &amp;quot;&lt;strong&gt;id_гугл_таблиц&lt;/strong&gt;&amp;quot;, &amp;quot;write&amp;quot;:{&amp;quot;b#{Строка}&amp;quot;:&amp;quot;Активирован&amp;quot;}}&lt;/p&gt;
  &lt;p id=&quot;9JrG&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;hxW4&quot;&gt;и в калькуляторе сохраняем скидку&lt;/p&gt;
  &lt;p id=&quot;zwQb&quot;&gt;sale = #{Ячейка3}&lt;/p&gt;
  &lt;p id=&quot;hK6J&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;I478&quot;&gt;с помощью такого запроса, в гугл таблице статус купона поменяется на &amp;quot;Активирован&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;P2mm&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/08/99/089955fe-b471-41ab-845f-1ef2b543a87e.png&quot; width=&quot;526&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;SxuI&quot;&gt;Поздравляю! Вы успешно все настроили &lt;/p&gt;
  &lt;p id=&quot;lTLy&quot;&gt;Жду в своем телеграм канале, там много подобной полезной инфы &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>asxabal:per</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/per?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Переменные в salebot</title><published>2022-12-15T08:14:27.808Z</published><updated>2024-02-14T10:20:21.740Z</updated><category term="salebot" label="salebot"></category><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/65/6f/656f64c6-76a3-4e70-bbcf-f2c716fa5883.png&quot;&gt;Сегодня базово поговорим про переменные и как с ними работать</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WMw1&quot;&gt;Промокод на 10 бесплатных дней в проекте salebot: &lt;code&gt;asxaba1&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;UL9r&quot;&gt;&lt;strong&gt;Мой чат-бот вакансий - &lt;a href=&quot;https://t.me/infobizaa_bot&quot; target=&quot;_blank&quot;&gt;https://t.me/infobizaa_bot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sutC&quot;&gt;Сегодня базово поговорим про переменные и как с ними работать &lt;/p&gt;
  &lt;p id=&quot;S6de&quot;&gt;Чтобы было легче понимать значение слово &amp;quot;переменная&amp;quot;, можно представить коробку в которую кладут что-то, не важно что именно, важно что-то туда да положили и получается в коробке находиться какая-то вещь и можно с ней работать&lt;/p&gt;
  &lt;p id=&quot;GN1Y&quot;&gt;Переложить в другую часть комнаты&lt;/p&gt;
  &lt;p id=&quot;7jbl&quot;&gt;Доложить еще что-то в эту коробку &lt;/p&gt;
  &lt;p id=&quot;cTF8&quot;&gt;Вытащить что-то из коробки&lt;/p&gt;
  &lt;p id=&quot;8szp&quot;&gt;Выкинуть коробку&lt;/p&gt;
  &lt;p id=&quot;J2JP&quot;&gt;и т.д.&lt;/p&gt;
  &lt;p id=&quot;NyK7&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;WHeg&quot;&gt;+- тоже самое можно сделать с переменной &lt;/p&gt;
  &lt;figure id=&quot;mgNW&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/65/6f/656f64c6-76a3-4e70-bbcf-f2c716fa5883.png&quot; width=&quot;528&quot; /&gt;
    &lt;figcaption&gt;фото 1&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;2hw8&quot;&gt;В данном случае коробкой выступает переменная &amp;quot;variable&amp;quot; и в эту коробку положили значение 1 &lt;/p&gt;
  &lt;p id=&quot;EDvY&quot;&gt;И теперь мы понимаем что &amp;#x27;variable&amp;#x27; то же самое что и 1&lt;/p&gt;
  &lt;p id=&quot;PJDS&quot;&gt;то есть между ними можно провести знак равенства  (variable == 1)&lt;/p&gt;
  &lt;p id=&quot;37tG&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;03J4&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d5/6e/d56ed31c-f075-41e7-b9cd-68da2a4b2177.png&quot; width=&quot;525&quot; /&gt;
    &lt;figcaption&gt;фото 2&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;UEDs&quot;&gt;Здесь мы складываем 1 + 1, но при помощи переменных&lt;/p&gt;
  &lt;p id=&quot;r60P&quot;&gt;и результат этого вычисление записываем в переменную &amp;quot;result&amp;quot; &lt;/p&gt;
  &lt;p id=&quot;sK0s&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;5d0M&quot;&gt;Как же показать результат вычисление пользователю? &lt;/p&gt;
  &lt;p id=&quot;nxDo&quot;&gt;для этого переменную нужно обернуть в такую конструкцию #{}&lt;/p&gt;
  &lt;figure id=&quot;bdXJ&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f0/fc/f0fc2f5a-dbc4-4d04-ab03-7a1a0b4b2fe5.png&quot; width=&quot;514&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;10gs&quot;&gt;Теперь выводим это значение и получаем такое сообщение&lt;/p&gt;
  &lt;figure id=&quot;IQhh&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c4/78/c478eb68-2cba-4efd-9473-a3a872c907bb.png&quot; width=&quot;637&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;q9nX&quot;&gt;И что из этого можно понять? Везде где нужно показать значение переменной, нужно использовать конструкцию #{ваша_переменная}&lt;/p&gt;
  &lt;p id=&quot;cHbx&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;XyaH&quot;&gt;Еще эти переменные можно сравнивать использую такие знаки &lt;/h2&gt;
  &lt;blockquote id=&quot;nWyZ&quot;&gt;&lt;strong&gt;Знак равенства &lt;/strong&gt;==&lt;/blockquote&gt;
  &lt;blockquote id=&quot;uvIU&quot;&gt;&lt;strong&gt;Знак неравенства&lt;/strong&gt; !=&lt;/blockquote&gt;
  &lt;blockquote id=&quot;B2A0&quot;&gt;&lt;strong&gt;Знак строго больше&lt;/strong&gt; &amp;gt;&lt;/blockquote&gt;
  &lt;blockquote id=&quot;Xe74&quot;&gt;&lt;strong&gt;Знак строго меньше&lt;/strong&gt; &amp;lt;&lt;/blockquote&gt;
  &lt;blockquote id=&quot;wvPI&quot;&gt;&lt;strong&gt;Знак больше или равно&lt;/strong&gt; &amp;gt;=&lt;/blockquote&gt;
  &lt;blockquote id=&quot;F6XV&quot;&gt;&lt;strong&gt;Знак меньше или равно&lt;/strong&gt; &amp;lt;=&lt;/blockquote&gt;
  &lt;p id=&quot;iHLp&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;cw72&quot;&gt;Как удалить переменную?&lt;/h2&gt;
  &lt;p id=&quot;kKBG&quot;&gt;Для этого нужно в поле калькулятора ввести одно из двух значений&lt;/p&gt;
  &lt;p id=&quot;81uS&quot;&gt;ваша_переменная = &lt;/p&gt;
  &lt;p id=&quot;jRWJ&quot;&gt;ваша_переменная = &amp;quot;&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;aFFe&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8d/8d/8d8dd827-031e-4798-a2c9-16ed5eaf20ce.png&quot; width=&quot;300&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;4VvJ&quot;&gt;Переменные можно использовать в стрелках &lt;/h2&gt;
  &lt;p id=&quot;dK8E&quot;&gt;Для этого нужно в поле стрелки &amp;quot;Переменная для сравнения&amp;quot; указать нужно выражение&lt;/p&gt;
  &lt;figure id=&quot;4IMx&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b2/55/b2557d55-80e7-4056-9429-ab24dc169d6e.png&quot; width=&quot;474&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6dXc&quot;&gt;В данном примере, человека пропустит если переменная &amp;quot;number&amp;quot; равна 1 &lt;/p&gt;
  &lt;p id=&quot;PSYW&quot;&gt;и это же выражение можно записать по-другому &lt;/p&gt;
  &lt;figure id=&quot;JtRd&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6f/63/6f63788a-c65c-4aba-8d8b-1ae27c8d5265.png&quot; width=&quot;518&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;PiHE&quot;&gt;В поле &amp;quot;Переменная для сравнения&amp;quot; указываем нужную переменную, а в условии ставим нужное значение&lt;/p&gt;
  &lt;p id=&quot;YSXa&quot;&gt;Также в сейлботе есть встроенные переменные и их можно изучить по ссылке &lt;a href=&quot;https://docs.salebot.pro/peremennye-1/peremennye#vstroennye-peremennye&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/peremennye-1/peremennye#vstroennye-peremennye&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;stFH&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;XU50&quot;&gt;Какие типы данных можно хранить в переменных?&lt;/h2&gt;
  &lt;ol id=&quot;XliN&quot;&gt;
    &lt;li id=&quot;4pRX&quot;&gt;Текст&lt;/li&gt;
    &lt;li id=&quot;L3uA&quot;&gt;Цифры (к примеру 1 или 1.2)&lt;/li&gt;
    &lt;li id=&quot;WuCk&quot;&gt;Массивы&lt;/li&gt;
    &lt;li id=&quot;WahN&quot;&gt;Словари&lt;/li&gt;
    &lt;li id=&quot;3Qfk&quot;&gt;True или False (булевы данные)&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;hQo0&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;xJ9T&quot;&gt;Более подробно про переменные можно почитать по ссылке &lt;a href=&quot;https://docs.salebot.pro/peremennye-1/peremennye#kak-rabotat-s-peremennymi&quot; target=&quot;_blank&quot;&gt;https://docs.salebot.pro/peremennye-1/peremennye#kak-rabotat-s-peremennymi&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;4AxF&quot;&gt;Благодарю за внимание &lt;/p&gt;
  &lt;p id=&quot;djPI&quot;&gt;Жду в своем телеграм канале &lt;a href=&quot;https://t.me/asxabal&quot; target=&quot;_blank&quot;&gt;https://t.me/asxabal&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>asxabal:re</id><link rel="alternate" type="text/html" href="https://teletype.in/@asxabal/re?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=asxabal"></link><title>Регулярные выражения в Salebot</title><published>2022-12-13T03:08:49.795Z</published><updated>2024-02-14T10:20:52.261Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/73/8b/738b2a3b-2afa-4006-94f8-00d6a0d7b504.png"></media:thumbnail><category term="salebot" label="salebot"></category><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/84/28/8428f1d4-a5b6-4333-b782-9247ad475eaa.png&quot;&gt;Часто нужно запрашивать у пользователей их почту, телефон, но бывают не очень хорошие люди, которые пытаются вместо телефона написать 'фывфывфыв' и также вместо почты.</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WMw1&quot;&gt;Промокод на 10 бесплатных дней в проекте salebot: &lt;code&gt;asxaba1&lt;/code&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;W1mC&quot;&gt;&lt;strong&gt;Мой чат-бот вакансий - &lt;a href=&quot;https://t.me/infobizaa_bot&quot; target=&quot;_blank&quot;&gt;https://t.me/infobizaa_bot&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jndd&quot;&gt;Часто нужно запрашивать у пользователей их почту, телефон, но бывают не очень хорошие люди, которые пытаются вместо телефона написать &amp;#x27;фывфывфыв&amp;#x27; и также вместо почты. &lt;/p&gt;
  &lt;p id=&quot;WpEg&quot;&gt;А как же тогда сделать так, чтобы бот понимал, что пользователь написал полную фигню, вместо своего номера телефона?&lt;/p&gt;
  &lt;p id=&quot;wr1C&quot;&gt;и вот тут нас спасают регулярные выражения&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(199, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h2 id=&quot;Kuc9&quot;&gt;Регулярные выражения — это условие, с помощью которого бот может проверять формат введенных данных (например, что человек ввел именно номер телефона, а не что-то иное)&lt;/h2&gt;
  &lt;/section&gt;
  &lt;p id=&quot;zafp&quot;&gt;Регулярное выражение, или коротко «регулярка», состоит из обычных символов и специальных командных последовательностей.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;UFRz&quot;&gt;&lt;strong&gt;Список полезных регулярных выражений&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(170, 33%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;ul id=&quot;tEkk&quot;&gt;
      &lt;li id=&quot;9kt0&quot;&gt;&lt;strong&gt;Ввод только цифр:&lt;/strong&gt; ^[1-9]+[0-9]*$&lt;/li&gt;
      &lt;li id=&quot;lh1n&quot;&gt;&lt;strong&gt;Номер кредитки:&lt;/strong&gt; [0-9]{13,16}&lt;/li&gt;
      &lt;li id=&quot;2kor&quot;&gt;&lt;strong&gt;ICQ:&lt;/strong&gt; ([1-9])+(?:-?\d){4,}&lt;/li&gt;
      &lt;li id=&quot;MfLg&quot;&gt;&lt;strong&gt;Номер телефона(Россия):&lt;/strong&gt; ^((\+7|7|8)+([0-9]){10})$&lt;/li&gt;
      &lt;li id=&quot;J8eN&quot;&gt;&lt;strong&gt;Номер телефона&lt;/strong&gt; ^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$&lt;/li&gt;
      &lt;li id=&quot;9bJj&quot;&gt;&lt;strong&gt;Фамилия+Имя или же ФИО полностью&lt;/strong&gt;&lt;/li&gt;
      &lt;li id=&quot;mYuq&quot;&gt;^[а-яА-ЯёЁa-zA-Z]+ [а-яА-ЯёЁa-zA-Z]+ ?[а-яА-ЯёЁa-zA-Z]+$&lt;/li&gt;
      &lt;li id=&quot;2A8V&quot;&gt;&lt;strong&gt;Набор из букв и цифр&lt;/strong&gt; (латиница): ^[a-zA-Z0-9]+$&lt;/li&gt;
      &lt;li id=&quot;BDY8&quot;&gt;&lt;strong&gt;Набор из букв и цифр&lt;/strong&gt; (латиница + кириллица): ^[а-яА-ЯёЁa-zA-Z0-9]+$&lt;/li&gt;
      &lt;li id=&quot;G9yl&quot;&gt;&lt;strong&gt;Домен&lt;/strong&gt; (например abcd.com): ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$&lt;/li&gt;
      &lt;li id=&quot;GhaU&quot;&gt;&lt;strong&gt;URL&lt;/strong&gt; (например abcd.com): (https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&amp;amp;]*&lt;/li&gt;
      &lt;li id=&quot;FA4t&quot;&gt;&lt;strong&gt;IPv4:&lt;/strong&gt; ((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)&lt;/li&gt;
      &lt;li id=&quot;5oYp&quot;&gt;&lt;strong&gt;IPv6:&lt;/strong&gt; ((^|:)([0-9a-fA-F]{0,4})){1,8}$&lt;/li&gt;
      &lt;li id=&quot;W51Q&quot;&gt;&lt;strong&gt;Имя пользователя&lt;/strong&gt; (с ограничением 2-20 символов, которыми могут быть буквы и цифры, первый символ обязательно буква): ^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$&lt;/li&gt;
      &lt;li id=&quot;Ybi5&quot;&gt;&lt;strong&gt;Пароль&lt;/strong&gt; (Строчные и прописные латинские буквы, цифры): ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$&lt;/li&gt;
      &lt;li id=&quot;sXY6&quot;&gt;&lt;strong&gt;Пароль&lt;/strong&gt; (Строчные и прописные латинские буквы, цифры, спецсимволы. Минимум 8 символов): (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$&lt;/li&gt;
      &lt;li id=&quot;psol&quot;&gt;&lt;strong&gt;Дата в формате YYYY-MM-DD:&lt;/strong&gt; [0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01]) &lt;strong&gt;UPD.&lt;/strong&gt; Более строгая проверка: (19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31)&lt;/li&gt;
      &lt;li id=&quot;SORr&quot;&gt;&lt;strong&gt;Дата в формате DD/MM/YYYY:&lt;/strong&gt; (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d&lt;/li&gt;
      &lt;li id=&quot;t5RY&quot;&gt;&lt;strong&gt;Дата в формате DD.MM.YYYY: &lt;/strong&gt;(0?[1-9]|[12][0-9]|3[01]).(0?[1-9]|1[012]).((19|20)\d\d)&lt;/li&gt;
      &lt;li id=&quot;0C3W&quot;&gt;&lt;strong&gt;Целые числа и числа с плавающей точкой&lt;/strong&gt; (разделитель точка): \-?\d+(\.\d{0,})?&lt;/li&gt;
      &lt;li id=&quot;q6uC&quot;&gt;&lt;strong&gt;UUID&lt;/strong&gt;: ^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$&lt;/li&gt;
      &lt;li id=&quot;e5L4&quot;&gt;&lt;strong&gt;Широта или долгота&lt;/strong&gt;: -?\d{1,3}\.\d+&lt;/li&gt;
      &lt;li id=&quot;mb58&quot;&gt;&lt;strong&gt;UPD. E-mail&lt;/strong&gt;: ^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$&lt;/li&gt;
      &lt;li id=&quot;xnDd&quot;&gt;&lt;strong&gt;UPD. URL&lt;/strong&gt; на латинице. Если нужно распознавать и кириллические домены, необходимо изменить все «a-z0-9» на «а-яёa-z0-9» и добавить в список доменных зон «рф»: ~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:ru|su|com|net|org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&amp;amp;?+=\~/-]*)?(?:#[^ &amp;#x27;\&amp;quot;&amp;amp;]*)?$~i&lt;/li&gt;
      &lt;li id=&quot;srx7&quot;&gt;&lt;strong&gt;UPD. Время в формате HH:MM:SS&lt;/strong&gt;: ^([0-1]\d|2[0-3])(:[0-5]\d){2}$&lt;/li&gt;
      &lt;li id=&quot;0IQx&quot;&gt;&lt;strong&gt;UPD. Mac-адрес&lt;/strong&gt;: ([0-9a-fA-F]{2}([:-]|$)){6}$|([0-9a-fA-F]{4}([.]|$)){3}&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;
  &lt;p id=&quot;4LWP&quot;&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(55,  86%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h2 id=&quot;0nsy&quot;&gt;Как использовать эти регулярные выражения?&lt;/h2&gt;
  &lt;/section&gt;
  &lt;p id=&quot;xsdk&quot;&gt;Все достаточно просто и сейчас подробно покажу &lt;/p&gt;
  &lt;figure id=&quot;1Cmj&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/84/28/8428f1d4-a5b6-4333-b782-9247ad475eaa.png&quot; width=&quot;1139&quot; /&gt;
    &lt;figcaption&gt;фото 1&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DdTK&quot;&gt;Как правило, стандартный запрос данных у пользователя выглядит примерно так и состоит из двух простых действий &lt;/p&gt;
  &lt;ol id=&quot;TPyy&quot;&gt;
    &lt;li id=&quot;9xv1&quot;&gt;Запрос данных у пользователя&lt;/li&gt;
    &lt;li id=&quot;gjeL&quot;&gt;Ввод этих данных пользователем&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;JyXb&quot;&gt;Но минус этого способа состоит в том, что человек может ввести что угодно и бот засчитает это за телефон :(&lt;/p&gt;
  &lt;figure id=&quot;FXkk&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/75/8c/758cdaad-bff0-41b3-8954-e2125f643aa3.png&quot; width=&quot;591&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6jak&quot;&gt;Чтобы исправить этот недостаток, нужно в условии стрелки указать нужную регулярку и в &amp;quot;Выбор соответствия&amp;quot; поставить &amp;quot;Регулярное выражение&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;ZWX0&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/52/26/52269437-58aa-4442-bf46-d3389aedb986.png&quot; width=&quot;1163&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;fNrj&quot;&gt;А потом нужно первый блок зациклить&lt;/p&gt;
  &lt;figure id=&quot;o6T7&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/aa/24/aa2406f4-e4fb-43b8-9a67-b674404e47ad.png&quot; width=&quot;1466&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Yi91&quot;&gt;И теперь тестируем &lt;/p&gt;
  &lt;figure id=&quot;EU70&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/77/7f/777f6cee-d830-4117-a842-4742e5c2ecf3.png&quot; width=&quot;678&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;dbc5&quot;&gt;Тут видим, что бот не пропустил до следующего блока и повторно запрашивает номер телефона&lt;/p&gt;
  &lt;figure id=&quot;UhWe&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6a/f1/6af1ada6-c0ff-4b51-8d37-1a6ff555fbda.png&quot; width=&quot;618&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kxEj&quot;&gt;И только после того как я ввел корректный номер телефона - пропустил ✅&lt;/p&gt;
  &lt;p id=&quot;15jc&quot;&gt;Поздравляю! Вы теперь знаете как пользоваться регулярными выражениями в salebot &lt;/p&gt;

</content></entry></feed>