Код из блоков

Код из блоков


❗️ Данный код может отличаться от варианта из видео. Возможны: исправления ошибок, упрощение кода и удаление лишних фрагментов

➖➖➖

1 БЛОК

URL-поле:
https://api.telegram.org/bot{{tokenTg}}/sendMessage?

parse_mode=HTML

&text=Главное меню

&chat_id={{telegram_id}}

&reply_markup=

{

 "inline_keyboard":[

  [

   {

    "text":"Каталог",

    "callback_data": "Каталог"

    }

  ]

 ]

}


JS код:

var mes_id = response.data.result.message_id

setContactVariable("ids", mes_id)

➖➖➖

2 БЛОК

URL-поле:

https://api.telegram.org/bot{{tokenTg}}/sendMessage?

&chat_id={{telegram_id}}

&parse_mode=HTML

&text=Выбери сверху интересующий тебя товар

&reply_markup=

{

 "inline_keyboard":[

  [

   {

    "text":"{{$назад}}",

    "callback_data": "←"

    },

   {

    "text":"{{$навигация}}",

    "callback_data": "нет"

    },

   {

    "text":"{{$вперёд}}",

    "callback_data": "→"

    }

  ],

  [

   {

    "text":"Главное меню",

    "callback_data": "Главное меню"

    }

  ]

 ]

}


JS код:

var mes_id = response.data.result.message_id

var ids = getContactVariable("ids")

setContactVariable("ids", ids+","+mes_id)

➖➖➖

3 БЛОК

URL-поле:

https://api.telegram.org/bot{{tokenTg}}/deleteMessages?


Body-JSON:

{

 "message_ids": [ {{$ids}} ],

 "chat_id":"{{telegram_id}}"

}


JS код:

deleteContactVariable("ids")


/* Число записей для вывода за один раз.

Можно подставить: 1,2,5,10 */

var записей = 10;


var переход = getContactVariable("переход")

if (переход == "Главное меню") {

 goToBlock(13343522) //В главное меню

 disableContinue()

} else if (переход == "Назад") {

 //Сразу в следующий блок

} else if (переход != "←"

    && переход != "→"

    && переход != "Каталог") {

 //Подробная карточка товара

 var подробно =

 getContactVariable("подробно "+переход)

  

 if (подробно && подробно != "{{null}}") {

  setContactVariable("подробно", подробно)

 } else {

  setContactVariable("подробно", "Ошибка. Выбран несуществующий товар")

 };

 disableContinue()

 //В подробную карточку или ошибку

 goToBlock(8006068)//

} else {

 var страница_блока = +getContactVariable("страница блока")

 var страниц = +getContactVariable("страниц")

 var старт = +getContactVariable("старт")

 var строк = +getContactVariable("строк")

 var страница_запроса = +getContactVariable("страница запроса")

 if (getContactVariable("переход")=="Каталог") {

  setContactVariable("старт", 0)

  setContactVariable("страница блока", 1)

  setContactVariable("страница запроса", 1)

  setContactVariable("строк", записей)

  

 } else if (getContactVariable("переход")=="→"){

  if (страница_блока < страниц) {

   setContactVariable("страница блока", страница_блока+1)

   if (старт == 50-строк) {

    setContactVariable("старт", 0)

    setContactVariable("страница запроса", страница_запроса+1)  

   } else {

    setContactVariable("старт", старт+строк)

   };

  } else {

   setContactVariable("старт", 0)

   setContactVariable("страница запроса", 1)

   setContactVariable("страница блока", 1)

   setContactVariable("строк", записей)

  };

 } else if (getContactVariable("переход")=="←"){

  if (страница_блока > 1) {

   setContactVariable("страница блока", страница_блока-1)

   if (старт == 0) {

    setContactVariable("старт", 50-строк)

    setContactVariable("страница запроса", страница_запроса-1)  

   } else {

    setContactVariable("старт", старт-строк)

   };

  } else {

   setContactVariable("переход", "с конца")

   setContactVariable("старт", 0-строк)

   setContactVariable("страница блока", страниц)

   var предел = getContactVariable("предел")

   setContactVariable("страница запроса", предел)  

  };  

 };

};

➖➖➖

4 БЛОК

URL-поле:

https://app.leadteh.ru/api/v1/getListItems

?api_token={{Ключ}}

&schema_id=64830a07d47354366c3ec422

&page={{$страница запроса}}


Заголовки:

X-Requested-With = XMLHttpRequest


JS код:

for (var i = 1; i <= 10; i++) {

 setContactVariable("подробно "+i, "{{null}}")

};


//получение номера последней страницы списка

var last_page = response.data.meta.last_page;

setContactVariable("предел", last_page);


/*определение начального номера записи 

для следующих записей в сообщениях*/

