# Funciones de la API de Telegram

Las funciones de la API amplían significativamente las capacidades de un bot en Telegram. Al usar las funciones de la API, puedes trabajar con archivos adjuntos, grupos y chats en Telegram; por ejemplo, automatizar el bloqueo o desbloqueo de usuarios, ¡y mucho más!

{% hint style="info" %}
Origen: [API del bot de Telegram](https://core.telegram.org/bots/api)
{% endhint %}

{% hint style="warning" %}
¡Importante!&#x20;

Para entender cómo trabajar con las funciones de la API, recomendamos encarecidamente revisar las reglas para especificar funciones y parámetros en la calculadora.

<mark style="color:rojo;">**NOTACIÓN:**</mark>

<mark style="color:rojo;">**!**</mark> — un signo de exclamación indica parámetros obligatorios

**parameter=None** — esto muestra el valor predeterminado para el parámetro especificado.

Es <mark style="color:rojo;">**incorrecto**</mark> copiar simplemente el texto de la función de la documentación, así: tg\_send\_message(platform\_id, "Some text", client\_message\_id=61818138, reply\_markup=None, parse\_mode=None, disable\_web\_page\_preview=0, protect\_content=False)

Los valores después de los signos igual representan los valores predeterminados de cada parámetro. Por lo tanto, si no necesitas un parámetro concreto pero sí necesitas uno que vaya después, no puedes simplemente omitir el que no se usa; en su lugar, debes pasar explícitamente su valor predeterminado.

Así pues, la <mark style="color:verde;">**correcta**</mark> uso sería: tg\_send\_message(platform\_id, "Some text", 61818138, None, None, 0, True)
{% endhint %}

### ¿Dónde puedo obtener el <mark style="color:rojo;">platform\_id</mark> para enviar notificaciones?

* Necesitas tener un bot de Telegram conectado a tu proyecto.
* Envía cualquier mensaje a este bot desde la cuenta de Telegram en la que quieras recibir notificaciones.
* En la lista de clientes del proyecto, selecciona el diálogo del cliente al que quieres enviar solicitudes.
* Copia el valor del ID del campo del mensajero.

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

<details>

<summary>Ejemplo de pasar el <mark style="color:rojo;">platform_id</mark> parámetro:</summary>

1. El parámetro platform\_id puede pasarse sin especificar explícitamente valores numéricos.

<figure><img src="/files/6f7cd7a806d1ee02138d70616475d7f04d1b7e25" alt=""><figcaption><p>platform_id se proporcionó sin ningún valor</p></figcaption></figure>

`react = tg_set_reaction(platform_id, 1556, '👌')`

Las funciones con este parámetro funcionarán incluso sin especificar explícitamente un valor de platform\_id.\
Importante: En la mayoría de las funciones, este parámetro es obligatorio y no debe omitirse. <br>

2\. Si necesitas usar la función en un chat, canal o grupo específico, debes proporcionar el platform\_id como un valor numérico.

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

En la función **tg\_send\_message(!platform\_id, !text)** mostrada arriba, la plataform&#x61;**\_id parameter** se pasa usando comillas que encierran un valor numérico:

`tgmess = tg_send_message('1234566788', '¡Hola!')`&#x20;

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

</details>

### Cómo definir botones en el parámetro reply\_markup

**Ejemplo de botones de respuesta:**

`opts = {"keyboard": [[{"text": "Izquierda"}, {"text": "Derecha"}]]}`

**Ejemplo de botones en línea:**

opts = {"inline\_keyboard": \[\[{"text": "Paquete 1","callback\_data":1}, {"text": "Paquete 2","callback\_data":2}]]}

### Cómo usar el formato de texto (Markdown) en el parámetro parse\_mod&#x65;**?**&#x20;

El **parse\_mode** el parámetro da formato a todo el texto o a partes de él en *cursiva* o **negrita**. Puede tener los valores: html, markdown o markdownV2.

1. <mark style="color:azul;">**Si eliges html:**</mark>

&#x20;        para **texto en negrita**, usa  `"<b>caption</b>"`

&#x20;        para *texto en cursiva*, usa `"<i>caption</i>"`

2. <mark style="color:azul;">**Para Markdown:**</mark>

&#x20;        para **texto en negrita**, usa  `"*caption*"`

&#x20;        para *texto en cursiva*, usa  `"_caption_"`

**Ejemplo de envío de texto en cursiva:**\
`tg_send_message(47615196, "<i>italic</i>",None,None,"html")`

**Ejemplo de envío de texto en negrita:**\
`tg_send_message(platform_id, '*test*', None, None, 'markdown')`


---

# 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.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.
