Funciones para enviar y editar mensajes

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 que se citará

reply_markup

Configuración del botón **

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 desactivarla, pasa 1; de lo contrario, pasa 0 o déjalo vacío "".

protect_content

Bandera de protección del contenido. Pasa cualquier valor excepto 0, False o '' para activarla.

disable_notification

Bandera de notificación sonora (predeterminado: 0). Pasa 1 para desactivar la notificación, 0 para activarla.

message_thread_id

ID del tema (disponible para supergrupos con la funcionalidad de foro habilitada)

entities

Esto te permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde debe aplicarse una fuente concreta. Puedes encontrar un ejemplo en tg_request en el campo correspondiente. El parámetro debe ser un diccionario. Consulta la pestaña de ejemplo como referencia.

chevron-rightEjemplo detalladohashtag

Consideremos un ejemplo sencillo con un conjunto de parámetros obligatorios:

platform_id especifica el identificador de un cliente concreto.

Ve el mismo ejemplo, pero usando variables:

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

Si guardas el message_id de la respuesta recibida, te permitirá luego trabajar con este mensaje (editar, eliminar, reenviar, comentar).

A menudo surgen dificultades al usar todos los parámetros. Consideremos el siguiente ejemplo:

  • Primero, declara todos los parámetros usados en la función. Recuerda que los parámetros pueden pasarse no solo como valores, sino también como variables, lo que suele ser más cómodo y claro. Variables como platform_id y client_message_id pueden obtenerse de la tarjeta de perfil del cliente. platform_id — ID del cliente de Telegram al que debe enviarse 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 que se citará >En los chats, a esta variable se le asigna su valor automáticamente. reply_markup — configuración de botones **. >Asignémosla 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 usados para formatear el texto del mensaje se describen aquí. >Usaremos markdown. disable_web_page_preview - Mostrar vista previa del enlace. Para desactivarla, pasa 1; de lo contrario, pasa 0 o déjalo vacío "". >Podemos pasar cualquier valor, ya que el texto del mensaje no contiene un enlace. protect_content — Bandera de protección del contenido. Pasa cualquier valor excepto 0, False o '' para activarla. >No necesitamos protección del contenido, así que pasaremos una cadena vacía ''. disable_notification — Bandera de notificación sonora (predeterminado: 0). Pasa 1 para desactivar la notificación, 0 para activarla. >Una notificación es una ventana emergente que muestra el texto del mensaje. Vamos a activarla.

  • A continuación, ensamblamos la función. Recuerda asignar la función a una variable; esto te permitirá seguir el estado del envío del mensaje.

El campo "Calculator"

Esto es lo que obtuvimos: Después de que el cliente nos envía la palabra clave test, respondemos citando su mensaje.

En ok vemos el estado del envío; a continuación viene la información sobre el propio mensaje: su ID, los datos del remitente y el contenido.

Ejemplo con el entities parámetro Puedes almacenar la cadena original en una variable, como se muestra a continuación:

text = "qwert asdfg zxcvb poiuy lkjhg 12345" Debes 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"}]

Pasa el parámetro al final de la función que uses. El parámetro puede pasarse tanto a las funciones tg_send_message como tg_send_message_1:

x = tg_send_message(platform_id, text, None, None, None, False, False, False, None, entities)

circle-info

Para asignar texto con saltos de línea a una variable, especifica el valor de la siguiente manera:

text = "First line of text" + "\n" + "Second line of text" + "\n" + "Third line"

Cómo enviar un mensaje especificando un bot concreto de Telegram

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 que se citará

reply_markup

Configuración del botón **

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 desactivarla, pasa 1; de lo contrario, pasa 0 o déjalo vacío "".

protect_content

Bandera de protección del contenido. Pasa cualquier valor excepto 0, False o '' para activarla.

disable_notification

Bandera de notificación sonora (predeterminado: 0). Pasa 1 para desactivar la notificación, 0 para activarla.

message_thread_id

ID del tema (disponible para supergrupos con la funcionalidad de foro habilitada)

entities

Esto te permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde debe aplicarse una fuente concreta. Puedes encontrar un ejemplo en tg_request en el campo correspondiente. El parámetro debe ser un diccionario.

business_connection_id

El ID de Business el valor se usa al conectar el bot y se muestra en los canales. Debe proporcionarse si se incluye un token del bot en los parámetros y el mensaje necesita enviarse a través de una cuenta de usuario vinculada al bot.

chevron-rightEjemplohashtag

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 propio texto del mensaje se asigna a una variable separada.

Cómo editar texto en un mensaje de Telegram

circle-exclamation

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 que se va a editar. Este ID debe haberse guardado previamente al enviar el mensaje.

! text

Texto del mensaje

reply_markup

