Фокусы чат-БОТов 🙌
263 subscribers
30 photos
25 videos
99 links
Чат-боты Leadteh.
Как сделать. Сложные моменты. Подсказки. Секреты.
Download Telegram
Forwarded from Лайфхаки LEADTEX (Владимир Митряев)
Шпаргалка по числовым функциям и свойствам
Number.MAX_VALUE; // 1.7976931348623157e+308
Number.MIN_VALUE; // 5e-324
Number.NaN; // NaN
Number.NEGATIVE_INFINITY; // -Infinity
Number.POSITIVE_INFINITY; // Infinity
isFinite(1/0); // false
isNaN("25"); // false
parseFloat("1.23"); // 1.23
parseInt("12.3"); // 12
(1.5).toExponential(3); // 1.500e+00
(12345.6789).toFixed(1); // 12345.7
(123456.789).toLocaleString(); // 123,456.789
(123456.789).toPrecision(2); // 1.2e+05
(255).toString(16); // "ff"
Перевод значений даты и времени в #Юникс формат - количество секунд с 1 января 1970 00:00:00 (GMT) до текущего времени.
#дата #время #секунды

{{ date("U", "15.11.2023") }}
{{ date("U", "15.11.2023 21:21:00") }}
{{ date("U", $переменная) }}, где значение $переменная - ДатаВремя
Вычислить разницу между датами (моментами времени) и настроить таймер на количество минут между этим двумя моментами времени

1. Перевести дату/время в Юникс формат (количество секунд с 1 января 1970 г. по гринвичу),
2. Вычесть одну юникс-дату из другой,
3. Перевести секунды в минуты и округлить до целых минут,
4. Подставить количество минут в таймер.

#юникс #таймер #дата #время

https://youtu.be/KH0wsyZ72tw?si=_iep7LzKCL6q6eXW&t=550
1
Forwarded from Лайфхаки LEADTEX (Владимир Митряев)
Шпаргалка по значениям Boolean

Boolean(false); // false
Boolean(undefined); // false
Boolean(null); // false
Boolean(''); // false
Boolean(NaN); // false
Boolean(0); // false
Boolean(-0); // false

Boolean(true); // true
Boolean('hi'); // true
Boolean(1); // true
Boolean([]); // true
Boolean([0]); // true
Boolean([1]); // true
Boolean({}); // true
Boolean({ a: 1 }); // true
Media is too big
VIEW IN TELEGRAM
Отправка уведомлений и начало диалога с разными пользователями из списка.
Использование функции получение контакта из предыдущего блока при работе с блоками: «Отправить сообщение» и «Уведомление для контакта»
#️⃣ Назначить #тэг текущему контакту, если у другого конкретного контакта есть определенный тэг.

Задача:
1️⃣ Проверить у другого конкретного контакта наличие тэга "агент". Внутренний ID контакта сохранен в переменной {{$referer_id}}.
2️⃣ Если тэг есть, назначить текущему контакту тэг "разрешен".
3️⃣ Если тэг отсутствует, удалить у текущего тэг "разрешен".

Используем метод #API #Leadteh #getContactTags и #JavaScript.

Код Javascript:

var res = response.data.data.indexOf("агент");
if(res >= 0){
setContactTag("разрешен");
}else{
deleteContactTag("разрешен");
}
👍21🔥1
Проверка заполнено ли в профиле Телеграм контакта поле @username (Имя пользователя).

Иногда нужно вывести в сообщении #username контакта. Если он заполнен в профиле Телеграм, то будет выглядеть примерно так: "Иван Иванов (@IvanIvanov)". Если не заполнен, то: "Иван Иванов ()". В этом случае лучше бы вывести фразу, например: ""Иван Иванов (телеграм-имя не указано)".

#Проверка константы по условию: "{{ username }} = {{ null }} ?" не срабатывает как надо.

