Cómo enviar mensajes usando una cuenta de Telegram Business
tg_send_message(platform_id, text, client_message_id, reply_markup, parse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id, entities)
Parámetros:
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram al que se debe enviar un mensaje * |
| **!** text | Texto del mensaje |
| client_message_id | ID del mensaje a citar |
| reply_markup | Configuración de botones ** |
| parse_mode | Formato de texto en negrita y cursiva en la descripción ***. Puede tener valores como html, markdown, markdownV2. |
| disable_web_page_preview | Mostrar vista previa del enlace. Para deshabilitarlo, pase 1; de lo contrario, pase 0 o déjelo vacío "". |
| protect_content | Indicador de protección de contenido. Pase cualquier valor excepto 0, False o '' para habilitarlo. |
| disable_notification | Indicador de notificación sonora (predeterminado: 0). Pase 1 para deshabilitar la notificación, 0 para habilitarla. |
| message_thread_id | ID del tema (disponible para supergrupos con funcionalidad de foro habilitada) |
| entities | Esto permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde se debe aplicar una fuente en particular. Puede encontrar un ejemplo en tg_request en el campo correspondiente. El parámetro debe ser un diccionario. Consulte la pestaña de ejemplo como referencia. |
**Ejemplo detallado**
Consideremos un ejemplo simple con un conjunto de parámetros requeridos:

El platform_id especifica el identificador de un cliente específico.
Vea el mismo ejemplo, pero usando variables:

En este ejemplo, la variable soob contendrá la respuesta del servidor después de enviar un mensaje.

Si guarda el message_id de la respuesta recibida, le permitirá trabajar posteriormente con este mensaje (editar, eliminar, reenviar, comentar).
A menudo surgen dificultades al usar todos los parámetros. Consideremos el siguiente ejemplo:
-
Primero, declare todos los parámetros utilizados en la función. Recuerde, los parámetros se pueden pasar no solo como valores, sino también como variables, lo que a menudo es más conveniente y claro. Variables como platform_id y client_message_id se pueden obtener de la tarjeta de perfil del cliente.
platform_id — ID del cliente de Telegram al que se debe enviar el mensaje *\ >Responderemos en el mismo chat donde escribe el clientetext - texto del mensaje. \ >Usamos formato de texto, por ejemplo, resaltado en negrita.
client_message_id - ID del mensaje a citar\ >En los chats, esta variable se asigna automáticamente.
reply_markup — configuración de botones **. \ >Asignémoslo a la variable opts.
parse_mode — Formato de texto en negrita y cursiva en la descripción ***. Puede tener valores como html, markdown, markdownV2. Los caracteres utilizados para formatear el texto del mensaje se describen aquí. \ >Usemos markdown.
disable_web_page_preview - Mostrar vista previa del enlace. Para deshabilitarlo, pase 1; de lo contrario, pase 0 o déjelo vacío "".\ >Podemos pasar cualquier valor ya que el texto del mensaje no contiene un enlace.
protect_content — Indicador de protección de contenido. Pase cualquier valor excepto 0, False o '' para habilitarlo.\ >No necesitamos protección de contenido, así que pasaremos una cadena vacía ''.
disable_notification — Indicador de notificación sonora (predeterminado: 0). Pase 1 para deshabilitar la notificación, 0 para habilitarla.\ >Una notificación es una ventana emergente que muestra el texto del mensaje. Habilitémosla. -
A continuación, ensamblamos la función. Recuerde asignar la función a una variable; esto le permitirá rastrear el estado de envío del mensaje.

