Код из блоков
❗️ Данный код может отличаться от варианта из видео. Возможны: исправления ошибок, упрощение кода и удаление лишних фрагментов
➖➖➖
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)