# Travailler avec des listes

## **Créer une nouvelle liste**&#x20;

create\_list()

{% tabs %}
{% tab title="Description" %}
Saisissez la fonction dans le **« Calculatrice »** champ dans les paramètres du bloc :&#x20;

**create\_list(name)** - crée une nouvelle liste. Le résultat est l’ID de la liste.

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;name** - nom de la liste. Le nom est indiqué entre guillemets simples.
{% endtab %}

{% tab title="Exemple" %}
`list_id = create_list("registered")`

<div data-with-frame="true"><figure><img src="/files/00f2f02ea090cd1fe6b7e11d7ebf9862f6a45421" alt="" width="563"><figcaption></figcaption></figure></div>
{% endtab %}
{% endtabs %}

## Création d’une liste à partir du bloc sans doublons

create\_list\_if\_not\_exist()

{% tabs %}
{% tab title="Description" %}
**create\_list\_if\_not\_exist('list\_name')** - crée une nouvelle liste si aucune liste portant le nom donné n’existe encore et renvoie son identifiant, ou renvoie l’identifiant de la liste existante.

Paramètre requis :

**list\_name** - nom de la nouvelle liste à créer.
{% endtab %}

{% tab title="Exemple" %}

<div data-with-frame="true"><figure><img src="/files/85c2b372deaba699eb5595ee2010835a5a5b75e8" alt="" width="563"><figcaption></figcaption></figure></div>

```
new_list = create_list_if_not_exist('Liste des participants')
```

{% endtab %}
{% endtabs %}

## Ajout d’un client à la liste

add\_to\_list()

{% tabs %}
{% tab title="Description" %}
**add\_to\_list(list\_id, client\_id)** - ajoute un client à une liste. La fonction ne renvoie rien.

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;list\_id** - ID de la liste

**client\_id** - ID client de MaviBot. Si non fourni, l’ID du client actuel est utilisé.
{% endtab %}
{% endtabs %}

## Déplacement d’un client vers la liste

move\_to\_list()

{% tabs %}
{% tab title="Description" %}
**move\_to\_list(list\_id, client\_id)** - déplace un client vers la liste (Important ! Le client est supprimé de toutes les autres listes et déplacé vers celle spécifiée). Le résultat est une valeur booléenne (True ou False).

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;list\_id** - ID de la liste

**client\_id** - ID client de MaviBot. Si non fourni, l’ID du client actuel est utilisé.
{% endtab %}
{% endtabs %}

## Suppression d’un client de la liste

remove\_from\_list()

{% tabs %}
{% tab title="Description" %}
**remove\_from\_list(list\_id, client\_id)** - supprime de la liste un client ayant l’identifiant client\_id spécifié.

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;list\_id** - ID de la liste

**client\_id** - ID client de MaviBot. Si non fourni, l’ID du client actuel est utilisé.
{% endtab %}
{% endtabs %}

## Suppression de listes&#x20;

remove\_list\_from\_project(list\_id, clear\_list)

{% tabs %}
{% tab title="Description" %} <mark style="color:red;">**!**</mark>**&#x20;list\_id** - paramètre requis ; l’ID de la liste à supprimer.

**clear\_list** — paramètre facultatif ; accepte deux valeurs : True ou False (False par défaut).

Si vous ne fournissez pas ce paramètre et que la liste contient des clients, vous recevrez la réponse suivante :***"Impossible de supprimer la liste, la liste n’est pas vide"***

Si la liste est vide, elle sera supprimée sans problème. Cependant, si vous définissez **clear\_list** sur True, la liste sera supprimée qu’elle contienne des clients ou non.
{% endtab %}
{% endtabs %}

## Suppression de tags

remove\_label\_from\_project(list\_id, clear\_list)

{% tabs %}
{% tab title="Description" %} <mark style="color:red;">**!**</mark>**&#x20;list\_id** - paramètre requis ; l’ID du tag à supprimer.

**clear\_list** - paramètre facultatif ; accepte deux valeurs : True ou False (False par défaut).

Si ce paramètre n’est pas fourni et que le tag est attribué à des clients, vous recevrez la réponse suivante :&#x20;***"Impossible de supprimer la liste, la liste n’est pas vide"***

Si le tag n’est attribué à aucun client, il sera supprimé sans problème. Cependant, si **clear\_list** est défini sur True, le tag sera supprimé qu’il soit attribué à des clients ou non.
{% endtab %}
{% endtabs %}

## Vider la liste de clients&#x20;

clear\_list()

{% tabs %}
{% tab title="Description" %}
**clear\_list(list\_id)** - vide la liste de clients

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;list\_id -** ID de la liste. Après utilisation, tous les clients seront retirés de la liste spécifiée.&#x20;
{% endtab %}
{% endtabs %}

## Obtenir le nombre de clients dans la liste

list\_size()

{% tabs %}
{% tab title="Description" %}
**list\_size(list\_id)** – compte le nombre total de clients dans la liste

Paramètres :&#x20;

<mark style="color:red;">**!**</mark>**&#x20;list\_id**- ID de la liste
{% endtab %}
{% endtabs %}

## Compter le nombre d’entrées client uniques dans plusieurs listes

lists\_joint\_count()