Esto es lo que obtuvimos:
Después de que el cliente nos envíe la palabra clave test, respondemos citando su mensaje.
En ok vemos el estado de envío; luego viene la información sobre el mensaje en sí: su ID, datos del remitente y contenido.
Ejemplo con el parámetro entities
Puede almacenar la cadena original en una variable, como se muestra a continuación:
text = "qwert asdfg zxcvb poiuy lkjhg 12345"
Debe escribir el parámetro como un diccionario con los datos y especificar el formato deseado indicando las fuentes:
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"`` https://mavibot.ai"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]
Pase el parámetro al final en la función que utilice. El parámetro se puede pasar tanto a la función tg_send_message como a tg_send_message_1:
x = tg_send_message(platform_id, text, None, None, None, False, False, False, None, entities)
Para asignar texto con saltos de línea a una variable, especifique el valor de la siguiente manera:
text = "Primera línea de texto" + "\n" + "Segunda línea de texto" + "\n" + "Tercera línea"
Cómo enviar un mensaje especificando un bot de Telegram en particular
tg_send_message_1(token, platform_id, text, client_message_id, reply_markup, parse_mode, disable_web_page_preview, protect_content, disable_notification, message_thread_id, entities, business_connection_id)
| Parámetro | Descripción |
|---|---|
| **!** token | Token del bot de Telegram obtenido de BotFather |
| **!** platform_id | ID de usuario de Telegram al que se debe enviar un mensaje * |
| **!** text | Texto del mensaje |
| client_message_id | ID del mensaje a citar |
| reply_markup | Configuración de botones ** |
| parse_mode | Formato de texto en negrita y cursiva en la descripción ***. Puede tener valores como html, markdown, markdownV2. |
| disable_web_page_preview | Mostrar vista previa del enlace. Para deshabilitarlo, pase 1; de lo contrario, pase 0 o déjelo vacío "". |
| protect_content | Indicador de protección de contenido. Pase cualquier valor excepto 0, False o '' para habilitarlo. |
| disable_notification | Indicador de notificación sonora (predeterminado: 0). Pase 1 para deshabilitar la notificación, 0 para habilitarla. |
| message_thread_id | ID del tema (disponible para supergrupos con funcionalidad de foro habilitada) |
| entities | Esto permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde se debe aplicar una fuente en particular. Puede encontrar un ejemplo en tg_request en el campo correspondiente. El parámetro debe ser un diccionario. |
| business_connection_id | El valor de Business ID se utiliza al conectar el bot y se muestra en los canales. Debe proporcionarse si se incluye un token de bot en los parámetros y el mensaje debe enviarse a través de una cuenta de usuario vinculada al bot. |
Ejemplo
Ejemplo de paso del parámetro:
entities = [{"offset":0,"length":5,"type":"bold"},{"offset":6,"length":4,"type":"text_link","url":"https://mavibot.ai"},{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}]
El ejemplo muestra solo el diccionario, mientras que el texto del mensaje en sí se asigna a una variable separada.
Cómo editar texto en un mensaje de Telegram
¡Tenga en cuenta!
La función de edición de mensajes solo está disponible para mensajes nuevos y enviados recientemente.
La ventana de tiempo durante la cual se permite la edición de mensajes está determinada por el propio mensajero y depende de la carga/actividad de su bot; puede acortarse para la edición.
Según el soporte técnico del mensajero, el plazo óptimo para editar un mensaje es de 48 horas.
tg_edit_message_text(platform_id, message_id, text, reply_markup, parse_mode, disable_web_page_preview, entities)
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram al que se debe enviar un mensaje * |
| **!** message_id | ID del mensaje a editar. Este ID debe guardarse previamente al enviar el mensaje. |
| **!** text | Texto del mensaje |
| reply_markup | Configuración de botones ** |
| parse_mode | Formato de texto en negrita y cursiva en la descripción ***. Puede tener valores como html, markdown, markdownV2. |
| disable_web_page_preview | Mostrar vista previa del enlace. Para deshabilitarlo, pase 1; de lo contrario, pase 0 o déjelo vacío "". |
| entities | Esto permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde se debe aplicar una fuente en particular. Puede encontrar un ejemplo en tg_request en el campo correspondiente. El parámetro debe ser un diccionario. |
Cómo enviar una reacción a un mensaje
tg_set_reaction(platform_id, message_id, reaction)
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID del chat de Telegram |
| **!** message_id | ID del mensaje |
| **!** reaction | La reacción requerida se pasa como una cadena. |
Ejemplo
Ejemplo de código para copiar:
react = tg_set_reaction(platform_id, 1556, '👌')
Ejemplo en la calculadora:

