# Trabalhando em mensageiros

## Verificando a assinatura do Instagram

check\_insta\_subscription()

<details>

<summary>Descrição</summary>

<mark style="color:padrão;background-color:blue;">**Para verificar a assinatura de uma conta do Instagram**</mark>

**check\_insta\_subscription()**

Parâmetros: nenhum

A função retorna lógico **True** se o usuário estiver inscrito na conta, **Falso** se não estiver.

</details>

<details>

<summary>Exemplos</summary>

<figure><img src="/files/b884c142df09e0608c6a33ff4efe0bfeb53ce980" alt="" width="375"><figcaption></figcaption></figure>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

`r=check_insta_subscription()`

</details>

## Trabalhando com o WhatsApp&#x20;

check\_whatsapp() | get\_whatsapp\_bot\_id\_by\_phone()

<details>

<summary>Descrição</summary>

{% hint style="warning" %}
As funções funcionam se um bot do WhatsApp estiver conectado a um projeto.
{% endhint %}

<mark style="color:padrão;background-color:blue;">**Para verificar se um número de telefone tem WhatsApp**</mark>

**check\_whatsapp(phone\_number)**\
método para verificar se o WhatsApp está conectado ao número de telefone informado

Parâmetros:\
**phone\_number** - número de telefone no formato 79999999999 ou 89999999999

A função retorna lógico **True** se o número estiver registrado no WhatsApp, **Falso** se não estiver.

<mark style="color:padrão;background-color:blue;">**Para obter o bot\_id do WhatsApp pelo número de telefone**</mark>

**get\_whatsapp\_bot\_id\_by\_phone(bot\_phone)**\
função para encontrar o bot\_id do WhatsApp pelo número de telefone

</details>

<details>

<summary>Exemplos</summary>

Vamos verificar se o WhatsApp está conectado a um número de telefone:

<figure><img src="/files/da9dd3eee4ef8658ce4c0c03a636ab754ba3abc5" alt="" width="375"><figcaption><p>Exemplo de uso da função check_whatsapp()</p></figcaption></figure>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
rs=check_whatsapp(79999999999)
```

</details>

## Removendo a última mensagem

last\_message\_id() | remove\_last\_message()

<details>

<summary>Descrição</summary>

**last\_message\_id()**- para obter o número da última mensagem do bot

{% hint style="info" %}
Se tiver sido enviado tanto uma imagem quanto um texto, os números das mensagens são separados por um sublinhado (\_).
{% endhint %}

{% hint style="warning" %}
Para obter corretamente o número da última mensagem do bot, a mensagem deve ser salva no histórico de diálogo do cliente.

Isso significa que, em um bloco do funil, o salvamento do histórico de mensagens deve estar ativado se enviado pelo funil, ou, ao enviar uma disparada, a opção "salvar mensagem no histórico de diálogo" precisa estar ativada.
{% endhint %}

**remove\_last\_message()** – para excluir a última mensagem do bot

{% hint style="danger" %}
Ele funciona apenas no Telegram e no Facebook.
{% endhint %}

Se o **"Salvar no histórico de diálogo"** a opção estiver ativada, então, para Telegram e FB, você pode excluir a última mensagem por meio de um envio a partir de um bloco. Basta usar a função **remove\_last\_message()** na calculadora. Esta função remove a última mensagem enviada pelo bot, mas somente se essa mensagem estiver salva no histórico de diálogo.

</details>

<details>

<summary>Exemplo</summary>

Exemplo:

1. Crie um bloco de disparo:

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

{% hint style="success" %}
Personalize as configurações do disparo como quiser e depois vá para o **"Envio"** .
{% endhint %}

&#x20;2\. Ative a caixa de seleção **"Salvar disparo no histórico de diálogo do cliente"** no campo **"Envio"** :

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

Agora, fique à vontade para enviar o disparo.

Se você quiser excluir a última mensagem (por exemplo, uma mensagem com erro), você pode fazer isso em um único bloco usando a função **remove\_last\_message()**.

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

Em seguida, envie o disparo com a função para excluir a última mensagem.

{% hint style="warning" %}
IMPORTANTE! A última mensagem não pode ser excluída depois de algum tempo!
{% endhint %}

Exemplo com a obtenção do ID da última mensagem.

<figure><img src="/files/e1887e8cb08065ce0b06ca8d7be3f4ee9d0ccf75" alt="" width="375"><figcaption></figcaption></figure>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

```
soob = last_message_id()
status = remove_last_message()
```

</details>

## Pausando a operação do bot

\| pause\_bot(minutes)

<details>

<summary>Descrição</summary>

pause\_bot(minutes) - pausa a operação do bot pelo número especificado de minutos.

minutes - parâmetro obrigatório que representa o número de minutos. Pode ser passado como um inteiro ou um número decimal.

A função funciona como clicar no **"Pausar"** botão em um diálogo com o cliente, mas permite especificar a duração da pausa do bot. Ela retorna **True** em caso de execução bem-sucedida.

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

</details>

## Excluindo mensagens agendadas

\| delete\_pended\_messages\_from\_list(message\_id\_list, with\_not\_delete)

<details>

<summary>Descrição</summary>

delete\_pended\_messages\_from\_list(message\_id\_list, with\_not\_delete)

A função ajuda a excluir mensagens específicas entre as agendadas.

<mark style="color:vermelho;">!</mark> message\_id\_list - parâmetro obrigatório; uma lista de blocos cujas mensagens precisam ser excluídas entre as agendadas.

with\_not\_delete - parâmetro opcional; exclui mensagens marcadas como **"Não excluir."** Qualquer valor pode ser passado para este parâmetro.

O valor de retorno **"wrong message\_id\_list"** aparece se message\_id\_list não for fornecido ou não for um array.

Como passar parâmetros:

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

Onde obter o parâmetro obrigatório:

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

</details>

## Verificando o status do operador

\| check\_operator\_status(email, with\_pause)

<details>

<summary>Descrição</summary>

check\_operator\_status(email, with\_pause) - verifica se o operador está em turno. Retorna **True** se o operador estiver em turno, e **Falso** se não estiver.

<mark style="color:vermelho;">**!**</mark> email - parâmetro obrigatório; e-mail de um funcionário

with\_pause - parâmetro opcional com valores 1 ou 0. Se definido como 1, a função retorna um resultado positivo quando o status do operador for **"Em turno"** ou **"Em pausa."** Se definido como 0, retorna um resultado positivo somente quando o status do operador for **"Em turno."**&#x20;Valor padrão: 1.

</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/messengers.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.