Configuración del botón **

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 desactivarla, pasa 1; de lo contrario, pasa 0 o déjalo vacío "".

entities

Esto te permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde debe aplicarse una fuente concreta. Puedes 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

! reacción

La reacción requerida se pasa como una cadena.

chevron-rightEjemplohashtag

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 que se va a editar

! caption

Texto de la descripción

reply_markup

Configuración del botón **

parse_mode

Formato de texto en negrita y cursiva en la descripción ***. Puede tener valores como html, markdown, markdownV2.

entities

Esto te permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde debe aplicarse una fuente concreta. Puedes 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 propio texto del mensaje 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 adjuntos multimedia 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 que se va a editar. Este ID debe haberse guardado previamente al enviar el mensaje.

! media

Un diccionario que describe el archivo multimedia: Ejemplo de un diccionario JSON para reemplazar una foto enviada previamente: media = '{"type": "photo", "media": "<file_to_send>"}'

donde se recomienda que <file_to_send> sea el file_id obtenido mediante el webhook de Telegram.

Para más detalles, los parámetros del diccionario se describen en la documentación oficial de Telegram documentación de Telegram.

reply_markup

Configuración del botón **

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 que se va a editar. Este ID debe haberse guardado previamente al enviar el mensaje.

! reply_markup

Configuración del botón **

circle-exclamation
chevron-rightEjemplo: edición de mensajes con la API de Telegramhashtag

A continuación puedes encontrar un ejemplo detallado de trabajo con las funciones de la API de Telegram para editar mensajes.

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 que se copiará

reply_to_message_id

ID del mensaje original si el mensaje copiado es un comentario

reply_markup

Configuración del botón **

parse_mode

Formato de texto en negrita y cursiva en la descripción ***.

Puede tener valores como html, markdown, markdownV2.

protect_content

Bandera de protección del contenido. Pasa cualquier valor excepto 0, False o '' para activarla.

disable_notification

Bandera de notificación sonora (predeterminado: 0). Pasa 1 para desactivar la notificación, 0 para activarla.

caption -

Descripción de hasta 1024 caracteres.

message_thread_id

ID del tema (disponible para supergrupos con la funcionalidad de foro habilitada)

entities

Esto te permite copiar texto preformateado junto con todos sus estilos y simplemente especificar el rango de caracteres donde debe aplicarse una fuente concreta. Puedes 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 propio texto del mensaje 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 reenviado

protect_content

Bandera de protección del contenido. Pasa cualquier valor excepto 0, False o '' para activarla.

disable_notification

Bandera de notificación sonora (predeterminado: 0). Pasa 1 para desactivar la notificación, 0 para activarla.

message_thread_id

ID del tema (disponible para supergrupos con la funcionalidad de foro habilitada)

Cómo eliminar un mensaje

tg_delete_message(platform_id, message_id)

! Usa este método para eliminar un mensaje, incluidos los mensajes de servicio, con las siguientes restricciones:

  • Un mensaje solo puede eliminarse si se envió hace menos de 48 horas.

  • Los mensajes con dados en un chat privado solo pueden eliminarse 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 can_post_messages permiso pueden eliminar mensajes salientes en los canales.

  • Si un bot es administrador de un grupo, puede eliminar cualquier mensaje allí.

  • Si un bot tiene el can_delete_messages permiso 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 que se va a eliminar

Cómo eliminar varios mensajes

tg_delete_messages(platform_id, message_ids)

! Usa este método para eliminar un mensaje, incluidos los mensajes de servicio, con las siguientes restricciones:

  • Un mensaje solo puede eliminarse si se envió hace menos de 48 horas.

  • Los mensajes con dados en un chat privado solo pueden eliminarse 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 can_post_messages permiso pueden eliminar mensajes salientes en los canales.

  • Si un bot es administrador de un grupo, puede eliminar cualquier mensaje allí.

  • Si un bot tiene el can_delete_messages permiso 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 que se eliminarán. Máximo de 100 elementos.

Ejemplo: envío de mensajes con la API de Telegram

chevron-rightEjemplo de código para copiarhashtag

Ejemplo 1

Ejemplo 2

Ejemplo: edición de mensajes con la API de Telegram

chevron-rightEjemplo de configuraciónhashtag

Entonces, enviémonos un mensaje con un teclado en línea:

Luego, edita el texto del mensaje:

Y edita los botones:

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

Ahora, editemos la imagen y su descripción:

chevron-rightEjemplo de código para copiarhashtag

Ejemplo: copia de mensajes con la API de Telegram

chevron-rightEjemplohashtag

Enviemos un mensaje y guardemos su ID.

Y copiemos el mensaje enviado previamente.

chevron-rightEjemplo de código para copiarhashtag

Última actualización