Cómo editar la descripción de un archivo adjunto
tg_edit_message_caption(platform_id, message_id, caption, reply_markup, parse_mode, entities, show_caption_above_media)
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram al que se debe enviar un mensaje * |
| **!** message_id | ID del mensaje a editar |
| **!** caption | Texto de la descripción |
| reply_markup | Configuración de botones ** |
| parse_mode | Formato de texto en negrita y cursiva en la descripción ***. Puede tener valores como html, markdown, markdownV2. |
| entities |
Esto permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde se debe aplicar una fuente en particular. Puede encontrar un ejemplo en tg_request en el campo correspondiente. El parámetro debe ser un diccionario. El ejemplo muestra solo el diccionario, mientras que el texto del mensaje en sí se asigna a una variable separada. |
| show_caption_above_media | Toma el valor True; si se especifica este parámetro, el texto del mensaje se mostrará encima del archivo adjunto. |
Cómo editar archivos multimedia adjuntos en un mensaje
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram al que se debe enviar un mensaje * |
| **!** message_id | ID del mensaje a editar. Este ID debe guardarse previamente al enviar el mensaje. |
| **!** media |
Un diccionario que describe el archivo multimedia:
donde <file_to_send> se recomienda que sea el file_id obtenido a través del webhook completo de Telegram. Para más detalles, los parámetros del diccionario se describen en la documentación oficial de Telegram. |
| reply_markup | Configuración de botones ** |
Cómo editar un teclado en línea en un mensaje
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram al que se debe enviar un mensaje * |
| **!** message_id | ID del mensaje a editar. Este ID debe guardarse previamente al enviar el mensaje. |
| **!** reply_markup | Configuración de botones ** |
Solo puede editar un teclado en línea.
Ejemplo: edición de mensajes con la API de Telegram
Puede encontrar un ejemplo detallado de trabajo con las funciones de la API de Telegram para editar mensajes a continuación.
Cómo copiar un mensaje
tg_copy_message(platform_id, from_chat_id, message_id, reply_to_message_id, reply_markup, parse_mode, protect_content, disable_notification, caption, message_thread_id, entities, show_caption_above_media)
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram AL que se debe copiar un mensaje * |
| **!** from_chat_id | ID de usuario de Telegram DESDE el que se debe copiar un mensaje * |
| **!** message_id | ID del mensaje a copiar |
| reply_to_message_id | ID del mensaje original si el mensaje copiado es un comentario |
| reply_markup | Configuración de botones ** |
| parse_mode |
Formato de texto en negrita y cursiva en la descripción ***. Puede tener valores como html, markdown, markdownV2. |
| protect_content | Indicador de protección de contenido. Pase cualquier valor excepto 0, False o '' para habilitarlo. |
| disable_notification | Indicador de notificación sonora (predeterminado: 0). Pase 1 para deshabilitar la notificación, 0 para habilitarla. |
| caption - | Descripción de hasta 1024 caracteres. |
| message_thread_id | ID del tema (disponible para supergrupos con funcionalidad de foro habilitada) |
| entities | Esto permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde se debe aplicar una fuente en particular. Puede encontrar 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://mavibot.ai"}**,{"offset":11,"length":9,"type":"strikethrough"},{"offset":21,"length":6,"type":"spoiler"},{"offset":29,"length":12,"type":"code"}] El ejemplo muestra solo el diccionario, mientras que el texto del mensaje en sí se asigna a una variable separada. |
| show_caption_above_media | Toma el valor True; si se especifica este parámetro, el texto del mensaje se mostrará encima del archivo adjunto. |
Cómo reenviar un mensaje
tg_forward_message(platform_id, from_chat_id, message_id, protect_content, disable_notification, message_thread_id)
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram AL que se debe enviar un mensaje * |
| **!** from_chat_id | ID de usuario de Telegram DESDE el que se debe enviar un mensaje * |
| **!** message_id | ID del mensaje a reenviar |
| protect_content | Indicador de protección de contenido. Pase cualquier valor excepto 0, False o '' para habilitarlo. |
| disable_notification | Indicador de notificación sonora (predeterminado: 0). Pase 1 para deshabilitar la notificación, 0 para habilitarla. |
| message_thread_id | ID del tema (disponible para supergrupos con funcionalidad de foro habilitada) |
Cómo eliminar un mensaje
tg_delete_message(platform_id, message_id)
! Utilice este método para eliminar un mensaje, incluidos los mensajes de servicio, con las siguientes restricciones:
- Un mensaje solo se puede eliminar si se envió hace menos de 48 horas.
- Los mensajes con dados en un chat privado solo se pueden eliminar si se enviaron hace más de 24 horas.
- Los bots pueden eliminar mensajes salientes en chats privados, grupos y supergrupos.
- Los bots pueden eliminar mensajes entrantes en chats privados.
- Los bots con el permiso can_post_messages pueden eliminar mensajes salientes en canales.
- Si un bot es administrador de un grupo, puede eliminar cualquier mensaje allí.
- Si un bot tiene el permiso can_delete_messages en un supergrupo o canal, puede eliminar cualquier mensaje allí.
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram * |
| **!** message_id | ID del mensaje a eliminar |
Cómo eliminar varios mensajes
tg_delete_messages(platform_id, message_ids)
! Utilice este método para eliminar un mensaje, incluidos los mensajes de servicio, con las siguientes restricciones:
- Un mensaje solo se puede eliminar si se envió hace menos de 48 horas.
- Los mensajes con dados en un chat privado solo se pueden eliminar si se enviaron hace más de 24 horas.
- Los bots pueden eliminar mensajes salientes en chats privados, grupos y supergrupos.
- Los bots pueden eliminar mensajes entrantes en chats privados.
- Los bots con el permiso can_post_messages pueden eliminar mensajes salientes en canales.
- Si un bot es administrador de un grupo, puede eliminar cualquier mensaje allí.
- Si un bot tiene el permiso can_delete_messages en un supergrupo o canal, puede eliminar cualquier mensaje allí.
| Parámetro | Descripción |
|---|---|
| **!** platform_id | ID de usuario de Telegram |
| **!** message_ids | Un array de IDs de mensajes a eliminar. Máximo de 100 elementos. |
Ejemplo: envío de mensajes con la API de Telegram
Ejemplo de código para copiar
Ejemplo 1
/*Es conveniente definir el texto en una variable de antemano*/
text='Escribiendo-escribiendo-escribiendo texto'
/*Función de enviar mensaje*/
soob=tg_send_message(platform_id, text)
/*Guardar el ID del mensaje enviado*/
soob_id=soob['result']['message_id']
Ejemplo 2
id_group=-1001847103100
text='Probando el envío de mensajes mediante el método API. Por ejemplo, *texto en negrita*'
opts = {"inline_keyboard": [[{"text": "👍","callback_data":1}, {"text": "👎","callback_data":2}]]}
disable_web_page_preview=1
protect_content=''
disable_notification=1
parse_mode='markdown'
soob=tg_send_message(id_group, text,client_message_id, opts, parse_mode, disable_web_page_preview, protect_content, disable_notification)
Ejemplo: edición de mensajes con la API de Telegram
Ejemplo de configuración
Entonces, enviémonos un mensaje con un teclado en línea:

