# Preguntas frecuentes

1. [Chatbot](#chatbot)
2. [Archivos adjuntos](#file-attachments)
3. [Embudo](#funnel)
4. [Otros](#others)

## CHATBOT

### ¿Qué debo hacer si el bot funciona en la ventana de prueba pero no funciona en el mensajero?

Tu plan no está pagado o se ha pagado el plan incorrecto.

{% hint style="warning" %}
Un error de conexión del canal es otra razón por la que el bot puede no funcionar en los mensajeros.&#x20; En este caso, recomendamos revisar la configuración de la conexión según las instrucciones de integración del mensajero. <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

### ¿Cómo obtener un número de teléfono válido (o correcto) de un cliente?

Necesitas añadir validación del número de teléfono usando regex.

*Expresiones regulares* permite que el bot compruebe si los datos introducidos están en el formato correcto (por ejemplo, para asegurarse de que es un número de teléfono y no otra cosa).

<details>

<summary>¿Cómo hacer la comprobación?</summary>

Cuando hablas con clientes, a menudo necesitas hacer un seguimiento por teléfono. Entonces, ¿cómo puede un chatbot recopilar automáticamente la información del cliente? La respuesta es simple: usando expresiones regulares.

Para usar la función de recopilación de un número de teléfono (o correo electrónico), utiliza las siguientes expresiones regulares:

1. Número de teléfono (Rusia): ^((\\+7|7|8)+(\[0-9]){10})$ <mark style="color:rojo;">**cambiar país y número**</mark>
2. Número de teléfono (con código de país): ^(\\+)?((\d{2,3}) ?\d|\d)((\[ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
3. Correo electrónico: ^\[-\w.]+@(\[A-z0-9]\[-A-z0-9]+\\.)+\[A-z]{2,4}$

{% hint style="danger" %}
¡Asegúrate de que no haya un espacio antes de la flecha (->) en la condición!

<img src="/files/0a3062cfeb682c63e2d1de6408e27fe06b1c6690" alt="" data-size="original">

De lo contrario, el flujo del chatbot funcionará con errores.
{% endhint %}

{% hint style="info" %}
En el flujo, usamos una expresión regular para números de teléfono de cualquier país.
{% endhint %}

Así como el bot guardó el nombre y la edad del cliente, también guardará el número de teléfono o el correo electrónico del usuario (si usas la expresión regular correcta).

Crea un bloque donde el bot envíe un mensaje pidiendo al cliente que envíe su número de teléfono (o correo electrónico):

<figure><img src="/files/cca2d529a575531fc7f1db5350115327e00b188c" alt=""><figcaption><p>Bloque con un mensaje para recopilar el número de teléfono del cliente</p></figcaption></figure>

A continuación, conecta una flecha desde este bloque y establece la expresión regular adecuada como condición de la flecha.

<figure><img src="/files/f3188ee3359d851c3f7a5e1dddff70a20834f62a" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Como se mencionó anteriormente, no olvides configurar la opción de coincidencia en "Expresión regular" para evitar errores del chatbot.
{% endhint %}

Con la condición de expresión regular, el chatbot solo aceptará números de teléfono como dígitos y correos electrónicos en el formato estándar correcto.

Si el cliente envía un mensaje que no es un número de teléfono válido (o correo electrónico), puedes crear un bloque que le diga al cliente que su entrada es incorrecta:

<figure><img src="/files/360ffe7d2c924f1fa0ff290993180684ad3c21b4" alt="" width="489"><figcaption></figcaption></figure>

Desde el bloque donde pediste al cliente que enviara su número de teléfono, crea una segunda flecha y en el nuevo bloque escribe un mensaje como: "Esto no es un número de teléfono. ¡Por favor, introduce tu número de teléfono!"

<figure><img src="/files/4c87a63fb5ed0f291460210b4ec370ee94a7fcc1" alt=""><figcaption></figcaption></figure>

Elige el tipo de bloque "No estado" (ver captura arriba). Este tipo de bloque no tiene condiciones como el bloque "Estado del diálogo" y no puedes navegar hasta él directamente.

El bloque "No estado" es perfecto en nuestro flujo porque el usuario no podrá avanzar desde el bloque anterior sin introducir su número de teléfono, lo que garantiza que lo proporcione para continuar por el embudo.

<figure><img src="/files/afb0fb794d939c0a660444ece3a3a4ba4d444bec" alt="" width="458"><figcaption></figcaption></figure>

{% hint style="info" %}
Puedes leer sobre el bloque "No estado" y sus funciones en el artículo llamado "Bloque no estado". <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

</details>

{% hint style="info" %}
Puedes encontrar más detalles sobre las expresiones regulares en el artículo titulado "Lista de expresiones regulares útiles". <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

### ¿Cómo averiguar el número de suscriptores del bot?

La sección "Analítica" muestra tanto el número total de clientes como los números desglosados por plataformas de mensajería. <mark style="color:rojo;">**ссылка**</mark>

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

<figure><img src="/files/891f4383f1b982b1322da8148488a5598a013513" alt="" width="563"><figcaption></figcaption></figure>

### Cómo hacer que el bot inicie la conversación por sí mismo

Cada mensajero tiene su propia configuración que permite al bot enviar el primer mensaje.&#x20;

{% hint style="info" %}
El artículo "Primer mensaje en mensajeros" está aquí. <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

### ¿Cómo enviar un mensaje de "Seguimiento"?

A veces un cliente puede dejar de avanzar por el embudo por razones personales. Para recordarle tu marca al cliente, puedes enviar un mensaje de seguimiento usando el bloque "No estado".

<figure><img src="/files/fd7e81aa9332593b58df5a52011edea9c9eb6200" alt=""><figcaption></figcaption></figure>

Este bloque enviará un mensaje al usuario sin moverlo a ninguna parte dentro del embudo principal.

{% hint style="info" %}
Puedes leer más sobre cómo funcionan estos bloques en el artículo "Bloques no estado". <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

También usamos un temporizador (retraso) en las flechas y ACTIVAMOS el interruptor "Cancelar si salió del bloque".

<figure><img src="/files/c4736d661cea52a1f459f4160ca0eff9ccec2c94" alt=""><figcaption></figcaption></figure>

El interruptor "Cancelar si salió del bloque" significa que la flecha solo se activará para los usuarios que, después del tiempo especificado, sigan en el bloque verde y no hayan pasado al bloque blanco.&#x20;

### ¿Cómo hacer que una secuencia de 2-3 mensajes se abra inmediatamente?

Necesitas conectar los bloques con flechas y establecer el retraso en 0 segundos en la configuración de conexión de la flecha.

<figure><img src="/files/de197bbd4709207a3c03ba5285d25dc0457cfb8c" alt=""><figcaption></figcaption></figure>

### ¿Cómo se pueden desactivar las respuestas automáticas cuando un operador o gerente se une al chat, para que el bot deje de responder?

Necesitas establecer un retraso después de la respuesta del operador.

<figure><img src="/files/d937d9a2ee699b0b13409da8c0b455ed29be6589" alt=""><figcaption></figcaption></figure>

### ¿Cómo puedes hacer seguimiento de si una persona hizo clic en el enlace del mensaje anterior?

Para hacerlo, necesitas usar la función de proxy-link.

Vamos a crear una variable llamada link y asignarle el valor de proxy() con tu enlace:

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

A continuación, crea un botón con su URL configurada en la variable link:

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

Añade el botón al bloque y pruébalo. En la conversación del cliente, verás una notificación como esta en la sección correspondiente:

<figure><img src="/files/7f520d47e242caf5aa05caf6c5f084323dc382a9" alt="" width="519"><figcaption></figcaption></figure>

Video tutorial

{% embed url="<https://www.youtube.com/watch?t=164s&v=2J25l8g8yYo>" %}

### Quiero ejecutar anuncios segmentados para este bot. ¿Dónde puedo obtener su enlace?

Puedes crear un sitio web (landing page) que contenga enlaces a los bots.

<figure><img src="/files/d3a80a9bfddd2be5f3e8bf08ca16be339ab8fab9" alt=""><figcaption></figcaption></figure>

Usar un sitio web o landing page no es obligatorio; simplemente puedes usar enlaces proxy.

{% hint style="danger" %}
¡No puedes usar enlaces de botones de la mini landing page!
{% endhint %}

### ¿La función "Retraso de tiempo" se usa para enviar un mensaje en una fecha y hora determinadas?

Así es. El mensaje se enviará en la fecha y hora establecidas en la configuración de la flecha (conexión).

<figure><img src="/files/5e79a1465f5b4c90fd40b6df164d53a444f36618" alt=""><figcaption></figcaption></figure>

Si se establece un retraso antes del envío, este retraso se añadirá a la hora especificada. Por ejemplo, el mensaje se enviará el 21/07/2025 a las 11:00 porque el retraso establecido en el campo "Retraso antes de la respuesta" se suma a la hora establecida en el campo "Hora de envío".

### ¿Es posible crear dos bots diferentes dentro de una sola cuenta?

Puedes crear cualquier cantidad de proyectos dentro de una sola cuenta.

### ¿Es posible configurar una flecha basada en temporizador con una condición de transición para que no se programe después de cada mensaje del cliente?

Si por alguna razón desactivaste "Cancelar mensajes programados" pero aún usas una transición basada en temporizador con una condición, recomendamos añadir #{question} al campo "Cadenas a las que no responder".

<figure><img src="/files/11f58f6f4e446a375b47a141b574bf649f4abb2d" alt=""><figcaption></figcaption></figure>

### ¿Por qué el texto "\&para" escrito en el bloque se reemplaza por "¶"?

Desafortunadamente, en este caso interviene el propio navegador, detectando lo que cree que es un error y reemplazando automáticamente \&para por ¶, que luego se muestra como el símbolo "¶". Para evitar este problema, recomendamos usar \&Para en su lugar.

### ¿Es posible configurar notificaciones a nuestro administrador cuando un cliente envía un mensaje en el chat en línea?

Sí, es posible. Puedes encontrar más detalles sobre esto en el artículo:

{% embed url="<https://docs.salebot.pro/api-v-konstruktore-salebot.pro/otpravka-zayavok-v-messendzhery>" %}

### ¿Es posible tener diferentes enlaces al bot con distinta lógica?

<details>

<summary>Mensaje para soporte:</summary>

"¡Buenas tardes! Tenemos la siguiente situación:\
Tenemos dos enlaces idénticos que llevan al mismo sitio web, pero hicimos la división para entender de dónde vienen los leads.

¿Es posible hacer esto usando solo un bot?

En otras palabras, un enlace estará en el encabezado del perfil de Telegram y el otro se usará en nuestros anuncios, y queremos separar estos dos canales utilizando un solo bot."

</details>

&#x20;Sí, puedes crear dos sitios web (landing pages) en el constructor y asignar a cada uno su propia etiqueta:

1. Crea dos sitios con etiquetas diferentes:

<figure><img src="/files/19cbaf9b9602abe4b53bd37d80dd388459238ade" alt=""><figcaption></figcaption></figure>

2. Luego, en los bloques iniciales, especifica las etiquetas en la condición del bloque:

a) En otras palabras, cuando un usuario entra al mensajero a través de la landing page "Course website", se aplicará esta configuración:

<figure><img src="/files/f2fc7ec705617e47237259901f1068a7f7b43c6c" alt=""><figcaption></figcaption></figure>

b) Cuando un usuario entra al mensajero desde la landing page "Training", se activará el segundo embudo:

<figure><img src="/files/7d9c0e671fa7afc629a1cb0d5601ef27418ab226" alt=""><figcaption></figcaption></figure>

### ¿Es posible enviar un mensaje al día siguiente del primer mensaje del bot?

<details>

<summary>Mensaje para soporte: </summary>

"Tengo la siguiente situación: una persona hace clic en un anuncio y entra al bot, recibiendo un mensaje de bienvenida. Necesito enviarle un enlace exactamente a las 12 PM del día siguiente. ¿Cómo puedo configurarlo?"

</details>

Sí, puedes. En el campo "fecha de envío" de la flecha, necesitas especificar la variable next\_day junto con la hora de envío deseada.

<br>

<figure><img src="/files/7a96f808b4fe253dc2ba9dd98cf034cff25f781c" alt=""><figcaption></figcaption></figure>

### ¿Cómo puedo configurar el bot para que no interfiera en la comunicación entre clientes y operadores?

En la **configuración del proyecto**, hay un campo llamado "Tiempo en minutos durante el cual el bot hace una pausa después de la respuesta del operador."

<figure><img src="/files/7884b3ab53ea1bf63cc6d9ccd18220419fa337fb" alt=""><figcaption></figcaption></figure>

La cuenta regresiva comienza desde el momento en que el operador envía un mensaje. Si por accidente estableces un valor demasiado alto y el bot deja de responder al cliente durante demasiado tiempo, establece el campo en 0 y notifica al cliente.

### ¿Cómo configurar la baja a través del chatbot?

{% embed url="<https://youtu.be/XQSgg-nPSwc>" %}

## ARCHIVOS ADJUNTOS

### ¿Puedo adjuntar imágenes?

Sí, el bot puede enviar imágenes en los mensajes. Para hacerlo, en el constructor selecciona el bloque deseado, añade un archivo adjunto y elige el tipo adecuado (por ejemplo, imagen):

<figure><img src="/files/26ca9207f8a858e26d3b00d7de092a002ad67180" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Más detalles sobre el envío de archivos adjuntos se pueden encontrar aquí. <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

### ¿Cómo puedo enviar varias imágenes (archivos)?

Ahora los bloques admiten la adición de varios archivos adjuntos del mismo tipo:

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

También puedes crear varios bloques consecutivos, cada uno enviando un archivo adjunto sin texto, especificando la variable #{none} en el campo de respuesta.

### ¿Por qué llegan enlaces en lugar de archivos?

Esto significa que seleccionaste el tipo de envío de archivo como un enlace, o hubo un error al enviar el archivo. Se recomienda comprobar si el archivo existe en el enlace.

Aquí hay algunos detalles sobre el envío de archivos:

1. Al subirlos, los archivos deben tener **nombres diferentes** porque se guardan en el servidor. Cada proyecto tiene su propia carpeta y no se permiten nombres de archivo duplicados.
2. Si envías un archivo como enlace, asegúrate de que el enlace funcione.
3. Los archivos de vídeo enviados como "vídeos para ver" no son compatibles.
4. Eliminar un bloque también elimina el archivo adjunto.

### ¿Cómo puedo hacer que aparezca una vista previa del enlace?

Al agregar enlaces en el texto del mensaje, puedes habilitar la visualización de vista previa del enlace de la siguiente manera:

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

La transformación de un enlace en una vista previa atractiva al enviarlo en redes sociales o mensajeros como **Telegram, WhatsApp, Facebook** se gestiona mediante el marcado Open Graph.

> El marcado Open Graph consiste en etiquetas meta adicionales que incluyen el título (og:title), la descripción (og:description) y la imagen (og:image).

Cuando **cambias la imagen** o la descripción de una vista previa de enlace, necesitas **limpiar la caché** usando herramientas especiales.

### ¿Cuál es el tamaño máximo de archivo?

El tamaño máximo de archivo para subir en el constructor es de 20 MB; no hay límites de tamaño al enviar mediante un enlace.

### ¿Cómo puedo enviar un texto o una imagen aleatorios?

A menudo recibimos preguntas sobre cómo enviar un valor, una imagen, etc., seleccionados aleatoriamente de un conjunto de datos. Aquí tienes una explicación detallada:

#### Formato de la función:

**random(low, high)** -  Para obtener un número aleatorio,&#x20;la función toma dos parámetros como entrada: el límite inferior y el límite superior.\
Ejemplo: `random(-10,10)`\
`El resultado es un entero entre -10 y 10.`

#### Obtención de un valor aleatorio de un conjunto de datos

Por conjunto de datos entendemos cualquier fuente de información almacenada: una matriz, un diccionario o una tabla.

Veamos un ejemplo usando una matriz:

1. Declaración de la matriz:\
   `text = {`   \
   `"1": "La soleada Italia te espera",`   \
   `"2": "Creo que la elegante Francia te levantará el ánimo",`   \
   `"3": "Es hora de visitar las costas de la Crimea natal",`   \
   `"4": "Explora los rincones de tu patria"`   \
   `}`

   `picture = {`   \
   `"1": "https://i.ibb.co/k4prZK0/itperv.jpg",`   \
   `"2": "https://i.ibb.co/mTthk8t/image.jpg",`   \
   `"3": "https://i.ibb.co/dJ1d6XK/5d42d4f8a593ad12cf3fb394-1.jpg",`   \
   `"4": "https://i.ibb.co/Y3YYGQD/DSCF6408-2.jpg"`   \
   `}`
2. &#x20;***Selecciona un valor aleatorio:***\
   *vibor=random(1,4)*
3. *Obtén los valores de las matrices usando el número seleccionado:*\
   *txt = get(text, '#{vibor}')*\
   *pct = get(picture,'#{vibor}')*
4. *Muestra los resultados al cliente.*\
   \
   *Ejemplo:*&#x20;

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

Cuando trabajas con tablas, el enfoque es el mismo que con matrices y diccionarios: primero debes completar los datos y luego leer una fila seleccionada aleatoriamente de la tabla.

## EMBUDO

### ¿Cómo puedo dividir un embudo por mensajeros?

Para identificar de qué mensajero proviene el cliente, existen las variables integradas #{client\_type} y #{messenger}. Ambas contienen información del mensajero, pero #{client\_type} devuelve un número, mientras que #{messenger} devuelve el nombre.

Por ejemplo, si una persona viene del Chat en línea, #{client\_type} devuelve 5 y #{messenger} devuelve "Online-chat".

Aquí están los valores de client\_type:

<table><thead><tr><th width="195.3359375">Valor</th><th width="301.41796875">Mensajero</th></tr></thead><tbody><tr><td>1  </td><td>Telegram </td></tr><tr><td>2  </td><td>Viber</td></tr><tr><td>3  </td><td>Facebook <em>mensajero</em></td></tr><tr><td>5  </td><td>chat en línea</td></tr><tr><td>10</td><td>Instagram</td></tr><tr><td>14 </td><td>correo electrónico </td></tr><tr><td>16</td><td>Cuenta empresarial de Telegram </td></tr></tbody></table>

{% hint style="info" %}
Puedes encontrar más detalles sobre las variables aquí. <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

Veamos algunos ejemplos:

Para determinar desde qué mensajero escribe el cliente, crea 3 ramas. En el campo "Variable para comparación" de cada flecha, especifica las condiciones correspondientes:

<figure><img src="/files/9bc29feb5047ec44824c56ac876dfee2c11174b4" alt=""><figcaption></figcaption></figure>

Según el mensajero que use el cliente, seguirá la ruta adecuada en el embudo y llegará al bloque correspondiente.

1. Si el cliente escribe a través de Telegram, será dirigido al bloque llamado "Eres de Telegram":

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

3. Si el cliente escribe desde otro mensajero o desde el chat en línea, será dirigido al bloque llamado "No viniste de Telegram":

<figure><img src="/files/213308480edee66197463a8f38cdb5e8640be20c" alt="" width="563"><figcaption></figcaption></figure>

{% embed url="<https://youtu.be/Ryt4aRHjhos>" %}

### ¿Cómo puedo dividir un embudo en función de diferentes accesos?

Para los usuarios conectados a varias cuentas dentro del mismo mensajero, puede ser difícil separar la funcionalidad del embudo por cuenta. Para resolver esto, existe una variable integrada llamada #{group}. Devuelve el identificador de la cuenta del bot con la que interactúa el cliente.

<mark style="color:verde;">**Ejemplo:**</mark>

En la sección "Canales", hay dos bots de Telegram conectados. Por favor, copia el group\_id:

<figure><img src="/files/dee4c28476e2e4f224d7a870feb0a35f60e246ed" alt=""><figcaption></figcaption></figure>

Puedes usar la comparación del valor de la variable group tanto en bloques condicionales como en flechas. Para ello, usa **"Variable para comparación"** campo.

***Divide los embudos en los bloques iniciales:***

En estos bloques, las condiciones para iniciar el embudo son las mismas, pero el campo "Variable para comparación" comprueba el valor de la variable group.

Este bloque con la condición "start" solo se activará en el bot correspondiente:

<figure><img src="/files/92761311b5f4964d7d6c29f15c16ff3e2b9cd1dd" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/57000382f150ec22e85603c78df7499a4ab071dd" alt="" width="563"><figcaption></figcaption></figure>

Para dividir el embudo por accesos al bot, también puedes comparar el valor de la **variable group en las conexiones** (flechas). De este modo, según el bot que use el cliente, los usuarios recibirán mensajes diferentes en etapas específicas del embudo.

<figure><img src="/files/5989239580a03b37fe2c8e8549a3e8f035029ff3" alt="" width="563"><figcaption><p>Aquí hay una forma de configurar las flechas</p></figcaption></figure>

{% hint style="info" %}
Puedes encontrar más detalles sobre las variables aquí. <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

{% embed url="<https://youtu.be/rTR2dG2Crpk>" %}

### ¿Cómo puedo notificar a un administrador si un usuario envía un mensaje fuera del embudo?

Hay varias formas de manejar esto.

Opción 1: Crea un bloque "No estado con condición" que reaccione a mensajes fuera de las condiciones definidas del bot, y configura la calculadora: message(187235469, 'Hizo una pregunta <https://mavibot.ai/projects/#{project\\_id}/clients/#{client\\_id}>') donde el primer parámetro (187235469) es el client\_id del gerente.

{% hint style="info" %}
Puedes aprender más sobre cómo funciona la función message() en este artículo. <mark style="color:rojo;">**ссылка**</mark>
{% endhint %}

Opción 2:

En la configuración del proyecto, pon esto en el campo "Mensaje si el bot no sabe la respuesta":

&#x20;\#{substring(message(187235469,'Hizo una pregunta <https://salebot.pro/projects/#{project\\_id}/clients/#{client\\_id}'),4)}>.

<figure><img src="/files/9934d0175f5c17d1731799c7f1c7d75d8fb58893" alt=""><figcaption></figcaption></figure>

Entonces el administrador de tu proyecto recibirá una notificación por cualquier mensaje que el bot no sepa responder.

## OTROS

### ¿Dónde puedo encontrar el número del proyecto?

Puedes encontrar el número del proyecto en la barra de direcciones de tu navegador:

<figure><img src="/files/a43087d46bf6d4995cb907aca1a89bd3cebfed80" alt=""><figcaption></figcaption></figure>

Además, puedes encontrarlo en la lista de proyectos:

<figure><img src="/files/b9805cc71ef356375cde2f7c24c8a0142cf4a337" alt=""><figcaption></figcaption></figure>

### ¿Cómo actualizar la caché del enlace de Open Graph?

#### Telegram

Inicia el bot @webpagebot y envía el enlace deseado. Luego borra la caché seleccionando uno de los comandos \[update …].

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

#### Facebook

Ve a la página del depurador de compartición, introduce el enlace en el campo y haz clic en **Depurar**. Luego selecciona "Scrape again" para actualizar la imagen y la descripción del enlace.

Para WhatsApp, los enlaces normalmente se actualizan automáticamente.

<figure><img src="/files/7df65d42610084fe9f7a02e5fdfba2a1fc9920c9" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/947fb44c185135f912c602f849f772292b855f9d" alt=""><figcaption></figcaption></figure>

### ¿Cómo comprobar si un participante del chat está en una lista específica?

Así es como aplicarlo en la práctica:\
Imagina que has compartido un enlace a un chat privado. Sí, el enlace es de un solo uso, pero un cliente astuto podría unirse al chat desde la cuenta de otra persona. El bot no ha visto a este usuario antes, así que no puede expulsarlo tras el impago, y sigue consumiendo tu contenido gratis.

Para evitar esto:

* Añade a los usuarios de pago a una lista
* Crea una lista separada para curadores/administradores/miembros VIP
* Cuando alguien nuevo se une al chat, el bot comprueba si está en alguna de las listas. Si no, se le elimina sin piedad.<br>

Así que las funciones que necesitarás para esta configuración son:\
\- [**add\_to\_list(número de lista)**](https://docs.salebot.pro/peremennye-1/kalkulyator#dlya-raboty-so-spiskami)- para añadir un usuario a una lista\
\- [**tg\_create\_chat\_invite\_link(platform\_id, member\_limit=None, hours=None, request=None)** ](https://docs.salebot.pro/peremennye-1/api-v-kalkulyatore#kak-sozdat-ssylku-na-vstuplenie-v-chat) - para crear un enlace de invitación al chat (gestiona la devolución de llamada)\
\- [**some\_client\_in\_list(list\_id, recepient)**](https://docs.salebot.pro/peremennye-1/api-v-kalkulyatore#kak-proverit-sostoit-li-uchastnik-chata-v-opredelennom-spiske) - para comprobar si un participante está en una lista específica\
\- [**tg\_ban\_chat\_member(platform\_id, user\_id, hours=99999, revoke\_messages=True)**](https://docs.salebot.pro/peremennye-1/api-v-kalkulyatore#kak-zablokirovat-polzovatelya) - para expulsar/bloquear a un usuario del chat

### ¿Cómo puedo obtener enlaces a los mensajeros?

Puedes usar el enlace a tu bot en el mensajero para invitar a los clientes.

Los enlaces de mensajeros se pueden encontrar en la sección "Canales":

<figure><img src="/files/25f740d629af6f6a5f8aadafa8003fd0a4922acb" alt=""><figcaption></figcaption></figure>

A continuación, selecciona el mensajero para el que deseas obtener el enlace. Cada mensajero conectado tiene su propio enlace único.

También puedes crear un sitio web donde se mostrarán todos los enlaces de los mensajeros:

<figure><img src="/files/d3a80a9bfddd2be5f3e8bf08ca16be339ab8fab9" alt=""><figcaption></figcaption></figure>

No es obligatorio usar un sitio web o una landing page; simplemente puedes usar enlaces proxy.


---

# 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/es/faq/preguntas-frecuentes.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.
