# Funciones para enviar archivos adjuntos en mensajes

## Cómo enviar documentos

<details>

<summary>Enviar documento  tg_send_document() </summary>

<mark style="color:rojo;">**!**</mark> Estas funciones le permiten enviar archivos de cualquier tipo. Formatos recomendados: **GIF, PDF, ZIP** hasta **2 GB**.

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>&#x20;

**tg\_send\_document(platform\_id, document, caption, reply\_markup, parse\_mode,reply\_to\_message\_id, protect\_content, disable\_notification**, **message\_thread\_id, entities)**&#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — identificador del cliente en Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii) &#x20;

<mark style="color:rojo;">**!**</mark>**&#x20;document** - enlace al documento en el servidor de Telegram. Se explica cómo obtener el enlace mediante tg\_request [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md).&#x20;

**caption** - descripción, hasta 1024 caracteres

**reply\_markup** — configuración de botones [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)&#x20;

**parse\_mode** — formato del texto en la descripción (negrita o cursiva)  [ **\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)**.** Valores posibles: html, markdown, markdownV2. ссылка

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''.

**disable\_notification** — marca para controlar las notificaciones de sonido (predeterminado: 0).\
1 - enviar sin notificación, 0 - enviar con notificación

**message\_thread\_id** — identificador del hilo (disponible en supergrupos con la funcionalidad de foro)\
\
**entities** — le permite reutilizar texto preformateado con estilos. Simplemente defina el desplazamiento de caracteres y el rango para el formato. Ejemplo disponible en tg\_request en el campo correspondiente. Debe ser un diccionario.\
\
Ejemplo de cómo pasar el parámetro: \
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
En este ejemplo, solo se muestra el diccionario, mientras que el texto real del mensaje se define en una variable aparte.

Para simplificar la descripción de un conjunto de botones, puede usar el siguiente [truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button).&#x20;

</details>

<details>

<summary>Enviar varios documentos u otros archivos tg_send_some_document()</summary>

<mark style="color:rojo;">**!**</mark> Estas funciones le permiten enviar archivos de cualquier tipo. Formatos recomendados: **GIF, PDF, ZIP** hasta **2 GB**.

**tg\_send\_some\_document(platform\_id, document\_list, disable\_notification, protect\_content, reply\_to\_message\_id, message\_thread\_id)**

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — identificador del cliente en Telegram al que debe enviarse el mensaje  [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)&#x20;

<mark style="color:rojo;">**!**</mark>**&#x20;document\_list** - un array de documentos. Abajo se proporciona un ejemplo de cómo construir dicho array

**disable\_notification** —   marca para controlar las notificaciones de sonido (predeterminado: 0).\
1 - enviar sin notificación, 0 - enviar con notificación

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''.

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**message\_thread\_id** — identificador del hilo (disponible en supergrupos con la funcionalidad de foro)

**Ejemplo de construcción de un array document\_list:**\
'\[\["Enlace del documento", "caption", "parse\_mode"], \["Enlace del documento 2"], \["Enlace del documento 3", "caption"]]'&#x20;

**Ejemplo de formato de datos para un solo documento** \
\["Enlace del documento", "caption", "parse\_mode"]&#x20;

<mark style="color:rojo;">**¡El orden de los parámetros es importante!**</mark> Al crear un array de documentos, las comillas " " pueden omitirse.

**Descripción de los parámetros del array document\_list:**\ <mark style="color:rojo;">**!**</mark>**&#x20;Enlace del documento** - enlace al documento desde el servidor de Telegram. Se explica cómo obtener el enlace mediante tg\_request [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md)   \
**caption** — descripción de hasta 1024 caracteres\
**parse\_mode** — formato de la descripción, es decir, resaltar texto en negrita o cursiva  [**\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)

</details>

<details>

<summary>Ejemplo</summary>

Veamos un ejemplo de envío de un solo documento, añadiendo botones inline y una descripción al documento:

1. Primero, obtenga el enlace a su documento. Puede encontrar una explicación detallada de cómo hacerlo [aquí.](/doc/es/chatbot/mensajeros/telegram/webhook.md#how-to-get-a-media-link-using-a-variable)
2. Cree un bloque y establezca las variables como se muestra en la captura de pantalla:<br>

   <div data-with-frame="true"><figure><img src="/files/a89e33270b90fb67e52099c3234f2db4fc090eb7" alt="" width="563"><figcaption></figcaption></figure></div>
3. Envíe el bloque a nosotros mismos y veamos el resultado de nuestro trabajo:

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

Ahora veamos el envío de varios documentos.

1. Aquí también debe obtener un enlace interno de Telegram para cada documento y formar un array.\
   lnkdoc='\[\["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document1"],\["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document2"]]'
2. Por último, arme la función para enviar documentos:

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

3\. Y compruebe el resultado del trabajo:

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

</details>

<details>

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

<mark style="color:rojo;">Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces</mark>

Ejemplo de código para enviar un solo documento:

```
lnkdoc= "BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ"
opts = {"inline_keyboard": [[{"text": "Excelente","callback_data":"Answer1"}, {"text": "No aceptado","callback_data":"Answer2"}]]}
soob=tg_send_document(platform_id, lnkdoc, "Envío de documento", opts) 
```

Ejemplo de código para enviar varios documentos:

```
lnkdoc='[["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document1"],["BQACAgIAAxkBAAIQA2O8oEMNYPTgjLvglZ63HIYYOBwFAALvHwACtjXoSXFhhNvRN6MGLQQ", "Document2"]]'
soob=tg_send_some_document(platform_id, lnkdoc)
```

</details>

## Cómo enviar un audio / audio de voz

<details>

<summary>Enviar mensaje de audio <strong>tg_send_voice(</strong>)</summary>

<mark style="color:rojo;">!</mark> Esta función permite enviar archivos de voz de tipo .OGG codificados con OPUS, de hasta 2 GB de tamaño.

<mark style="color:predeterminado;background-color:green;">**¡Funciona solo con la cuenta empresarial de Telegram!**</mark>

**tg\_send\_voice(platform\_id, voice, caption, reply\_markup, parse\_mode, reply\_to\_message\_id, protect\_content, disable\_notification, message\_thread\_id, entities)**&#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — identificador del cliente en Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;voice** - enlace al mensaje de voz en formato .OGG

**caption** - descripción hasta 1024 caracteres

**reply\_markup** — configuración de botones [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**parse\_mode** — formato del texto en la descripción en negrita o cursiva [ **\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)**.** Valores posibles:  html, markdown, markdownV2.

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**protect\_content** — marca para proteger el contenido de ser copiado. Para activarla, pase cualquier valor excepto 0, False o comillas vacías ''.

**disable\_notification** — marca para enviar un mensaje con notificación de sonido (el valor predeterminado es 0)   1 - desactivar notificación al recibir, 0 - enviar con notificación

**message\_thread\_id** — identificador del tema (disponible en supergrupos si la función de foro está habilitada).\
\
**entities** —con este parámetro puede simplemente copiar texto formateado con todas sus funciones y especificar desde qué carácter hasta cuál se mostrará con un estilo particular. Puede comprobar un ejemplo en tg\_request en el campo correspondiente. El parámetro debe ser un diccionario. \
\
Ejemplo de paso del parámetro: \
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
El ejemplo muestra solo un diccionario, mientras que el texto del mensaje en sí se define en una variable.

Para simplificar la descripción del conjunto de botones, puede usar lo siguiente [truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Enviar varios mensajes de audio <strong>tg_send_some_audio()</strong></summary>

<mark style="color:rojo;">**!**</mark> Esta función permite enviar archivos de audio de tipo .MP3 o .M4A con un tamaño máximo de 2 GB.

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>&#x20;

**tg\_send\_some\_audio(platform\_id, audio\_list, disable\_notification, protect\_content, reply\_to\_message\_id, message\_thread\_id)**&#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — identificador del cliente en Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;audio\_list** - un array de archivos de audio (detalles abajo)

**disable\_notification** —  marca para enviar el mensaje con o sin notificación de sonido (predeterminado: 0).                                                                                                                   1 — enviar sin notificación, 0 — enviar con notificación

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor excepto 0, False o comillas vacías ''.

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**message\_thread\_id** —  ID del tema (disponible en supergrupos con funcionalidad de foro)

**Ejemplo de construcción del array audio\_list:** \
'\[\["Enlace de audio 1", "caption", "parse\_mode"], \["Enlace de audio 2"], \["Enlace de audio 3", "caption"]]'&#x20;

**Ejemplo de un solo audio:** \
\["Enlace de audio", "caption", "parse\_mode"]&#x20;

<mark style="color:rojo;">**¡El orden de los parámetros es importante!**</mark> Al construir el array de archivos de audio, las comillas "" pueden omitirse

**Descripción de los parámetros:** \ <mark style="color:rojo;">**!**</mark>**&#x20;Enlace de audio** - enlace a un archivo de audio en formato .OGG\
**caption** — descripción (hasta 1024 caracteres) \
**parse\_mode** —formato del texto en el caption en negrita o cursiva   [**\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)

</details>

<details>

<summary>Ejemplo</summary>

Como se indicó anteriormente, la función trabaja con archivos .OGG. Por lo tanto, la primera tarea es obtener una grabación de audio en este formato. \
Si tiene un **.**&#x61;rchivo MP3, puede convertirlo a **.**&#x4F;GG usando el <https://t.me/mp3toolsbot> bot.&#x20;

A continuación, envíe el archivo resultante a usted mismo en el bot para obtener el file\_id siguiendo el algoritmo [descrito aquí. ](#documents-an-example-of-how-to-send-using-the-telegram-api)

Ahora arme la función:

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

¡Genial! ¡Bien hecho!

</details>

<details>

<summary>Ejemplo para copiar</summary>

<mark style="color:rojo;">Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces</mark>

```
tg_send_voice(platform_id, "CQACAgIAAxkBAAER70Bi8VkgNhegB-msqDWXm2qHi3n9-AAC-iAAAk6giUvIXkW-XzBN0ikE")
```

</details>

<details>

<summary>Error al enviar mensajes de voz</summary>

Si un mensaje no se envía debido a la configuración de privacidad, se devuelve el siguiente error:

<mark style="color:rojo;">{"ok":false,"error\_code":400,"description":"Bad Request: user restricted receiving of voice messages"}</mark>

Causa del error: la configuración de privacidad del usuario contiene la opción “No recibir mensajes de voz” (ya sea de todos, o solo permitiendo de ciertos usuarios):

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

Incluso si el usuario desactiva esta restricción de privacidad, el error seguirá apareciendo.

De hecho, solo eliminar completamente al cliente de la base de datos de Mavibot ayuda a superar este error, aunque el usuario ya haya habilitado los permisos.

<mark style="color:verde;">**Solución:**</mark>&#x20;

Después de que el usuario cambie su configuración de privacidad, debe esperar una pausa de 30–60 segundos (hasta que los servidores del mensajero procesen los cambios) y solo entonces enviar una solicitud API a Telegram a través del bot:\ <mark style="color:verde;">**<https://api.telegram.org/bot\\><TOKEN>/getChat?chat\_id=#{platform\_id}**</mark>

Después de esto, los datos del usuario se actualizarán y los mensajes de voz se enviarán correctamente.

</details>

## Cómo enviar animaciones

<details>

<summary>Enviar animación <strong>tg_send_animation()</strong></summary>

<mark style="color:rojo;">**!**</mark> Esta función permite enviar GIF o video H.264/MPEG-4 AVC sin sonido con un tamaño máximo de 2 GB.

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>

**tg\_send\_animation(platform\_id, animation, caption, reply\_markup, parse\_mode, reply\_to\_message\_id, protect\_content, has\_spoiler, disable\_notification, message\_thread\_id, entities, show\_caption\_above\_media)**

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje. [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;animation**- enlace a la animación. Se explica cómo obtener un enlace mediante tg\_request [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md)&#x20;

**caption** - descripción de hasta 1024 caracteres

**reply\_markup** — configuración de botones [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**parse\_mode** —formato del texto en el caption en negrita o cursiva  [**\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)**.** Valores posibles: html, markdown, markdownV2

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''.

**has\_spoiler** — habilita spoiler. Para activarlo, establezca True.

**disable\_notification** —  marca para enviar el mensaje con o sin notificación de sonido (predeterminado: 0).  1 — enviar sin notificación, 0 — enviar con notificación

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)\
\
**entities** — con este parámetro puede simplemente copiar texto formateado con todas sus funciones y especificar desde qué carácter hasta cuál se mostrará con un estilo particular. Puede comprobar un ejemplo en tg\_request en el campo correspondiente. El parámetro debe ser un diccionario.&#x20;

**show\_caption\_above\_media** - si se establece en True, el caption del mensaje se mostrará encima del medio\
\
Ejemplo de paso del parámetro:\
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
En este ejemplo, solo se muestra el diccionario, mientras que el texto del mensaje en sí se almacena en una variable

Para simplificar las descripciones del conjunto de botones, puede usar lo siguiente [truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Ejemplo</summary>

Hagamos la tarea más compleja y enviemos una animación con protección de copia y spoiler.

Como siempre, el proceso comienza con la obtención del enlace interno de Telegram para la animación seleccionada (detalles [aquí](/doc/es/chatbot/mensajeros/telegram.md)).

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

Por último, arme la función:

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

Y compruebe el resultado del trabajo:

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

</details>

<details>

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

<mark style="color:rojo;">Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces</mark>

```
animation="CgACAgIAAxkBAAIQDWO9Dbb0QODBmI_CUMhKHoWch7MDAAJBIQACtjXoScUjA-n5kGCYLQQ"
caption = "¡Feliz Año Nuevo!"
soob=tg_send_animation(platform_id, animation, caption, None, None, None, True,True)
```

</details>

## Cómo enviar videos

<details>

<summary>Enviar video usando la API de Telegram <strong>tg_send_video()</strong></summary>

<mark style="color:rojo;">**!**</mark> Esta función le permite enviar archivos MPEG4 de hasta 2 GB de tamaño. \
(Otros formatos pueden enviarse como archivos usando tg\_send\_document())

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con cuenta de Telegram Business!**</mark>&#x20;

**tg\_send\_video(platform\_id, video, caption, reply\_markup, parse\_mode, reply\_to\_message\_id, protect\_content, has\_spoiler, disable\_notification, message\_thread\_id, entities,** show\_caption\_above\_media, cover **)**

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;video** - enlace al video. Cómo obtener enlaces mediante tg\_request, vea [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md)&#x20;

**caption** - descripción de hasta 1024 caracteres

**reply\_markup** — configuración de botones  [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**parse\_mode** — formato del texto en el caption en negrita o cursiva  [**\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)**.** Valores posibles: html, markdown, markdownV2.

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''.

**has\_spoiler** — habilita spoiler. Para activarlo, establezca True

**disable\_notification** — marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)\
\
**entities** — con este parámetro puede simplemente copiar texto formateado con todas sus funciones y especificar desde qué carácter hasta cuál se mostrará con un estilo particular. Puede comprobar un ejemplo en tg\_request en el campo correspondiente. El parámetro debe ser un diccionario.&#x20;

**show\_caption\_above\_media** - si se establece en True, el texto del mensaje se mostrará encima del medio.

cover - imagen de portada del video en el mensaje. Obtener la URL mediante tg\_request es [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md). \
\
Ejemplo de paso del parámetro:\
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
En este ejemplo, solo se muestra el diccionario, mientras que el texto del mensaje en sí se almacena en una variable

Para simplificar las descripciones del conjunto de botones, puede usar lo siguiente[ truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Enviar varios videos usando la API de Telegram <strong>tg_send_some_video()</strong></summary>

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>&#x20;

**tg\_send\_some\_video(platform\_id, video\_list, disable\_notification, protect\_content, reply\_to\_message\_id, has\_spoiler, message\_thread\_id)**&#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;video\_list** - un array de archivos de video (detalles abajo)&#x20;

**disable\_notification** —  marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**has\_spoiler** — habilita el formato spoiler (opcional; establezca True para activarlo)

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)

**Ejemplo de construcción de un array de video video\_list:** \
'\[\["Enlace de video1", "caption", "parse\_mode"], \["Enlace de video2"], \["Enlace de video3", "caption"]]'

**Ejemplo de construcción de audio único :** \
\["Enlace de video", "caption", "parse\_mode"]&#x20;

<mark style="color:rojo;">**¡El orden de los parámetros es importante!**</mark> Al construir el array de archivos de video, las comillas "" pueden omitirse

**Descripción de los parámetros:** \ <mark style="color:rojo;">**!**</mark>**&#x20;Enlace de video** — URL interna de video de Telegram. Se describe cómo obtener el enlace mediante tg\_request [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md#how-to-get-webhook).\
**caption** — caption de texto de hasta 1024 caracteres\
**parse\_mode** — formato del texto en el caption en negrita o cursiva  [**\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)**.** Valores posibles:  html, markdown, markdownV2.

</details>

<details>

<summary>Ejemplo</summary>

Así que, comience por obtener el enlace al archivo que queremos enviar y luego complete los parámetros necesarios de la función:

<div data-with-frame="true"><figure><img src="/files/ced0cbcd93445af4f7ddc79df356c0a948dd0932" alt="" width="563"><figcaption><p>Obtención del enlace de video mediante tg_request</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/e9c8b16bb78e80fc12d87a1b3ba2cc04eea10942" alt="" width="563"><figcaption><p>Enviando el parámetro video</p></figcaption></figure></div>

Después de comprobarlo obtenemos el video:

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

</details>

<details>

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

<mark style="color:rojo;">Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces</mark>

```
video="BAACAgIAAxkBAAIQFmO9Ycbt5JDIr9HKQh-XkhS9FqTxAALQIwACtjXoSXKlqfbH-I_gLQQ"
soob=tg_send_video(platform_id, video
```

</details>

## Cómo enviar un video redondo

<details>

<summary>Enviar video redondo <strong>tg_send_video_note()</strong></summary>

<mark style="color:rojo;">**!**</mark> A partir de la versión 4.0, Telegram admite el envío de videos MPEG4 redondos con una duración de hasta un minuto.

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con cuenta de Telegram Business!**</mark>

**tg\_send\_video\_note(platform\_id, video\_note,  reply\_markup, protect\_content, reply\_to\_message\_id, disable\_notification,  message\_thread\_id)** &#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;video\_note** - enlace al video. Cómo obtener el enlace mediante tg\_request se describe [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md) \
**reply\_markup** — configuración de botones [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**disable\_notification** —  marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**message\_thread\_id** —   ID del hilo (disponible en supergrupos con funcionalidad de foro)

Para simplificar las descripciones del conjunto de botones, puede usar lo siguiente [truco ](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)

</details>

<details>

<summary>Ejemplo</summary>

Si tiene un video cuadrado, puede convertirlo en uno redondo usando el <https://t.me/roundNoteBot> bot:&#x20;

<figure><img src="/files/41cb574d4947e9dc231c47480ea0c64d1ced162b" alt=""><figcaption><p>Obtención del bot de video redondo mediante @roundNoteBot (https://t.me/roundNoteBot)</p></figcaption></figure>

Una vez que tenga el video redondo, envíelo a usted mismo en el bot para obtener el enlace (detalles [aquí](/doc/es/chatbot/mensajeros/telegram/api/attachment.md)),  y luego configure la función para enviar el video redondo:

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

</details>

<details>

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

<mark style="color:rojo;">Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces</mark>

```
tg_send_video_note(platform_id, 'DQACAgIAAxkBAAER6cVi6OzIezJo9FWu6WyZPzDgQX8B3QACcxsAArR3SUtRizDeiHWLNikE','','1')

```

</details>

## Cómo enviar una ubicación

<details>

<summary>Enviar geolocalización <strong>tg_send_venue()</strong></summary>

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con cuenta de Telegram Business!**</mark>&#x20;

**tg\_send\_venue(platform\_id, latitude, longitude, title, address, protect\_content, disable\_notification, reply\_to\_message\_id, reply\_markup, message\_thread\_id)**&#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;latitud** —latitud

<mark style="color:rojo;">**!**</mark>**&#x20;longitud** — longitud

<mark style="color:rojo;">**!**</mark>**&#x20;title** — título

<mark style="color:rojo;">**!**</mark>**&#x20;address** — dirección

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''

**disable\_notification** —  marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**reply\_markup** — configuración de botones  [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)

Para simplificar las descripciones del conjunto de botones, puede usar lo siguiente[ truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Ejemplo</summary>

Así que, comencemos determinando las coordenadas del lugar. Puede obtenerlas usando  [Google Maps ](https://www.google.com/maps)

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

A continuación, convierta las coordenadas obtenidas de grados decimales a formato geográfico usando cualquier [convertidor de coordenadas](https://coordinates-converter.com/en/decimal/51.000000,10.000000?karte=OpenStreetMap\&zoom=8):

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

Ahora, procedamos a completar los parámetros de la función y obtener el resultado deseado:

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

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

</details>

<details>

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

```
soob=tg_send_venue(platform_id, "48°52′", "2°4′", "¡Los sueños se hacen realidad!", "París, Torre Eiffel") 
```

</details>

## Cómo enviar contactos

<details>

<summary>Enviar contacto <strong>tg_send_contact()</strong></summary>

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>

Telegram ofrece una forma rápida de compartir contactos de su libreta de direcciones. El mensajero admite el envío de **vCard** — una tarjeta de presentación electrónica

La función tg\_send\_contact permite enviar un número de teléfono con un nombre (o nombre de la organización), así como añadir botones y habilitar la protección del contenido del mensaje.

**tg\_send\_contact(platform\_id, phone, first\_name, last\_name, protect\_content, disable\_notification, reply\_to\_message\_id, reply\_markup, message\_thread\_id)**&#x20;

<mark style="color:rojo;">**! - parámetro obligatorio de la función**</mark>

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;phone** — número de teléfono en formato internacional. Por ejemplo, para Rusia: +7XXXXXXXXXX

<mark style="color:rojo;">**!**</mark>**&#x20;nombre** y **apellido** - nombre y apellido&#x20;

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''

**disable\_notification** — marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**reply\_markup** — configuración de botones [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)

Para simplificar las descripciones del conjunto de botones, puede usar lo siguiente [truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Ejemplo</summary>

Rellene los parámetros: número de teléfono, nombre y apellido.

<div data-with-frame="true"><figure><img src="/files/0af3605d65cfaaf6de559d21cf5a89bb9fab95d2" alt="" width="563"><figcaption><p>Ejemplo de llenado de los parámetros para la función de envío de contactos.</p></figcaption></figure></div>

Vea el resultado:

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

</details>

<details>

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

```
soob=tg_send_contact(platform_id, "+79999999999", "Ann", "Test", 1) 
```

</details>

## Cómo enviar una pegatina

<details>

<summary>Enviar pegatina <strong>tg_send_sticker()</strong></summary>

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>

**tg\_send\_sticker(platform\_id, sticker\_id, protect\_content,  disable\_notification, reply\_to\_message\_id, reply\_markup, message\_thread\_id)**&#x20;

Parámetros:&#x20;

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;sticker\_id** - ID de la pegatina. Se explica cómo obtener un enlace mediante tg\_request [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md)&#x20;

**protect\_content** —  marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''

**disable\_notification** —   marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**reply\_markup** — configuración de botones [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)

Para simplificar las descripciones del conjunto de botones, puede usar lo siguiente [truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Ejemplo</summary>

Enviar una pegatina no es diferente de enviar cualquier otro archivo adjunto:\
1\. Obtenga el enlace interno de Telegram (detalles aquí) \
2\. Rellene los parámetros de la función\
3\. Envíe el bloque a usted mismo y compruebe el resultado

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

Resultado:

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

</details>

<details>

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

<mark style="color:rojo;">Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces</mark>

```
soob=tg_send_sticker(platform_id, 'CAACAgIAAxkBAAEawJ5jmNeyat8uPGBMP3JzubRNXGjH3wACrw4AAsYg4UqePobN94_jkywE')
```

</details>

## Cómo enviar una foto

{% hint style="warning" %}

#### **Entendiendo el `caption` parámetro**

El **`caption`** El parámetro proporciona texto descriptivo para una imagen (por ejemplo, un breve resumen o explicación). Funciona de la siguiente manera:

* **Con una sola imagen:** si se proporciona un caption, el mensaje contendrá tanto la imagen como el texto descriptivo.
* **Con varias imágenes:** cada imagen puede tener su propio caption individual. En este caso, cada imagen se enviará junto con su descripción específica.

**Experiencia del usuario:** el texto del caption normalmente se muestra cuando el usuario hace clic o toca la imagen.

> **Para especificaciones técnicas detalladas y el comportamiento de la API, consulte la documentación oficial de Telegram.**

**Nota:** si está siguiendo un tutorial en video, revise los pasos cuidadosamente, ya que la configuración y las interfaces pueden actualizarse con el tiempo.
{% endhint %}

<details>

<summary>Enviar foto <strong>tg_send_photo()</strong></summary>

<mark style="color:rojo;">**!**</mark> La foto no debe superar los 10 MB. El ancho y el alto totales no deben exceder los 10.000 píxeles. La proporción ancho-alto no debe exceder 20.

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>

**tg\_send\_photo(platform\_id, photo, caption, reply\_markup, parse\_mode, reply\_to\_message\_id, protect\_content, has\_spoiler, disable\_notification, message\_thread\_id, entities, show\_caption\_above\_media)**

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** —  ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;foto** - enlace a la imagen. Se explica cómo obtener un enlace mediante tg\_request [aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md).&#x20;

**caption** - descripción de hasta 1024 caracteres

**reply\_markup** — configuración de botones  [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**parse\_mode** — formato del texto en el caption en negrita o cursiva  [**\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)

**reply\_to\_message\_id -** ID del mensaje al que responder (es decir, citar)

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''

**has\_spoiler** — habilita el formato spoiler, establezca True para activarlo

**disable\_notification** —  marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)\
\
**entities** — con este parámetro puede simplemente copiar texto formateado con todas sus funciones y especificar desde qué carácter hasta cuál se mostrará con un estilo particular. Puede comprobar un ejemplo en tg\_request en el campo correspondiente. El parámetro debe ser un diccionario.

show\_caption\_above\_media - si se establece en True, el texto del mensaje se mostrará encima del medio\
\
Ejemplo de envío del parámetro: \
`entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://salebot.zmservice.ru"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]`  \
\
En este ejemplo, solo se muestra el diccionario, mientras que el texto del mensaje en sí se almacena en una variable

Para simplificar las descripciones del conjunto de botones, puede usar lo siguiente [truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)&#x20;

</details>

<details>

<summary>Enviar varias fotos <strong>tg_send_some_photo()</strong></summary>

<mark style="color:rojo;">**!**</mark> La foto no debe superar los 10 MB. El ancho y el alto totales no deben exceder los 10.000 píxeles. La proporción ancho-alto no debe exceder 20.

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con cuenta de Telegram Business!**</mark>&#x20;

**tg\_send\_some\_photo(platform\_id, image\_list, disable\_notification=0**, **protect\_content=False, reply\_to\_message\_id=0, has\_spoiler=False,message\_thread\_id)**

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

<mark style="color:rojo;">**!**</mark>**&#x20;image\_list** - array de archivos de imagen  (detalles abajo)&#x20;

**disable\_notification** —  marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**protect\_content** — marca para proteger el contenido de la copia (parámetro opcional, para activarlo pase 1 como valor)

**reply\_to\_message\_id -**  ID del mensaje al que responder (es decir, citar)

**has\_spoiler** — habilita el formato spoiler (opcional; establezca True para activarlo)

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)<br>

**Ejemplo de image\_list:**

`'[["Enlace de imagen 1", "caption", "parse_mode"], ["Enlace de imagen 2"], ["Enlace de imagen 3", "caption"]]'`

**Ejemplo de datos para una sola imagen:** \
\["Enlace de imagen 1", "caption", "parse\_mode"]&#x20;

<mark style="color:rojo;">**¡El orden de los parámetros es importante!**</mark> Al construir el array de archivos de imagen, las comillas "" pueden omitirse

**Descripción de los parámetros:&#x20;**&#x20;

<mark style="color:rojo;">**!**</mark>**&#x20;Enlace de imagen 1** - enlace de imagen. Se explica cómo obtener el enlace mediante tg\_request[ aquí](/doc/es/chatbot/mensajeros/telegram/webhook.md) &#x20;

**caption** — caption de hasta 1024 caracteres

**parse\_mode** — formato del texto en el caption en negrita o cursiva [**\*\*\***](/doc/es/chatbot/builder/telegram_messages.md)

</details>

<details>

<summary>Ejemplo</summary>

Veamos un ejemplo de función para enviar varias imágenes:

primero, cree un array de imágenes

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

A continuación, complete los parámetros de la función

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

Envíe el bloque a usted mismo y disfrute del resultado

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

</details>

<details>

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

<mark style="color:rojo;">Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces para video</mark>

```
image_list='[["https://faktoria-print.ru/wp-content/uploads/2022/07/syre-dlya-bumagi.jpg"], ["https://www.solbum.ru/upload/medialibrary/2d1/2d18bd473d50fe9c2fe6a1eb401b4fe3.JPG"], ["https://www.solbum.ru/upload/medialibrary/bb7/bb786b67b57d9ab44ef5f7b8400810bb.jpg"], ["https://obumage.net/wp-content/uploads/2017/05/tual_bumaga.jpg"]]'
soob=tg_send_some_photo(platform_id, image_list)
```

</details>

## Cómo enviar un dado

<details>

<summary>Enviar un emoji con selección aleatoria (Dice) <strong>tg_send_dice()</strong> </summary>

**tg\_send\_dice(platform\_id, emoji, reply\_markup, disable\_notification, reply\_to\_message\_id, protect\_content, message\_thread\_id)**

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>&#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;platform\_id** — ID del cliente de Telegram al que debe enviarse el mensaje [**\***](#gde-vzyat-platform_id-dlya-otpravki-uvedomlenii)

**emoji** - el emoji que se enviará. Si dejó el parámetro vacío, se enviará un dado por defecto. Puede pasar el emoji en sí como cadena o la palabra clave utilizada para representarlo

**reply\_markup** — configuración de botones  [**\*\***](#kak-propisyvat-knopki-v-parametre-reply_markup)

**disable\_notification** —  marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

**reply\_to\_message\_id -**&#x49;D del mensaje al que responder (es decir, citar)

**protect\_content** — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''

**message\_thread\_id** —  ID del hilo (disponible en supergrupos con funcionalidad de foro)

Para simplificar las descripciones del conjunto de botones, puede usar lo siguiente [truco](/doc/es/chatbot/mensajeros/telegram/buttons.md#telegram-web-application-button)&#x20;

&#x20;

**Lista posible de emojis:** \
1\) 'darts' o '🎯', valores de 1 a 6 \
2\) 'dice' o '🎲', valores de 1 a 6 \
3\) 'bowling' o '🎳', valores de 1 a 6 \
4\) 'basketball' o '🏀',valores de 1 a 5  \
5\) 'football' o '⚽', valores de 1 a 5 \
6\) 'slots' o '🎰', valores de 1 a 64&#x20;

\
Además, si un cliente envía uno de estos emojis al bot, recibirá una devolución de llamada con información sobre la puntuación y qué emoji se utilizó.

</details>

<details>

<summary>Ejemplo</summary>

La opción más simple es llamar a la función con solo un parámetro obligatorio:

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

En este caso, el cliente recibirá un dado:

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

Si el cliente lanza el dado (haciendo clic en el emoji recibido), el bot recibirá una devolución de llamada con el número de puntos obtenidos:

<div data-with-frame="true"><figure><img src="/files/4eef226ae93d1291629ccf70ad4ab83687e68226" alt="" width="553"><figcaption></figcaption></figure></div>

Puede experimentar con esta función. Por ejemplo, creemos una máquina tragamonedas y añadamos un **Puntos** botón. Cuando se pulse el botón, recibiremos el total de puntos del cliente:

<div data-with-frame="true"><figure><img src="/files/74f7a5eaf91198c3ec4d254cc50c4249fce6b22c" alt="" width="563"><figcaption><p><strong>Primer mensaje:</strong> Invitar a jugar</p></figcaption></figure></div>

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

<div data-with-frame="true"><figure><img src="/files/d467379caea8c4f703befa0f62f72fcdb08b6128" alt="" width="563"><figcaption><p>Ejemplo de bot</p></figcaption></figure></div>

</details>

<details>

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

Primer ejemplo:

```
soob=tg_send_dice(platform_id)
```

Segundo ejemplo:

<pre><code>/* Primer ejemplo */
<strong>tg_send_message(platform_id,'¡Haz clic en la máquina tragamonedas para probar tu suerte!')
</strong>opts='{"inline_keyboard": [[{"text": " 👓 ","callback_data":"Play"}]]}'
soob=tg_send_dice(platform_id, 'slots', opts)

/* Segundo bloque - Mensaje de texto */
<strong> se obtuvieron #{res[1]} puntos
</strong><strong>/* Segundo bloque - Calculadora */
</strong>res=splitter('#{question}', ' ')
balls=if(balls==None,0,balls) + int(res[1])

/* Tercer bloque - Mensaje de texto */
Tienes un total de #{balls} puntos
</code></pre>

</details>

## Cómo enviar un grupo de medios

<details>

<summary>Enviar grupo de medios tg_send_media_group()</summary>

<mark style="color:predeterminado;background-color:green;">**¡Trabaja con la cuenta empresarial de Telegram!**</mark>

Un método para enviar un grupo de fotos, videos, documentos o archivos de audio como un álbum. Si tiene éxito, se devuelve un array de los archivos enviados.

<mark style="color:naranja;">**Nota: ¡los documentos y archivos de audio no pueden agruparse con otros tipos de archivo!**</mark>

tg\_send\_media\_group(platform\_id, media\_list, disable\_notification, protect\_content, reply\_to\_message\_id, message\_thread\_id)

Parámetros:

<mark style="color:rojo;">!</mark> platform\_id — ID del cliente de Telegram al que debe enviarse el mensaje

<mark style="color:rojo;">!</mark> media\_list - un array que contiene de 2 a 10 fotos, videos, documentos o archivos de audio (detalles abajo);

disable\_notification — marca para enviar el mensaje con una notificación de sonido (predeterminado: 0).   \
1 — enviar sin notificación, 0 — enviar con notificación

protect\_content — marca para proteger el contenido de la copia. Para activarla, pase cualquier valor distinto de 0, False o comillas vacías ''

reply\_to\_message\_id - ID del mensaje al que responder (es decir, citar)

message\_thread\_id — ID del hilo (disponible en supergrupos con funcionalidad de foro);

**Contenido de los elementos del array media\_list:**

<mark style="color:rojo;">!</mark> type - tipo de archivo, “photo”, “video”, “audio” o ”document”

<mark style="color:rojo;">!</mark> media - archivo a enviar. Pase un file\_id para enviar un archivo que ya existe en los servidores de Telegram (recomendado), una URL HTTP para que Telegram obtenga el archivo de Internet o «attach://\<file\_attach\_name>» para subir un nuevo archivo usando multipart/form-data con el nombre \<file\_attach\_name>.

Leer más: <https://core.telegram.org/bots/api#sending-files>

caption — título del archivo enviado, 0–1024 caracteres.

parse\_mode — formato del texto en el caption en negrita o cursiva

Leer más: <https://core.telegram.org/bots/api#sending-files>

Ejemplo de array media\_list:

\[{"type": "photo", "media": "AgACAgIAAxkBAAIKa2W6HqQG151EaWOKnCyy8feBi8p\_AAIH1zEbicvYSfi2QYj-CMreAQADAgADeAADNAQ", "caption": "ghosts video"}, {"type": "video", "media": "BAACAgIAAxkBAAIKpGW6P\_HGDoVz7u4blDF6925WO-hmAALVPQACicvYSYwIWCJKwKIWNAQ", “caption”: “hare video”}]

</details>

<details>

<summary>Ejemplo</summary>

Veamos un ejemplo de función para enviar varias imágenes:

primero, cree un array de imágenes

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

A continuación, complete los parámetros de la función

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

Envíe el bloque a usted mismo y disfrute del resultado

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

</details>

<details>

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

<mark style="color:rojo;">Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces para video</mark>

```
image_list='[["https://faktoria-print.ru/wp-content/uploads/2022/07/syre-dlya-bumagi.jpg"], ["https://www.solbum.ru/upload/medialibrary/2d1/2d18bd473d50fe9c2fe6a1eb401b4fe3.JPG"], ["https://www.solbum.ru/upload/medialibrary/bb7/bb786b67b57d9ab44ef5f7b8400810bb.jpg"], ["https://obumage.net/wp-content/uploads/2017/05/tual_bumaga.jpg"]]'
soob=tg_send_some_photo(platform_id, image_list)
```

</details>

## Cómo enviar archivos adjuntos grandes

<details>

<summary>Ejemplo</summary>

En Telegram (tanto para cuentas empresariales como cuentas normales), puede enviar archivos adjuntos mediante un enlace:

1. Puede enviar archivos adjuntos de cualquier tamaño, evitando los límites de tamaño de archivo.
2. También puede enviar cualquier tipo de archivo adjunto que necesite.

Cómo hacerlo:

Copie el enlace de un archivo adjunto que ya esté accesible públicamente:

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

Luego, pegue el enlace copiado en la función de archivo adjunto en su bloque:

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

Listo. De esta manera, puede enviar archivos adjuntos de cualquier tipo y tamaño.

</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/es/chatbot/mensajeros/telegram/api/attachment.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.