A continuación, edite el texto del mensaje:

Y edite los botones:

Intentemos editar un mensaje con una imagen. Para ello, envíe un mensaje con una imagen y guarde el ID del mensaje enviado. Lea las instrucciones detalladas sobre cómo obtener la URL de la imagen aquí:

Ahora, editemos la imagen y su descripción:

Ejemplo de código para copiar
/*Es conveniente definir los parámetros en una variable de antemano.*/
text='¿Qué paquete le gustaría elegir?'
opts = {"inline_keyboard": [[{"text": "Paquete 1","callback_data":1}, {"text": "Paquete 2","callback_data":2}]]}
/*Función de enviar mensaje*/
soob=tg_send_message(platform_id, text, None, opts)
/*Guardar el ID del mensaje enviado*/
soob_id=soob['result']['message_id']
/*Editar el mensaje*/
text='¿Qué paquete le interesa?'
tg_edit_message_text(platform_id, soob_id, text, opts)
/*Editar el teclado en línea*/
opts = {"inline_keyboard": [[{"text": "Estándar","callback_data":1}, {"text": "Premium","callback_data":2}]]}
tg_edit_message_reply_markup(platform_id, soob_id, opts)
/*Enviar imagen con la descripción*/
soob=tg_send_photo(platform_id, "AgACAgIAAxkBAAIPpWO4T7jhOgYHq6uR8rjnq9rIvBs-AAJlwDEb5fHASaGdhzgWjyn7AQADAgADeAADLQQ", "Esta es una imagen")
/*Guardar el ID del mensaje enviado*/
soob_id=soob['result']['message_id']
/*Editar la imagen*/
media='{"type": "photo", "media": "AgACAgIAAxkBAAIPrmO4UiH7Tazqn-3IbFVzPKNsVEZmAAJ1wDEb5fHASWcNXKah-egvAQADAgADeQADLQQ"}'
tg_edit_message_media(platform_id, soob_id, media)
/*Editar la descripción de la imagen*/
tg_edit_message_caption(platform_id, soob_id, '¡Este soy YO!')
Ejemplo: copia de mensajes con la API de Telegram
Ejemplo
Enviemos un mensaje y guardemos su ID.

Y copiemos el mensaje enviado anteriormente.

Ejemplo de código para copiar
/*Es conveniente definir los parámetros en una variable de antemano.*/
text='¿Qué paquete le gustaría elegir?'
opts = {"inline_keyboard": [[{"text": "Paquete 1","callback_data":1}, {"text": "Paquete 2","callback_data":2}]]}
/*Función de enviar mensaje*/
soob=tg_send_message(platform_id, text, None, opts)
/*Guardar el ID del mensaje enviado*/
soob_id=soob['result']['message_id']
/*Copiar el mensaje enviado*/
tg_copy_message('5081438490', '1840834360', soob_id, None, opts, None, None, 1)