var start = +getContactVariable("старт");


/*получение кол-ва записей из списка 

с учетом фильтра*/

var total = response.data.meta.total;


//расчёт числа страниц для списка в блоке

var str = +getContactVariable("строк");

var pages = Math.ceil(total/str);

setContactVariable("страниц", pages);


var obj = response.data

/*записываем значение полей из записей списка

в переменные для вывода пользователю*/


function read() { 

 var nazvanie = obj.data[i-1+start].nazvanie 

 var cena = obj.data[i-1+start].cena;  

 var kol = obj.data[i-1+start].kolicestvo;

 var ves = obj.data[i-1+start].ves;

 var opisanie = obj.data[i-1+start].opisanie;


 var inf = "<b>Товар:</b> "+nazvanie+

      "\n"+ 

      "<b>Цена:</b> "+cena+" ₽"+

      "\n"+

      "<b>Количество:</b> "+kol+" шт.";

 inf = inf.split("\n").join("\\n");

 inf = inf.split("\"").join("\\\"");

 setContactVariable("кратко "+i, inf);


 var inf2 = "<b>Товар:</b> "+nazvanie+

       "\n"+ 

       "<b>Цена:</b> "+cena+" ₽"+

       "\n"+

       "<b>Количество:</b> "+kol+" шт."+

       "\n"+

       "<b>Вес:</b> "+ves+" г"+

       "\n"+

       "<b>Описание:</b> "+opisanie

 inf2 = inf2.split("\n").join("\\n");

 inf2 = inf2.split("\"").join("\\\"");

 setContactVariable("подробно "+i, inf2);

 

};


var select = getContactVariable("переход")

if (select != "с конца") { 

 var r = 0;

 for (i = 1; i <= str; i++) { 

  if (obj.data[i-1+start]) {   

   read();

   r = r + 1;

  }; 

 };

} else {

 var count = obj.data.length;

 var n = 0;

 for (a = 1; a <= count; a+=str) {  

  start = start + str;  

  setContactVariable("старт", start);  

  var r = 0; 

  for (i = 1; i <= str; i++) {   

   if (obj.data[i-1+n]) {

    read()   

    r = r + 1;

   };

  };  

  n = n + str; 

 };

};

setContactVariable("записей", r);

setContactVariable("номер записи", 1);

setContactVariable("выбор", 1);

var inf = getContactVariable("кратко 1")

var inf2 = getContactVariable("подробно 1")

setContactVariable("кратко", inf);

setContactVariable("подробно", inf2);


if (total > str) {

 setContactVariable("вперёд", "→");

 setContactVariable("назад", "←");

 n1 = getContactVariable("страница блока");

 n2 = getContactVariable("страниц");

 setContactVariable("навигация", n1+"/"+n2);

} else {

 setContactVariable("вперёд", "{{null}}");

 setContactVariable("назад", "{{null}}");

 setContactVariable("навигация", "{{null}}");

};

➖➖➖

5 БЛОК

URL-поле:

https://api.telegram.org/bot{{tokenTg}}/sendMessage?


Body-JSON:

{

 "chat_id":"{{telegram_id}}",

 "parse_mode":"HTML",

 "text":"{{$кратко}}",

 "reply_markup":

 {

  "inline_keyboard":[

   [

    {

     "text":"Подробнее",

     "callback_data": "{{$выбор}}"

     }

   ]

  ]

 }

}


JS код:

var mes_id = response.data.result.message_id

var ids = getContactVariable("ids")

if (!ids) {

 setContactVariable("ids", mes_id)

} else {

 setContactVariable("ids", ids+","+mes_id)

};


var r = +getContactVariable("записей");

var n = +getContactVariable("номер записи");

n = n + 1;

setContactVariable("номер записи", n);


var inf = getContactVariable("кратко "+n);

setContactVariable("кратко", inf);


setContactVariable("выбор", n);


if (n <= r) {

 /*Повторный переход в этот блок

 для вывода следующей записи */

 goToBlock(7912416); 

} else {

 // переход в блок с пагинацией

 goToBlock(7913293);

};

➖➖➖

6 БЛОК

URL-поле:

https://api.telegram.org/bot{{tokenTg}}/sendMessage?


Body-JSON:

{

 "text": "{{$подробно}}",

 "chat_id": "{{telegram_id}}",

 "parse_mode": "HTML",

 "reply_markup":

 {

  "inline_keyboard":[

   [

    {

     "text":"Назад",

     "callback_data": "Назад"

    },

    {

     "text":"Главное меню",

     "callback_data": "Главное меню"

     }

   ]

  ]

 }

}


JS Код:

var mes_id = response.data.result.message_id

setContactVariable("mes_id", mes_id)

setContactVariable("ids", mes_id)

Report Page