Решение: предварительно сохранить константу в локальную переменную, а затем сделать проверку.
👍2🔥2🤝1
↩️ В продолжение предыдущего поста: https://t.me/bottricks/161

Константин @TheSimplify_Bot предложил другой вариант решения этой задачи всего одним блоком "Интерпретатор JavaScript".

if (typeof username !== 'undefined' && username) { 
setContactVariable("UserName", username);
} else {
setContactVariable("UserName", "телеграм-имя не указано");
}


#javascript #username
👍2🔥2
Актуализация username контакта, если он поменял его после подключения к боту.

Проблема в том, что после смены/добавления пользователем telegram своего username в профиле, не происходит автоматического обновления username в константе бота. По словам Владимира (автора ролика 👇), обновление произойдет, но не сразу.

Решение: получить актуальный username методом telegram API в локальную переменную. ⬇️⬇️

#username #константа #API
This media is not supported in your browser
VIEW IN TELEGRAM
👤 Определение актуального username пользователя без перезапуска бота
Вывести записи из внутреннего Списка Leadteh в виде кнопок и листание страниц.

https://youtu.be/NJLmlOsj9BE

Идею этого способа я подсмотрел у Владимира (@VladimirOdi ) : https://t.me/PR0_ChatBots/39 . Переделал под свою задачу. Добавил переход в начало/конец списка кнопками, изменение количества записей на странице через меню.

#списки #листание #кнопки
—————————-
JavaScript-код из блока HTTP-запрос:

//получение номера последней страницы списка
var last_page = response.data.meta.last_page;
setContactVariable("Предел", last_page);

/*определение начального номера записи
для следующих кнопок*/
var start = +getContactVariable("Старт");

/*получение кол-ва записей из списка
с учетом фильтра*/
var total = response.data.meta.total;
setContactVariable("total_records", total);

//получение кол-ва страниц для блока
var str = getContactVariable("lines_per_page");
var pages = Math.ceil(total/str);
setContactVariable("Страниц", pages);

//удаление прошлых значений кнопок
for (d = 1; d <= str; d++) {
setContactVariable("Кнопка "+d,
"{{null}}");
};

/*записываем значение полей из записей списка
в переменные для кнопок*/
for (i = 1; i <= str; i++) {
if (response.data.data[i-1+start]) {
var date = response.data.data[i-1+start].date;
var time = response.data.data[i-1+start].time;
var name = response.data.data[i-1+start].name;
var button_title = date+" - "+time;
setContactVariable("Кнопка "+i, button_title);
};
};
/*Значения кнопок листания страниц списка*/
var prev = "{{null}}";
var next = "{{null}}";
var page_in_total = "{{null}}";
var first = "{{null}}";
var last = "{{null}}";
var block_page = getContactVariable("Страница блока");
if (block_page > 1) {prev = "←"; first = "⇤";}
if (block_page < pages) {next = "→"; last = "⇥";}
if (pages > 1) page_in_total = block_page+"/"+pages;
setContactVariable("prev", prev);
setContactVariable("next", next);
setContactVariable("page_in_total", page_in_total);
setContactVariable("first", first);
setContactVariable("last", last);
🔥9👍1
Возможности форматирования кода в сообщении телеграм.

Чтобы отформатировать сообщение в Telegram, которое пишешь в самом мессенджере в строке ввода, можно использовать управляющие символы:

жирный : две звездочки * в начале и в конце фразы.

курсив : два символа "земля" _ (подчеркивание) до и после фразы.

код : фраза для копирования одним кликом - кавычка ` (где буква ё) до и после фразы.

Любой код: 3 кавычки \` (где ё) + код + 3 кавычки \` (где ё)
любой код


HTML - код: 3 кавычки \` + слово "html" + код + 3 кавычки \`
<div><h1>HTML - код</h1></div>


То же самое с кодом : javascript, c++, php и т.д.

#оформление #сообщение #формат
🔥3👍1