# Trabalhando com listas

## **Criar uma nova lista**&#x20;

create\_list()

{% tabs %}
{% tab title="Descrição" %}
Insira a função no **"Calculadora"** campo nas configurações do bloco:&#x20;

**create\_list(name)** - cria uma nova lista. O resultado é o ID da lista.

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;name** - nome da lista. O nome é especificado entre aspas simples.
{% endtab %}

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

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

## Criando uma lista a partir do bloco sem duplicatas

create\_list\_if\_not\_exist()

{% tabs %}
{% tab title="Descrição" %}
**create\_list\_if\_not\_exist('list\_name')** - cria uma nova lista se ainda não existir uma com o nome informado e retorna seu identificador, ou retorna o identificador da lista existente.

Parâmetro obrigatório:

**list\_name** - nome da nova lista a ser criada.
{% endtab %}

{% tab title="Exemplo" %}

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

```
new_list = create_list_if_not_exist('Lista de participantes')
```

{% endtab %}
{% endtabs %}

## Adicionando um cliente à lista

add\_to\_list()

{% tabs %}
{% tab title="Descrição" %}
**add\_to\_list(list\_id, client\_id)** - adiciona um cliente a uma lista. A função não retorna nada.

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;list\_id** - ID da lista

**client\_id** - ID do cliente do MaviBot. Se não for fornecido, será usado o ID do cliente atual.
{% endtab %}
{% endtabs %}

## Movendo um cliente para a lista

move\_to\_list()

{% tabs %}
{% tab title="Descrição" %}
**move\_to\_list(list\_id, client\_id)** - move um cliente para a lista (Importante! O cliente é removido de todas as outras listas e movido para a सूची especificada). O resultado é um valor booleano (True ou False).

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;list\_id** - ID da lista

**client\_id** - ID do cliente do MaviBot. Se não for fornecido, será usado o ID do cliente atual.
{% endtab %}
{% endtabs %}

## Removendo um cliente da lista

remove\_from\_list()

{% tabs %}
{% tab title="Descrição" %}
**remove\_from\_list(list\_id, client\_id)** - remove um cliente com o client\_id especificado da lista.

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;list\_id** - ID da lista

**client\_id** - ID do cliente do MaviBot. Se não for fornecido, será usado o ID do cliente atual.
{% endtab %}
{% endtabs %}

## Excluindo listas&#x20;

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

{% tabs %}
{% tab title="Descrição" %} <mark style="color:vermelho;">**!**</mark>**&#x20;list\_id** - parâmetro obrigatório; o ID da lista a ser excluída.

**clear\_list** — parâmetro opcional; aceita dois valores: True ou False (o padrão é False).

Se você não fornecer esse parâmetro e a lista contiver clientes, você receberá a seguinte resposta:***"Não é possível excluir a lista, a lista não está vazia"***

Se a lista estiver vazia, ela será excluída sem problemas. No entanto, se você definir **clear\_list** como True, a lista será excluída независимо de conter clientes ou não.
{% endtab %}
{% endtabs %}

## Excluindo tags

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

{% tabs %}
{% tab title="Descrição" %} <mark style="color:vermelho;">**!**</mark>**&#x20;list\_id** - parâmetro obrigatório; o ID da tag a ser excluída.

**clear\_list** - parâmetro opcional; aceita dois valores: True ou False (o padrão é False).

Se esse parâmetro não for fornecido e a tag estiver atribuída a clientes, você receberá a seguinte resposta:&#x20;***"Não é possível excluir a lista, a lista não está vazia"***

Se a tag não estiver atribuída a nenhum cliente, ela será excluída sem problemas. No entanto, se **clear\_list** for definido como True, a tag será excluída independentemente de estar atribuída a clientes ou não.
{% endtab %}
{% endtabs %}

## Limpar a lista de clientes&#x20;

clear\_list()

{% tabs %}
{% tab title="Descrição" %}
**clear\_list(list\_id)** - limpa a lista de clientes

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;list\_id -** ID da lista. Após o uso, todos os clientes serão removidos da lista especificada.&#x20;
{% endtab %}
{% endtabs %}

## Obter o número de clientes na lista

list\_size()

{% tabs %}
{% tab title="Descrição" %}
**list\_size(list\_id)** – conta o número total de clientes na lista

