Створити новий список
create_list()
Опис
Введіть функцію в поле "Калькулятор" у налаштуваннях блоку:
create_list(name) - створює новий список. Результат — ID списку.
Параметри:
! name - назва списку. Назва вказується в одинарних лапках.
Приклад
list_id = create_list("registered")

Створення списку з блоку без дублікатів
create_list_if_not_exist()
Опис
create_list_if_not_exist('list_name') - створює новий список, якщо список із заданою назвою ще не існує, і повертає його ідентифікатор, або повертає ідентифікатор існуючого списку.
Обов'язковий параметр:
list_name - назва для нового списку, який буде створено.
Приклад

new_list = create_list_if_not_exist('List of participants')
Додавання клієнта до списку
add_to_list()
Опис
add_to_list(list_id, client_id) - додає клієнта до списку. Функція нічого не повертає.
Параметри:
! list_id - ID списку
client_id - ID клієнта MaviBot. Якщо не вказано, використовується ID поточного клієнта.
Переміщення клієнта до списку
move_to_list()
Опис
move_to_list(list_id, client_id) - переміщує клієнта до списку (Важливо! Клієнт видаляється з усіх інших списків і переміщується до вказаного). Результат — булеве значення (True або False).
Параметри:
! list_id - ID списку
client_id - ID клієнта MaviBot. Якщо не вказано, використовується ID поточного клієнта.
Видалення клієнта зі списку
remove_from_list()
Опис
remove_from_list(list_id, client_id) - видаляє клієнта із вказаним client_id зі списку.
Параметри:
! list_id - ID списку
client_id - ID клієнта MaviBot. Якщо не вказано, використовується ID поточного клієнта.
Видалення списків
remove_list_from_project(list_id, clear_list)
Опис
! list_id - обов'язковий параметр; ID списку, який потрібно видалити.
clear_list — необов'язковий параметр; приймає два значення: True або False (за замовчуванням False).
Якщо ви не вкажете цей параметр і список містить клієнтів, ви отримаєте наступну відповідь:
"Can't delete list, list not empty"
Якщо список порожній, він буде видалений без проблем. Однак, якщо ви встановите clear_list у значення True, список буде видалено незалежно від того, чи містить він клієнтів.
Видалення тегів
remove_label_from_project(list_id, clear_list)
Опис
! list_id - обов'язковий параметр; ID тегу, який потрібно видалити.
clear_list - необов'язковий параметр; приймає два значення: True або False (за замовчуванням False).
Якщо цей параметр не вказано і тег призначено клієнтам, ви отримаєте наступну відповідь:
"Can't delete list, list not empty"
Якщо тег не призначено жодному клієнту, він буде видалений без проблем. Однак, якщо clear_list встановлено у значення True, тег буде видалено незалежно від того, чи призначений він клієнтам.
Очищення списку клієнтів
clear_list()
Опис
clear_list(list_id) - очищає список клієнтів
Параметри:
! list_id - ID списку. Після використання всі клієнти будуть видалені з вказаного списку.
Отримання кількості клієнтів у списку
list_size()
Опис
list_size(list_id) – підраховує загальну кількість клієнтів у списку
Параметри:
! list_id- ID списку
Підрахунок кількості унікальних записів клієнтів у кількох списках
lists_joint_count()
Опис
lists_joint_count(massive_list) – підраховує загальну кількість унікальних записів клієнтів у кількох списках. Функція приймає масив ID списків і повертає число.
Параметри:
! massive_list - масив, що містить ID списків, у яких буде підраховано унікальні записи клієнтів. Формат: ['list_id1', 'list_id2', ..., 'list_idN']
Приклад коду для копіювання
/*Створення списку*/
list_id = create_list('Новий список')
/*Перевірка, чи є клієнт у списку*/
k=inlist(list_id, client_id)
/*Отримання розміру списку — загальної кількості клієнтів у списку*/
razm=list_size(1)
/*Отримання загальної кількості унікальних записів клієнтів у кількох списках*/
k=lists_joint_count('[144636,144634]')
Перевірка, чи є клієнт у списку
inlist()
Опис
inlist(list_id,client_id) - перевіряє, чи є клієнт у списку. Результат — булеве значення (True або False).
Параметри:
! list_id - ID списку
client_id - ID клієнта MaviBot. Якщо не вказано, використовується ID поточного клієнта.
Перевірка, чи є учасник чату в певному списку
some_client_in_list()
Опис
some_client_in_list(list_id, recepient)
Параметри:
! list_id - ID списку;
! recepient - ID користувача месенджера, який перевіряється (platform_id). Для чатів значенням змінної є chat_member_id.
Повертає значення:
True - клієнт є у списку;
False - клієнта немає у вказаному списку.
Приклад

Приклад коду для копіювання
/*Приклад перевірки, чи є учасник чату у списку, де перший параметр — ID списку, а другий — 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 нового списку, щоб використовувати його пізніше. Для цього призначте результат функції змінній, тобто list_id = ...


Тепер ви можете легко виконувати інші операції зі списком — перевіряти, чи є клієнт у списку, додавати, переміщувати або видаляти клієнта.
Наприклад, перевіримо, чи є клієнт у списку з ID 12333:


Дуже зручно використовувати списки при відображенні статистичних даних:

Часто потрібно отримати загальну кількість унікальних записів у наборі списків — це легко зробити за допомогою функції lists_joint_count().

а
Отримати всі ID списків клієнта
get_all_client_label_ids(client_id)
Опис
get_all_client_list_ids(client_id) — повертає масив, що містить ID всіх списків, до яких належить клієнт.
Якщо клієнт не належить до жодного списку, функція повертає порожній масив: [].
Параметри:
-
client_id— ID клієнта Mavibot. Якщо пропущено, використовується ID поточного клієнта.