Фокусы чат-БОТов 🙌
263 subscribers
30 photos
25 videos
99 links
Чат-боты Leadteh.
Как сделать. Сложные моменты. Подсказки. Секреты.
Download Telegram
Forwarded from Максим Носко
Вывести в сообщении или в #HTTP лидтех-id пользователя и Telegram-ID пользователя
Лидтех #id пользователя бота : {{ id }}
#telegram_id: {{telegram_id}}
Forwarded from Максим Носко
Видео в Цепочке сообщений Leadtex.

Вывести видео-ролик без искажения и без задержки в сообщении пользователю бота.
Работает только в Telegram!

1. Загрузить видео в любой канал
2. Вызвать в #HTTP метод copyMessage, где:
- chat_id - телеграм id пользователя {{telegram_id}}
- from_chat_id - телеграм id канала (узнать - пересылка любого сообщения из канала боту "Get My ID"
- message_id - номер сообщения в канале (копировать ссылку на сообщение - в URL видно номер).

При успехе, возвращает строку: {"ok":true,"result":{"message_id":2330}} , где message_id - айди сообщения с видео в боте.

Пример:
https://api.telegram.org/bot{{token}}/copyMessage?chat_id={{telegram_id}}&from_chat_id=-1001804080386&message_id=2

#видео #chat_id #from_chat_id #message_id
Forwarded from Лайфхаки LEADTEX
Telegram Bot API
Применение метода setMyDescription

🔹Применение без параметра language_code

Используется для установки текущего описания бота. Тоже самое, если задать поле Description в боте @BotFather

Параметры блока HTTP запрос:
▪️URL: https://api.telegram.org/bot{{TOKEN}}/setMyDescription?description={{$описание}}
▪️Method: GET
▪️Записать ответ json в переменные: OFF
Записывает значение переменной {{$описание}} в поле Description

🔹Применение с параметром language_code

Используется для установки текущего описания бота для заданного языка пользователя.

Параметры блока HTTP запрос:
▪️URL: https://api.telegram.org/bot{{TOKEN}}/setMyDescription?description={{$описание}}&language_code=ru
▪️Method: GET
▪️Записать ответ json в переменные: OFF

Записывает значение переменной {{$описание}} как описание бота для конкретного языка пользователя.
В language_code передаем двухбуквенный код языка из ISO 639-1.

🔹Удаление строки описания
Для удаления строки описания бота, необходимо в переменной {{$описание}} присвоить {{null}} или параметр записать как description=

🔹Описание бота это строка, которая отображается в чате с ботом, если чат пуст, после строки "Что может делать это бот?"

🔹 Если описание бота задано для текущего языка, то будет выводится оно, иначе описание заданное в поле Description @BotFather.
Forwarded from Лайфхаки LEADTEX
Коды ошибок Телеграм API

🔹ОШИБКА 400
, НЕВЕРНЫЙ ЗАПРОС

Примеры ошибок:

🔸FIRSTNAME_INVALID: имя недействительно
🔸LASTNAME_INVALID: фамилия недействительна
🔸PHONE_NUMBER_INVALID: номер телефона недействителен
🔸PHONE_CODE_HASH_EMPTY: phone_code_hash отсутствует
🔸PHONE_CODE_EMPTY: phone_code отсутствует
🔸PHONE_CODE_EXPIRED: срок действия кода подтверждения истек
🔸API_ID_INVALID: комбинация api_id / api_hash недействительна
🔸PHONE_NUMBER_OCCUPIED: номер телефона уже используется
🔸PHONE_NUMBER_UNOCCUPIED: номер телефона еще не используется
🔸USERS_TOO_FEW: недостаточно пользователей (например, для создания чата)
🔸USERS_TOO_MUCH: превышено максимальное количество пользователей (например, для создания чата)
🔸TYPE_CONSTRUCTOR_INVALID: конструктор типа недействителен
🔸FILE_PART_INVALID: неверный номер части файла.
🔸FILE_PARTS_INVALID: недопустимое количество частей файла.
🔸FILE_PART_Х_MISSING: часть X (где X - номер) файла отсутствует в хранилище
🔸MD5_CHECKSUM_INVALID: контрольные суммы MD5 не совпадают
🔸PHOTO_INVALID_DIMENSIONS: размеры фотографии недействительны
🔸FIELD_NAME_INVALID: поле с именем
🔸FIELD_NAME недействительно
🔸FIELD_NAME_EMPTY: поле с названием
🔸FIELD_NAME отсутствует
🔸MSG_WAIT_FAILED: запрос, который должен быть выполнен перед обработкой текущего запроса, возвратил ошибку
🔸MSG_WAIT_TIMEOUT: запрос, который должен быть выполнен перед обработкой текущего запроса, еще не завершил обработку
Forwarded from Лайфхаки LEADTEX
Коды ошибок Телеграм API продолжение

🔹401 ОШИБКА ДОСТУПА

Произошла попытка несанкционированного использования функций, доступных только авторизованным пользователям.

Примеры ошибок:

🔸AUTH_KEY_UNRIGN: Ключ не зарегистрирован в системе
🔸AUTH_KEY_INVALID: ключ недействителен
🔸USER_DEACTIVATED: пользователь удален / деактивирован
🔸SESSION_REVOKED: авторизация была аннулирована из-за того, что пользователь завершил все сеансы
🔸SESSION_EXPIRED: срок авторизации истек
🔸AUTH_KEY_PERM_EMPTY: метод недоступен для временного ключа авторизации, не привязан к постоянному

🔹403 ЗАПРЕЩЕНО

Нарушение конфиденциальности. Например, попытка написать сообщение кому-то, кто занес текущего пользователя в черный список.

🔹404 НЕ НАЙДЕНО

Попытка вызвать несуществующий объект, например метод.

🔹406 NOT_ACCEPTABLE

Подобно 400 BAD_REQUEST , но приложение не должно отображать сообщения об ошибках для пользователя в пользовательском интерфейсе в результате этого ответа. Вместо этого сообщение об ошибке будет доставлено через updateServiceNotification.

🔹420 FLOOD

Превышено максимально допустимое количество попыток вызвать данный метод с заданными входными параметрами. Например, при попытке запросить большое количество текстовых сообщений (SMS) на один и тот же номер телефона.

Пример ошибки:

🔸FLOOD_WAIT_X: требуется ожидание X секунд (где X - число)

🔹500 ВНУТРЕННИЙ

Произошла внутренняя ошибка сервера во время обработки запроса; например, произошел сбой при доступе к базе данных или файловому хранилищу.
Forwarded from Максим Носко
ПРИНЯТЬ ИЗОБРАЖЕНИЕ ОТ ПОЛЬЗОВАТЕЛЯ
Блок "Цепочка сообщений".
1. Попросить отправить картинку;
2. Валидация: "Картинка"
3. Сохранить в переменную.

#изображение #картинка #запросить
Media is too big
VIEW IN TELEGRAM
Как избежать появления пустых строк в тексте из-за переменных с пустым значением

☑️ Это работает и для вывода полей в блоках с чтением записей из списка. Но фильтровать по таким полям будет сложнее
Forwarded from Лайфхаки LEADTEX
Формат данных JSON

Leadtex не поддерживает форматы данных, приведенных в посте "Форматы данных используемые для обмена данными", кроме JSON.

JSON - это формат хранения данных в удобном для чтения и записи виде. Он используется для передачи данных между различными приложениями, основанными на разных языках программирования.

Простыми словами, синтаксис JSON формата описывает, каким образом данные должны быть организованы при их передаче или хранении. Данные в JSON формате представляются в виде пар "ключ-значение", разделенных запятой.
Ключ - это строка, которая идентифицирует конкретное значение, а значение может быть числом, строкой, логическим значением (true/false), или другим объектом в формате JSON.

JSON-объект — это неупорядоченное множество пар «ключ:значение», заключённых в фигурные скобки { } и взаимодействие с ним проходит, как со словарем.

Пример простого JSON объекта:

{
"name": "Vladimir",
"age": 63,
"children": [ "Maxim", "Ilya" ]
}

В этом примере "name", "age" и "children" являются ключами, а ключ — ВСЕГДА строка, и мы в любом случае берём ее в кавычки. "Vladimir", 63 и [ "Maxim", "Ilya" ] являются соответствующими значениями. Весь объект заключен в фигурные скобки и разделен запятыми.

В целом, синтаксис JSON формата представляет простой способ для хранения и передачи данных между различными системами и приложениями.

Продолжение следует...
Forwarded from Лайфхаки LEADTEX
Формат данных JSON
продолжение

JSON поддерживает следующие типы данных (это то, что может стоять в значении пары):

🔅строки,
🔅числа,
🔅логические значения true/false,
🔅null.
🔅Объекты { ... },
🔅Массивы [ ... ]

🔸Строки используют двойные кавычки как и ключи: "name": "Vladimir". Символы могут быть указаны с использованием escape-последовательностей, начинающихся с обратной косой черты «\» (поддерживаются варианты \", \\, \/, \t, \n, \r, \f и \b), или записаны шестнадцатеричным кодом в кодировке Unicode в виде \uFFFF.

🔸Числа могут быть как целым, так и вещественным и записываются без кавычек: "age": 63.

🔸Объект (запись) — его описание было в прошлом посте "Формат данных JSON".

🔸Массив (одномерный) — это упорядоченное множество значений. Массив заключается в квадратные скобки «[ ]». Значения разделяются запятыми. Массив может быть пустым, то есть не содержать ни одного значения. Значения в пределах одного массива могут иметь разный тип.
Forwarded from Максим Носко
Максим Носко
HTTP-блок настраиваем для работы с внутренними Списками Leadtex Как получить данные из Списка Лидтех в JSON HTTP-блоком и положить в переменные/ #HTTP #списки #настройка https://youtu.be/So5X6gWHpxY?t=831
API Leadteh. Получить данные из Списка через блок HTTP. Синтаксис построения фильтров.

К URL добавить параметр : "&filters[<имя поля латиницей>]=<искомое значение>"

В списках названия полей лучше называть латиницей. Если имена кириллицей, то нужно сделать пустой запрос без фильтра. В полученном JSON посмотреть имена полей латиницей. Также можно имена полей латиницей увидеть в блоках "Чтение записи(ей) из списка".

Примеры параметра filters:
1. filters [text]={{null}}
2.filters[text]==!,{{null}}
3. filters [id]=>,10
4. filters[tip_zadaniya]=Ord3

#api #http #списки #фильтры #filters #параметр #запрос
Forwarded from Максим Носко
Блок HTTP-запрос. Обработка JSON-ответа с помощью JavaScript.

<code>
if (response.status == 200) {
sendMessage(response.data.data[0].opisanierus);
}
</code>

Помощь Лидтех: https://docs.leadteh.ru/blok-http-zapros
Но, на картинке не работающий пример кода
#HTTP #javascript #json