Parâmetros:&#x20;

<mark style="color:vermelho;">**!**</mark>**&#x20;list\_id**- ID da lista
{% endtab %}
{% endtabs %}

## Contar o número de entradas únicas de clientes em várias listas

lists\_joint\_count()

{% tabs %}
{% tab title="Descrição" %}
**lists\_joint\_count(massive\_list)** – conta o número total de entradas únicas de clientes em várias listas. A função recebe como entrada um array de IDs de listas e retorna um número.

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;massive\_list** - um array contendo os IDs das listas nas quais as entradas únicas de clientes serão contadas. O formato é: **\['list\_id1', 'list\_id2', ..., 'list\_idN']**
{% endtab %}

{% tab title="Exemplo de código para copiar" %}

```
/*Criando uma lista*/
list_id = create_list('Nova lista')

/*Verifique se o cliente está na lista*/
k=inlist(list_id, client_id)

/*Obtenha o tamanho da lista — número total de clientes na lista*/
razm=list_size(1)

/*Obtenha o número total de entradas únicas de clientes em várias listas*/
k=lists_joint_count('[144636,144634]')
```

{% endtab %}
{% endtabs %}

## Verifique se um cliente está na lista

inlist()

{% tabs %}
{% tab title="Descrição" %}
**inlist(list\_id,client\_id)** - verifica se um cliente está na lista. O resultado é um valor booleano (True ou False).

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;list\_id** - ID da lista

**client\_id** - ID do cliente do MaviBot. Se não for fornecido, será usado o ID do cliente atual.&#x20;
{% endtab %}
{% endtabs %}

## Verifique se um participante do chat está em uma lista específica

some\_client\_in\_list()

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

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;list\_id** - ID da lista;&#x20;

<mark style="color:vermelho;">**!**</mark>**&#x20;recepient** - ID do usuário do mensageiro que está sendo verificado (platform\_id). Para chats, o valor da variável é chat\_member\_id.&#x20;

Retorna os valores:

True - o cliente está na lista;

False - o cliente não está na lista especificada.
{% endtab %}

{% tab title="Exemplo" %}

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

{% tab title="Exemplo de código para copiar" %}

```
/*Exemplo de verificação se um participante do chat está na lista, onde o primeiro parâmetro é o ID da lista e o segundo é o ID do chat do usuário*/

r = some_client_in_list(123456, chat_member_id)
```

{% endtab %}
{% endtabs %}

### Recuperando elementos de uma lista

count\_occurrences()

{% tabs %}
{% tab title="Descrição" %}
**count\_occurrences(array, element)** - retorna o número de elementos especificados contidos na lista.

Parâmetros:

**array** - parâmetro obrigatório; lista de elementos

**element** - parâmetro obrigatório; elemento a contar
{% endtab %}
{% endtabs %}

## Obtendo um ID de cliente aleatório da lista

random\_list\_member(list\_id)

{% tabs %}
{% tab title="Descrição" %}
random\_list\_member(list\_id) - retorna um ID de cliente aleatório na lista especificada.

list\_id - parâmetro obrigatório, ID da lista.

O ID da lista, que contém seus clientes, pode ser encontrado em **"Listas"** :

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

## Exemplo de trabalho com listas na Calculadora

<details>

<summary>exemplo</summary>

Vamos ver um exemplo de uso de funções na **"Calculadora"** para trabalhar com listas.

<mark style="color:vermelho;">**Importante!**</mark> Você precisa salvar um novo ID de lista para usá-lo depois. Para isso, atribua o resultado da função a uma variável, ou seja, list\_id = ...

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

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

Agora você pode facilmente realizar outras operações com a lista — verificar se um cliente está na lista, adicionar, mover ou remover um cliente.

Por exemplo, vamos verificar se um cliente está na lista com o ID 12333:

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

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

É muito conveniente usar listas ao exibir dados estatísticos:

<figure><img src="/files/8cf3fc47fd7fac9484e357bdbf50e48a4a3da2c8" alt="" width="563"><figcaption></figcaption></figure>

Muitas vezes é necessário obter o número total de entradas únicas em um conjunto de listas — isso pode ser feito facilmente usando `lists_joint_count()` função.

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

a

</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/pt/chatbot/functions/calculadora/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.
