Рассмотрим пример работы с функциями в Калькуляторе для работы со списками.

Важно!

Необходимо скопировать/сохранить номер нового списка, чтобы работать с ним далее.

Чтобы узнать ID списка:

  1. перейдите в соответствующий раздел "Списки и метки";
  2. нажмите на необходимый список, чтобы открылось правое меню;
  3. и скопируйте ID списка.

Также можно создать список прямо в калькуляторе в разделе "Конструктор" и присвоить ID нового списка переменной. Для этого:

  1. Пропишите переменную в калькуляторе в блоке, например, list_id;
  2. Далее приравняйте переменной функцию create_list('название вашего списка');
  3. Передайте переменную #{list_id} с хешом и фигурными скобками в поле "Сообщение":

  1. Запустите блок в режиме тестирования:

Теперь в переменной list_id лежит значение ID нового списка.

Очень удобно использовать списки при выводе статистических данных:

Часто возникает необходимость получить общее количество уникальных записей в наборе списков - это легко достичь применением функции lists_joint_count()

аа

Создать новый список

create_list()

Описание

Укажите в поле Калькулятор в настройках блока функцию

create_list(spisok) - создание нового списка. Результат - номер списка

Параметры:

! spisok - наименование списка. Наименование задается в одинарных кавычках

Пример

list_id = create_list("зарегистрировались")

Создание списка из блока без создания дубля

create_list_if_not_exist()

Описание

create_list_if_not_exist('list_name') - создает новый список, если с таким именем еще нет и возвращает идентификатор или вернет идентификатор существующего

Обязательный параметр:

list_name - Название для создания нового списка

Пример

new_list = create_list_if_not_exist('Список участников')

Добавление клиента в список

add_to_list()

Описание

add_to_list(spisok, client_id)- добавление клиента в список. Результат функции - none

Параметры:

! spisok - номер списка. Можно передавать как один идентификатор "1567", так и список идентификаторов - [1567, 1672, 1980]

client_id - идентификатор клиента Salebot. Если не передан, то используется идентификатор текущего клиента

Перемещение клиента в список

move_to_list()

Описание

move_to_list(spisok, client_id) – перемещение клиента в список (Важно! клиент удаляется из всех других списков и перемещается в указанный). Результат - булево значение (True или False)

Параметры:

! spisok - номер списка. Можно передавать как один идентификатор "1567", так и список идентификаторов - [1567, 1672, 1980]

client_id - идентификатор клиента Salebot. Если не передан, то используется идентификатор текущего клиента

Удаление клиента из списка

remove_from_list()

Описание

remove_from_list(spisok, client_id) – удаление из списка клиента с заданным client_id

Параметры:

! spisok - номер списка

client_id - идентификатор клиента Salebot. Если не передан, то используется идентификатор текущего клиента

Удаление списков

remove_list_from_project(list_id, clear_list)

First Tab

! list_id — обязательный параметр, это id списка, который нужно удалить

clear_list — необязательный параметр, принимает 2 значения True или False (по умолчанию False), если не передавать его и если список содержит клиентов, вы получите ответ следующего вида:

«Can't delete list, list not empty»

если список пустой, то список спокойно удалится, если же в clear_list установить значение True, то список удалится в независимости от того, есть там клиенты или нет.

Удаление меток

remove_label_from_project(list_id, clear_list)

First Tab

! list_id — обязательный параметр, это id метки, которую нужно удалить

clear_list — необязательный параметр, принимает 2 значения True или False (по умолчанию False), если не передавать его и если клиентам присвоена данная метка, вы получите ответ следующего вида:

«Can't delete list, list not empty»

если список пустой, то метка удалится, если же в clear_list установить значение True, то список удалится в независимости от того, есть там клиенты или нет

Очистить список клиентов

clear_list()

Описание

clear_list(list_id) - очистка списка клиентов

Параметры:

! list_id - номер списка. После использования все клиенты будут удалены из указанного списка.

Узнать количество клиентов в списке

list_size()

Описание

list_size(spisok) – для подсчета общего количества клиентов в списке

Параметры:

! spisok - номер списка

Подсчитать количество уникальных записей о клиентах в нескольких списках

lists_joint_count()

Описание

lists_joint_count(massive_list) – для подсчета общего количества уникальных записей о клиентах, которые находятся в нескольких списках. На вход функция принимает массив с номерами списков. Результат - число.

Параметры:

! massive_list - массив с перечнем списков, в котором будем производить подсчет уникальных записей клиента. Записывается в формате: '[list_id1, list_id2, ..., listidN]'

Пример кода для копирования

/*Создание списка*/
list_id = create_list('Новенький списочек')

/*проверяем состоит ли клиент в списке*/
k=inlist(list_id, client_id)

/*вывод размера списка - общее количество клиентов списка*/
razm=list_size(1)

/*Получение общего количества уникальных записей в списках*/
k=lists_joint_count('[144636,144634]')

Видеоразбор

Проверить есть ли клиент в списке

inlist()

Описание

inlist(spisok,client_id) - для проверки наличия пользователей в списке. Результат - булево значение (True или False)

Параметры:

! spisok - номер списка

client_id - идентификатор клиента Salebot. Если не передан, то используется идентификатор текущего клиента

Проверить состоит ли участник чата в определенном списке

some_client_in_list()

Описание

some_client_in_list(list_id, recepient)

Параметры:
! list_id - номер списка;
! recepient - это значение id в мессенджере проверяемого (platform_id). Для чатов значение переменной chat_member_id.

Возвращаемый результат:
True - клиент есть в списке;
False - клиента нет в указанном списке.

Пример

Пример кода для копирования

/*пример проверки наличия в списке для участников чата, где первый параметр - номер списка, второй - ID пользователя в чате*/

r = some_client_in_list(123456, chat_member_id)

Видеоразбор

Возвращение элементов из списка

count_occurrences()

Описание

count_occurrences(array, element) - возвращает число указанных элементов, содержащихся в списке

array - обязательный параметр, список элементов

element - обязательный параметр, элемент, который необходимо посчитать

Получение случайного ID клиента из списка

random_list_member(list_id)

Описание

random_list_member(list_id) - возвращает случайный id одного из клиентов, находящихся в указанном списке.

list_id - обязательный параметр, id списка.

ID списка, в котором лежат ваши клиенты, берется в разделе "Списки":

Получить массив ID всех списков клиента

get_all_client_list_ids(client_id)

Описание

get_all_client_list_ids(client_id) — возвращает массив с ID всех списков, в которых состоит клиент.

Если клиент не состоит ни в одном списке — возвращает пустой массив [].

Параметры:

client_id — идентификатор клиента Salebot. Если не передан, используется идентификатор текущего клиента.