{% tabs %}
{% tab title="Description" %}
**lists\_joint\_count(massive\_list)** – compte le nombre total d’entrées client uniques dans plusieurs listes. La fonction prend en entrée un tableau d’ID de listes et renvoie un nombre.

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;massive\_list** - un tableau contenant les ID des listes dans lesquelles les entrées client uniques seront comptées. Le format est : **\['list\_id1', 'list\_id2', ..., 'list\_idN']**
{% endtab %}

{% tab title="Exemple de code à copier" %}

```
/*Création d’une liste*/
list_id = create_list('Nouvelle liste')

/*Vérifier si le client est dans la liste*/
k=inlist(list_id, client_id)

/*Obtenir la taille de la liste — nombre total de clients dans la liste*/
razm=list_size(1)

/*Obtenir le nombre total d’entrées client uniques dans plusieurs listes*/
k=lists_joint_count('[144636,144634]')
```

{% endtab %}
{% endtabs %}

## Vérifier si un client est dans la liste

inlist()

{% tabs %}
{% tab title="Description" %}
**inlist(list\_id,client\_id)** - vérifie si un client est dans la liste. Le résultat est une valeur booléenne (True ou False).

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;list\_id** - ID de la liste

**client\_id** - ID client de MaviBot. Si non fourni, l’ID du client actuel est utilisé.&#x20;
{% endtab %}
{% endtabs %}

## Vérifier si un participant au chat est dans une liste spécifique

some\_client\_in\_list()

{% tabs %}
{% tab title="Description" %}
**some\_client\_in\_list(list\_id, recepient)**

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;list\_id** - ID de la liste ;&#x20;

<mark style="color:red;">**!**</mark>**&#x20;recepient** - ID utilisateur du messager vérifié (platform\_id). Pour les chats, la valeur de la variable est chat\_member\_id.&#x20;

Elle renvoie les valeurs :

True - le client est dans la liste ;

False - le client n’est pas dans la liste spécifiée.
{% endtab %}

{% tab title="Exemple" %}

<div data-with-frame="true"><figure><img src="/files/f46b74f322124bc206183084b33b94e1d39d820f" alt=""><figcaption></figcaption></figure></div>
{% endtab %}

{% tab title="Exemple de code à copier" %}

```
/*Exemple de vérification si un participant au chat est dans la liste, où le premier paramètre est l’ID de la liste et le second est l’ID de chat de l’utilisateur*/

r = some_client_in_list(123456, chat_member_id)
```

{% endtab %}
{% endtabs %}

### Récupération d’éléments à partir d’une liste

count\_occurrences()

{% tabs %}
{% tab title="Description" %}
**count\_occurrences(array, element)** - renvoie le nombre d’éléments spécifiés contenus dans la liste.

Paramètres :

**tableau** - paramètre requis ; liste d’éléments

**element** - paramètre requis ; élément à compter
{% endtab %}
{% endtabs %}

## Obtenir un ID client aléatoire de la liste

random\_list\_member(list\_id)

{% tabs %}
{% tab title="Description" %}
random\_list\_member(list\_id) - renvoie un ID client aléatoire dans la liste spécifiée.

list\_id - paramètre requis, ID de la liste.

L’ID de la liste contenant vos clients peut être trouvé dans **« Listes »**  :

<figure><img src="/files/941c3a4698e2f6f048a18e2416975e85f35c57b1" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Exemple de travail avec des listes dans le Calculateur

<details>

<summary>exemple</summary>

Voyons un exemple d’utilisation des fonctions dans le **« Calculatrice »** pour travailler avec des listes.

<mark style="color:red;">**Important !**</mark> Vous devez enregistrer un nouvel ID de liste afin de pouvoir l’utiliser plus tard. Pour ce faire, affectez le résultat de la fonction à une variable, c.-à-d. list\_id = ...

<div data-with-frame="true"><figure><img src="/files/0b7460b78167858c0e0d0bbee54fb53f30b3ba89" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/3c315481962dd7e5a027fad8a8b43ba71755e259" alt="" width="375"><figcaption></figcaption></figure></div>

Vous pouvez maintenant facilement effectuer d’autres opérations avec la liste — vérifier si un client est dans la liste, ajouter, déplacer ou supprimer un client.

Par exemple, vérifions si un client est dans la liste avec l’ID 12333 :

<div data-with-frame="true"><figure><img src="/files/dafd523e5ad171ca0714dc2b176fc3a25e4b1fac" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/5e3e58e01f981f8e14075066776616f589b5ac64" alt="" width="375"><figcaption></figcaption></figure></div>

Il est très pratique d’utiliser des listes lors de l’affichage de données statistiques :

<figure><img src="/files/5ad92f15e2b2421859ff67480baba592dea5060c" alt="" width="563"><figcaption></figcaption></figure>

Il est souvent nécessaire d’obtenir le nombre total d’entrées uniques dans un ensemble de listes — cela peut être facilement fait en utilisant `lists_joint_count()` fonction.

<div data-with-frame="true"><figure><img src="/files/7e3eb335f92a629ef1218c6b5d53fc2f53296925" alt="" width="563"><figcaption></figcaption></figure></div>

а

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/chatbot/functions/calculatrice/lists.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
