> For the complete documentation index, see [llms.txt](https://metabot.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://metabot.gitbook.io/documentation/sintaksis-js-skripta-s-usloviem.md).

# Синтаксис JavaScript с условием

| Функция / переменная                           | Описание                                                                                                                                                                                                                                                                           |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Данные по боту**                             |                                                                                                                                                                                                                                                                                    |
| bot.getData('leadsCount')                      | <p>Получить количество лидов текущего бота.<br></p><p>Например</p><p>if (bot.getData('leadsCount') > 0) {... Вместо leadsCount можно указать любое поле бота из таблицы БД</p>                                                                                                     |
| **Атрибуты-переменные бота**                   |                                                                                                                                                                                                                                                                                    |
| bot.setAttr(string $key, string $value)        | Установить значение переменной бота, данные будут сохранены в БД                                                                                                                                                                                                                   |
| bot.getAttr(string $key)                       | Получить значение сохраненной (в боте) переменной по ключу                                                                                                                                                                                                                         |
| bot.getAllAttr(): array                        | Получить массив всех переменных бота                                                                                                                                                                                                                                               |
| bot.isAttrExist(string $key): bool             | Проверить наличие переменной в боте                                                                                                                                                                                                                                                |
| bot.issetAttr(string $key): bool               | Проверить наличие переменной в боте (алиас функции bot.isAttrExist)                                                                                                                                                                                                                |
| **Данные по Лиду**                             |                                                                                                                                                                                                                                                                                    |
| lead.getData(string $key)): mixed\|null        | <p>Получить значение данных по сущности лид по ключу.<br></p><p>В качестве ключа можно указать<br></p><p>id</p><p>identification</p><p>manager\_id</p><p>bot\_id</p><p>channel\_id</p><p>status\_id</p><p>extra</p><p>is\_mute </p><p>+ все системные поля лида (по английски)</p> |
| lead.isDataExist(string $key): bool            | Проверить наличие данных по лиду                                                                                                                                                                                                                                                   |
| lead.isDataExist(string $key): bool            | Синоним метода lead.issetData()                                                                                                                                                                                                                                                    |
| lead.getSerialNumber(): int\|null              | Порядковый номер лида в текущем боте (начиная с 1)                                                                                                                                                                                                                                 |
| lead.getChannelCode(): string                  | Код канала лида (telegram, umnico, bitrix, и пр.)                                                                                                                                                                                                                                  |
| **Атрибуты-переменные лида**                   |                                                                                                                                                                                                                                                                                    |
| lead.setAttr(string $key, string $value): self | Установить значение переменной лида, данные будут сохранены в БД                                                                                                                                                                                                                   |
| lead.getAttr(string $key): string\|null        | Получить по ключу значение переменной лида (сохраненной в БД)                                                                                                                                                                                                                      |
| lead.getAllAttr(): array                       | Получить массив всех переменных лида                                                                                                                                                                                                                                               |
| bot.isAttrExist(string $key): bool             | Проверить наличие переменной лида                                                                                                                                                                                                                                                  |
| bot.issetAttr(string $key): bool               | Проверить наличие переменной лида (алиас функции lead.isAttrExist)                                                                                                                                                                                                                 |
| **Тэги лида**                                  |                                                                                                                                                                                                                                                                                    |
| lead.isTagExist('some\_tag')                   | Проверить наличие тэга лида                                                                                                                                                                                                                                                        |
| lead.getTag(string $key): string\|null         | Получить название тэга лида                                                                                                                                                                                                                                                        |
| lead.getAllTags(): array                       | Получить массив всех лида                                                                                                                                                                                                                                                          |
| **Контекст лида**                              |                                                                                                                                                                                                                                                                                    |
| lead.isContextExist(string $key): bool         | Проверить наличие контекста лида                                                                                                                                                                                                                                                   |
| lead.getContext(string $key): string\|null     | Получить название контекста лида                                                                                                                                                                                                                                                   |
| lead.getAllContexts(): array                   | Получить массив всех контекстов лида                                                                                                                                                                                                                                               |
| **Статус лида**                                |                                                                                                                                                                                                                                                                                    |
| lead.isInStatus(string $statusName): bool      | Проверить, что лид находится в статусе с именем $statusName                                                                                                                                                                                                                        |
| lead.getStatusId(): int\|null                  | Возвращает значение поля status\_id лида (то же самое, lead.getAttr("status\_id")                                                                                                                                                                                                  |
| **Методы лида**                                |                                                                                                                                                                                                                                                                                    |
| lead.getPersonId(): ?int                       | Получить id персоны привязанной к лиду                                                                                                                                                                                                                                             |
| lead.setPersonId(?int $personId): bool         | Привязать персону к лиду (по id персоны)                                                                                                                                                                                                                                           |
| lead.createPersonForCurrentLead($data): ?int   | <p>Создать персону для текущего лида (в контексте которого запущен v8-скрипт)</p><p>Поля передаваемые в объект $data смотрите в описании bot.createPerson(...)</p>                                                                                                                 |
| lead.setForwarded(bool\|int $state): self      | Установка ($state == true) или сброс ($state == false) у лида признака “Переведён на оператора”                                                                                                                                                                                    |
