Фокусы чат-БОТов 🙌
263 subscribers
30 photos
25 videos
99 links
Чат-боты Leadteh.
Как сделать. Сложные моменты. Подсказки. Секреты.
Download Telegram
JavaScript. Математические функции.
#javascript #математическая #функция
Forwarded from Лайфхаки LEADTEX (Владимир Митряев)
Шпаргалка по Math функциям и свойствам
Math.E // 2.718281828459045
Math.LN10 // 2.302585092994046
Math.LN2 // 0.6931471805599453
Math.LOG10E // 0.4342944819032518
Math.LOG2E // 1.4426950408889634
Math.PI // 3.141592653589793
Math.SQRT1_2 // 0.7071067811865476
Math.SQRT2 // 1.4142135623730951
Math.abs(-1.5) // 1.5
Math.acos(1) // 0
Math.asin(1) // 1.5707963267948966
Math.atan(1) // 0.7853981633974483
Math.atan2(5,5) // 0.7853981633974483
Math.ceil(1.5) // 2
Math.cos(0) // 1
Math.exp(0) // 1
Math.floor(1.5) // 1
Math.log(2.718281828459045) // 1
Math.max(3,10,-2) // 10
Math.min(3,10,-2) // -2
Math.pow(5,2) // 25
Math.random() // случайное от 0 до 1
Math.round(1.5) // 2
Math.sin(0) // 0
Math.sqrt(25) // 5
Math.tan(0) // 0
JavaScript. Числовые функции.
#javascript #числовая #функция
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 пользователя без перезапуска бота