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 cliente

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

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 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:
Ejemplo de un diccionario JSON para reemplazar una foto enviada anteriormente:
media = '{"type": "photo", "media": "<file_to_send>"}'

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)