Cómo enviar documentos

Enviar documento tg_send_document()

! Estas funciones permiten enviar archivos de cualquier tipo. Formatos recomendados: GIF, PDF, ZIP de hasta 2GB.

! Trabajo con cuenta de negocio de Telegram

tg_send_document(platform_id, document, caption, reply_markup, parse_mode,reply_to_message_id, protect_content, disable_notification, message_thread_id, entities)

Parámetros:

! platform_id — identificador del cliente en Telegram al que se debe enviar el mensaje *

! document - enlace al documento en el servidor de Telegram. Cómo obtener el enlace mediante tg_request se explica aquí.

caption - descripción, hasta 1024 caracteres

reply_markup — configuración de botones **

parse_mode — formato del texto en el caption (negrita o cursiva) ***. Valores posibles: html, markdown, markdownV2. enlace

reply_to_message_id - ID del mensaje al que se responde (es decir, cita)

protect_content — indicador para proteger el contenido contra copia. Para habilitarlo, pasa cualquier valor distinto de 0, False o comillas vacías ''.

disable_notification — indicador para controlar las notificaciones sonoras (predeterminado: 0).
1 - enviar sin notificación, 0 - enviar con notificación

message_thread_id — identificador del hilo (disponible en supergrupos con funcionalidad de foro)

entities — permite reutilizar texto preformateado con estilos. Simplemente define el desplazamiento de caracteres y el rango para el formato. Hay un ejemplo disponible en tg_request en el campo correspondiente. 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"}]

En este ejemplo, solo se muestra el diccionario, mientras que el texto real del mensaje se define en una variable separada.

Para simplificar la descripción de un conjunto de botones, puedes usar el siguiente truco.

Enviar varios documentos u otros archivos tg_send_some_document()

! Estas funciones permiten enviar archivos de cualquier tipo. Formatos recomendados: GIF, PDF, ZIP de hasta 2GB.

tg_send_some_document(platform_id, document_list, disable_notification, protect_content, reply_to_message_id, message_thread_id)

Parámetros:

! platform_id — identificador del cliente en Telegram al que se debe enviar el mensaje *

! document_list - un array de documentos. A continuación se muestra un ejemplo de cómo construir dicho array

disable_notification — indicador para controlar las notificaciones sonoras (predeterminado: 0).
1 - enviar sin notificación, 0 - enviar con notificación

protect_content — indicador para proteger el contenido contra copia. Para habilitarlo, pasa cualquier valor distinto de 0, False o comillas vacías ''.

reply_to_message_id - ID del mensaje al que se responde (es decir, cita)

message_thread_id — identificador del hilo (disponible en supergrupos con funcionalidad de foro)

Ejemplo de construcción del array document_list:
'[["Enlace del documento", "caption", "parse_mode"], ["Enlace del documento 2"], ["Enlace del documento 3", "caption"]]'

Ejemplo de formato de datos para un solo documento
["Enlace del documento", "caption", "parse_mode"]

¡El orden de los parámetros es importante! Al crear un array de documentos, se pueden omitir las comillas " ".

Descripción de los parámetros para el array document_list:
! Enlace del documento - enlace del documento desde el servidor de Telegram. Cómo obtener el enlace mediante tg_request se explica aquí
caption — descripción de hasta 1024 caracteres
parse_mode — formato de la descripción, es decir, resaltar texto en negrita o cursiva ***

Ejemplo

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

  1. Primero, obtén el enlace a tu documento. Aquí se explica detalladamente cómo hacerlo.

  2. Crea un bloque y establece las variables como se muestra en la captura de pantalla:

  3. Envía el bloque a nosotros mismos y ve el resultado de nuestro trabajo:

Ahora veamos el envío de varios documentos.

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

  1. Y comprueba el resultado del trabajo:

Ejemplo de código para copiar

Recuerda que los enlaces son únicos para cada bot, así que asegúrate de generar tus propios enlaces

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)

Cómo enviar un audio / mensaje de voz

Enviar mensaje de voz tg_send_voice()

! Esta función permite enviar archivos de voz de tipo .OGG codificados con OPUS, de hasta 2 GB de tamaño.

! Trabajo solo con cuenta de negocio de Telegram

tg_send_voice(platform_id, voice, caption, reply_markup, parse_mode, reply_to_message_id, protect_content, disable_notification, message_thread_id, entities)

Parámetros:

! platform_id — identificador del cliente en Telegram al que se debe enviar el mensaje *

! voice - enlace al mensaje de voz en formato .OGG

caption - descripción de hasta 1024 caracteres

reply_markup — configuración de botones **

parse_mode — formato del texto en la descripción (negrita o cursiva) ***. Valores posibles: html, markdown, markdownV2.

reply_to_message_id - ID del mensaje al que se responde (es decir, cita)

protect_content — indicador para proteger el contenido contra copia. Para habilitarlo, pasa cualquier valor distinto de 0, False o comillas vacías ''.

disable_notification — indicador para enviar un mensaje con o sin notificación sonora (predeterminado: 0). 1 - deshabilitar 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 puedes copiar texto formateado con todas sus características y especificar desde qué carácter hasta cuál se mostrará con un estilo particular. Puedes ver 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, puedes usar el siguiente truco

Enviar varios mensajes de audio tg_send_some_audio()

! Esta función permite enviar archivos de audio de tipo .MP3 o .M4A con un tamaño máximo de 2GB.

! Trabajo con cuenta de negocio de Telegram

tg_send_some_audio(platform_id, audio_list, disable_notification, protect_content, reply_to_message_id, message_thread_id)

Parámetros:

! platform_id — identificador del cliente en Telegram al que se debe enviar el mensaje *

! audio_list - un array de archivos de audio (detalles a continuación)

disable_notification — indicador para enviar el mensaje con o sin notificación sonora (predeterminado: 0). 1 — enviar sin notificación, 0 — enviar con notificación

protect_content — indicador para proteger el contenido contra copia. Para habilitarlo, pasa cualquier valor distinto de 0, False o comillas vacías ''.

reply_to_message_id - ID del mensaje al que se responde (es decir, cita)

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"]]'

Ejemplo de un solo audio:
["Enlace de audio", "caption", "parse_mode"]

¡El orden de los parámetros es importante! Al construir el array de archivos de audio, se pueden omitir las comillas ""

Descripción de los parámetros:
! 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 (negrita o cursiva) ***

Ejemplo

Como se indicó anteriormente, la función funciona con archivos .OGG. Por lo tanto, la primera tarea es obtener una grabación de audio en este formato.
Si tienes un archivo .MP3, puedes convertirlo a .OGG usando el bot https://t.me/mp3toolsbot.

A continuación, envía el archivo resultante a ti mismo en el bot para obtener el file_id siguiendo el algoritmo descrito aquí.

Ahora arma la función:

¡Genial! ¡Bien hecho!

Ejemplo para copiar

Recuerda que los enlaces son únicos para cada bot, así que asegúrate de generar tus propios enlaces

tg_send_voice(platform_id, "CQACAgIAAxkBAAER70Bi8VkgNhegB-msqDWXm2qHi3n9-AAC-iAAAk6giUvIXkW-XzBN0ikE")
Error al enviar mensajes de voz

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

{"ok":false,"error_code":400,"description":"Bad Request: user restricted receiving of voice messages"}

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 permitir de ciertos usuarios):

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, incluso si el usuario ya ha habilitado los permisos.

Solución:

Después de que el usuario cambie su configuración de privacidad, debe esperar una pausa de 30 a 60 segundos (hasta que los servidores de mensajería procesen los cambios), y solo entonces enviar una solicitud API a Telegram a través del bot:\n****https://api.telegram.org/bot\\/getChat?chat_id=#{platform_id}****

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

Cómo enviar animaciones

Enviar animación tg_send_animation()

! Esta función permite enviar GIF o video H.264/MPEG-4 AVC sin sonido con un tamaño máximo de 2GB.

! Trabajo con cuenta de negocio de Telegram

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:

!** platform_id** — ID del cliente de Telegram al que se debe enviar el mensaje. *

!** animation**- enlace a la animación. Cómo obtener un enlace a través de tg_request se explica aquí

caption - descripción de hasta 1024 caracteres

reply_markup — configuración de botones **

parse_mode — formato de texto en el caption (negrita o cursiva) ***. Valores posibles: html, markdown, markdownV2

reply_to_message_id - ID del mensaje al que responder (es decir, citar)

protect_content — indicador para proteger el contenido contra copia. Para habilitar, pase cualquier valor que no sea 0, False o comillas vacías ''.

has_spoiler — habilita el spoiler. Para habilitar, establezca True.

disable_notification — indicador para enviar el mensaje con o sin notificación sonora (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 copiar fácilmente texto formateado con todas sus características y especificar desde qué carácter hasta cuál se mostrará con un estilo particular. Puede ver 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 caption del mensaje se mostrará encima del medio

Ejemplo de paso de 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 de conjuntos de botones, puede usar el siguiente truco

Ejemplo

Compliquemos la tarea y enviemos una animación con protección contra copia y spoiler.

Como siempre, el proceso comienza obteniendo el enlace interno de Telegram para la animación seleccionada (detalles aquí).

Finalmente, armamos la función:

Y vemos el resultado del trabajo:

Ejemplo de código para copiar

Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces

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

Cómo enviar videos

Enviar video usando API Telegram tg_send_video()

! Esta función permite enviar archivos MPEG4 de hasta 2GB de tamaño.
(Otros formatos se pueden enviar como archivos usando tg_send_document())

! Trabajo con cuenta de negocio de Telegram

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:

!** platform_id** — ID del cliente de Telegram al que se debe enviar el mensaje *

!** video** - enlace al video. Cómo obtener enlaces a través de tg_request ver aquí

caption - descripción de hasta 1024 caracteres

reply_markup — configuración de botones **

parse_mode — formato de texto en el caption (negrita o cursiva) ***. Valores posibles: html, markdown, markdownV2.

reply_to_message_id - ID del mensaje al que responder (es decir, citar)

protect_content — indicador para proteger el contenido contra copia. Para habilitar, pase cualquier valor que no sea 0, False o comillas vacías ''.

has_spoiler — habilita el spoiler. Para habilitar, establezca True

disable_notification — indicador para enviar el mensaje con notificación sonora (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 copiar fácilmente texto formateado con todas sus características y especificar desde qué carácter hasta cuál se mostrará con un estilo particular. Puede ver 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.

cover - imagen de portada del video en el mensaje. Obtener URL a través de tg_request está aquí.

Ejemplo de paso de 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 de conjuntos de botones, puede usar el siguiente truco

Enviar varios videos usando API Telegram tg_send_some_video()

! Trabajo con cuenta de negocio de Telegram

tg_send_some_video(platform_id, video_list, disable_notification, protect_content, reply_to_message_id, has_spoiler, message_thread_id)

Parámetros:

!** platform_id** — ID del cliente de Telegram al que se debe enviar el mensaje *

!** video_list** - un array de archivos de video (detalles a continuación)

disable_notification — indicador para enviar el mensaje con notificación sonora (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 de spoiler (opcional; establezca True para activar)

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 un solo audio:
["Enlace de video", "caption", "parse_mode"]

¡El orden de los parámetros es importante! Al construir el array de archivos de video, se pueden omitir las comillas ""

Descripción de parámetros: \n****!****** Enlace de video** — URL de video interno de Telegram. Obtener el enlace a través de tg_request se describe aquí.
caption — texto de caption de hasta 1024 caracteres
parse_mode — formato de texto en el caption (negrita o cursiva) ***. Valores posibles: html, markdown, markdownV2.

Ejemplo

Entonces, comience obteniendo el enlace al archivo que desea enviar, y luego complete los parámetros requeridos de la función:

Después de verificar, obtenemos el video:

Ejemplo de código para copiar

Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces

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

Cómo enviar un video redondo

Enviar video redondo tg_send_video_note()

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

! Trabajo con cuenta de negocio de Telegram

tg_send_video_note(platform_id, video_note, reply_markup, protect_content, reply_to_message_id, disable_notification, message_thread_id)

Parámetros:

!** platform_id** — ID del cliente de Telegram al que se debe enviar el mensaje *

!** video_note** - enlace al video. Cómo obtener el enlace a través de tg_request se describe aquí
reply_markup — configuración de botones **

protect_content — indicador para proteger el contenido contra copia. Para habilitar, pase cualquier valor que no sea 0, False o comillas vacías ''

reply_to_message_id - ID del mensaje al que responder (es decir, citar)

disable_notification — indicador para enviar el mensaje con notificación sonora (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 de conjuntos de botones, puede usar el siguiente truco

Ejemplo

Si tiene un video cuadrado, puede convertirlo a uno redondo usando el bot https://t.me/roundNoteBot:

Una vez que tenga el video redondo, envíelo a sí mismo en el bot para obtener el enlace (detalles aquí), y luego configure la función para enviar el video redondo:

Ejemplo de código para copiar

Recuerde que los enlaces son únicos para cada bot, así que asegúrese de generar sus propios enlaces

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

Cómo enviar una ubicación

Enviar geolocalización tg_send_venue()

! Trabajo con cuenta de negocio de Telegram

tg_send_venue(platform_id, latitude, longitude, title, address, protect_content, disable_notification, reply_to_message_id, reply_markup, message_thread_id)

Parámetros:

! platform_id — ID del cliente de Telegram al que se debe enviar el mensaje *

! latitude — latitud

! longitude — longitud

! title — título

! address — dirección

protect_content — indicador para proteger el contenido contra copias. Para habilitarlo, pasa cualquier valor distinto de 0, False o comillas vacías ''

disable_notification — indicador para enviar el mensaje con notificación sonora (predeterminado: 0).
1 — enviar sin notificación, 0 — enviar con notificación

reply_to_message_id - ID del mensaje al que se responde (es decir, citar)

reply_markup — configuración de botones **

message_thread_id — ID del hilo (disponible en supergrupos con funcionalidad de foro)

Para simplificar las descripciones de conjuntos de botones, puedes usar el siguiente lifehack

Ejemplo

Entonces, comencemos determinando las coordenadas del lugar. Puedes obtenerlas usando Google Maps

A continuación, convierte las coordenadas obtenidas de grados decimales a formato geográfico usando cualquier convertidor de coordenadas en línea:

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

Ejemplo de código para copiar
soob=tg_send_venue(platform_id, "48°52′", "2°4′", "Dreams come true!", "Paris, Eiffel Tower") 

Cómo enviar contactos

Enviar contacto tg_send_contact()

! Trabajar con cuenta de Telegram Business

Telegram proporciona una forma rápida de compartir contactos desde tu 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 organización), así como agregar botones y habilitar la protección de contenido para el mensaje.

tg_send_contact(platform_id, phone, first_name, last_name, protect_content, disable_notification, reply_to_message_id, reply_markup, message_thread_id)

! - parámetro de función obligatorio

Parámetros:

! platform_id — ID del cliente de Telegram al que se debe enviar el mensaje *

! phone — número de teléfono en formato internacional. Por ejemplo, para Rusia: +7XXXXXXXXXX

! first_name y last_name - nombre y apellido

protect_content — indicador para proteger el contenido contra copias. Para habilitarlo, pasa cualquier valor distinto de 0, False o comillas vacías ''

disable_notification — indicador para enviar el mensaje con notificación sonora (predeterminado: 0).
1 — enviar sin notificación, 0 — enviar con notificación

reply_to_message_id - ID del mensaje al que se responde (es decir, citar)

reply_markup — configuración de botones **

message_thread_id — ID del hilo (disponible en supergrupos con funcionalidad de foro)

Para simplificar las descripciones de conjuntos de botones, puedes usar el siguiente lifehack

Ejemplo

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

Mira el resultado:

Ejemplo de código para copiar
soob=tg_send_contact(platform_id, "+79999999999", "Ann", "Test", 1) 

Cómo enviar una pegatina

Enviar pegatina tg_send_sticker()

! Trabajar con cuenta de Telegram Business

tg_send_sticker(platform_id, sticker_id, protect_content, disable_notification, reply_to_message_id, reply_markup, message_thread_id)

Parámetros:

! platform_id — ID del cliente de Telegram al que se debe enviar el mensaje *

! sticker_id - ID de la pegatina. Cómo obtener un enlace a través de tg_request se explica aquí

protect_content — indicador para proteger el contenido contra copias. Para habilitarlo, pasa cualquier valor distinto de 0, False o comillas vacías ''

disable_notification — indicador para enviar el mensaje con notificación sonora (predeterminado: 0).
1 — enviar sin notificación, 0 — enviar con notificación

reply_to_message_id - ID del mensaje al que se responde (es decir, citar)

reply_markup — configuración de botones **

message_thread_id — ID del hilo (disponible en supergrupos con funcionalidad de foro)

Para simplificar las descripciones de conjuntos de botones, puedes usar el siguiente lifehack

Ejemplo

Enviar una pegatina no es diferente de enviar cualquier otro archivo adjunto:
1. Obtén el enlace interno de Telegram (detalles aquí)
2. Completa los parámetros de la función
3. Envía el bloque a ti mismo y verifica el resultado

Resultado:

Ejemplo de código para copiar

Recuerda que los enlaces son únicos para cada bot, así que asegúrate de generar tus propios enlaces

soob=tg_send_sticker(platform_id, 'CAACAgIAAxkBAAEawJ5jmNeyat8uPGBMP3JzubRNXGjH3wACrw4AAsYg4UqePobN94_jkywE')

Cómo enviar una foto

Entendiendo el parámetro caption

El parámetro caption 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 generalmente se revela cuando un usuario hace clic o toca la imagen.

Para especificaciones técnicas detalladas y comportamiento de la API, consulta la documentación oficial de Telegram.

Nota: si estás siguiendo un tutorial en video, revisa los pasos cuidadosamente, ya que la configuración y las interfaces pueden actualizarse con el tiempo.

Enviar foto tg_send_photo()

! La foto no debe superar los 10 MB. El ancho y alto totales no deben exceder los 10,000 píxeles. La relación ancho-alto no debe exceder 20.

! Trabajar con cuenta de Telegram Business

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:

! platform_id — ID del cliente de Telegram al que se debe enviar el mensaje *

! photo - enlace a la imagen. Cómo obtener un enlace a través de tg_request se explica aquí.

caption - descripción de hasta 1024 caracteres

reply_markup — configuración de botones **

parse_mode — formato de texto en el caption: negrita o cursiva ***

reply_to_message_id - ID del mensaje al que se responde (es decir, citar)

protect_content — indicador para proteger el contenido contra copias. Para habilitarlo, pasa cualquier valor distinto de 0, False o comillas vacías ''

has_spoiler — habilita el formato de spoiler, establece True para activar

disable_notification — indicador para enviar el mensaje con notificación sonora (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 puedes copiar fácilmente texto formateado con todas sus características y especificar desde qué carácter hasta cuál se mostrará con un estilo particular. Puedes ver 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 de conjuntos de botones, puedes usar el siguiente lifehack

Enviar varias fotos tg_send_some_photo()

! La foto no debe superar los 10 MB. El ancho y alto totales no deben exceder los 10,000 píxeles. La relación ancho-alto no debe exceder 20.

! Trabajar con cuenta de Telegram Business

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:

! platform_id — ID del cliente de Telegram al que se debe enviar el mensaje *

! image_list - array de archivos de imagen (detalles a continuación)

disable_notification — indicador para enviar el mensaje con notificación sonora (predeterminado: 0).
1 — enviar sin notificación, 0 — enviar con notificación

protect_content — indicador para proteger el contenido contra copias (parámetro opcional, para habilitar pasa 1 como valor)

reply_to_message_id - ID del mensaje al que se responde (es decir, citar)

has_spoiler — habilita el formato de spoiler (opcional; establece True para activar)

message_thread_id — ID del hilo (disponible en supergrupos con funcionalidad de foro)

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"]

¡El orden de los parámetros es importante! Al construir el array de archivos de imagen, las comillas "" se pueden omitir

Descripción de parámetros:

! Enlace de imagen 1 - enlace de la imagen. Cómo obtener un enlace a través de tg_request se explica aquí

caption — caption de hasta 1024 caracteres

parse_mode — formato de texto en el caption: negrita o cursiva ***

Ejemplo

Veamos un ejemplo de función para enviar múltiples imágenes:

primero, crea un array de imágenes

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

Envía el bloque a ti mismo y disfruta del resultado

Ejemplo de código para copiar

Recuerda que los enlaces son únicos para cada bot, así que asegúrate de generar tus propios enlaces para el video

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)

Cómo enviar un dado

Enviar un emoji con selección aleatoria (Dado) tg_send_dice()

tg_send_dice(platform_id, emoji, reply_markup, disable_notification, reply_to_message_id, protect_content, message_thread_id)

! Funciona con cuenta de Telegram Business

Parámetros:

! platform_id — ID del cliente de Telegram al que se debe enviar el mensaje *

emoji - el emoji a enviar. Si dejas el parámetro vacío, se enviará un dado por defecto. Puedes pasar el emoji como cadena o la palabra clave que lo representa

reply_markup — configuración de botones **

disable_notification — indicador para enviar el mensaje sin notificación sonora (por defecto: 0).
1 — enviar sin notificación, 0 — enviar con notificación

reply_to_message_id - ID del mensaje al que responder (es decir, citar)

protect_content — indicador para proteger el contenido contra copia. Para habilitarlo, pasa 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 de los conjuntos de botones, puedes usar el siguiente truco

Lista de emojis posibles: \

  1. 'darts' o '🎯', valores del 1 al 6 \
  2. 'dice' o '🎲', valores del 1 al 6 \
  3. 'bowling' o '🎳', valores del 1 al 6 \
  4. 'basketball' o '🏀', valores del 1 al 5 \
  5. 'football' o '⚽', valores del 1 al 5 \
  6. 'slots' o '🎰', valores del 1 al 64


Además, si un cliente envía uno de estos emojis al bot, recibirás un callback con información sobre la puntuación y el emoji utilizado.

Ejemplo

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

En este caso, el cliente recibirá un dado:

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

Puedes experimentar con esta función. Por ejemplo, creemos una máquina tragamonedas y agreguemos un botón Puntos. Al presionar el botón, recibiremos los puntos totales del cliente:

Ejemplo de código para copiar

Primer ejemplo:

soob=tg_send_dice(platform_id)

Segundo ejemplo:

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

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

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

Cómo enviar un grupo de medios

Enviar grupo de medios tg_send_media_group()

! Funciona con cuenta de Telegram Business

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

¡Nota: los documentos y archivos de audio no se pueden agrupar con otros tipos de archivo!

tg_send_media_group(platform_id, media_list, disable_notification, protect_content, reply_to_message_id, message_thread_id)

Parámetros:

! platform_id — ID del cliente de Telegram al que se debe enviar el mensaje

! media_list - un array que contiene de 2 a 10 fotos, videos, documentos o archivos de audio (detalles a continuación);

disable_notification — indicador para enviar el mensaje sin notificación sonora (por defecto: 0).
1 — enviar sin notificación, 0 — enviar con notificación

protect_content — indicador para proteger el contenido contra copia. Para habilitarlo, pasa 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:

! type - tipo de archivo, “photo”, “video”, “audio” o ”document”

! media - archivo a enviar. Pasa 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 de texto en el título negrita o cursiva

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

Ejemplo del array media_list:

[{"type": "photo", "media": "AgACAgIAAxkBAAIKa2W6HqQG151EaWOKnCyy8feBi8p_AAIH1zEbicvYSfi2QYj-CMreAQADAgADeAADNAQ", "caption": "video de fantasmas"}, {"type": "video", "media": "BAACAgIAAxkBAAIKpGW6P_HGDoVz7u4blDF6925WO-hmAALVPQACicvYSYwIWCJKwKIWNAQ", “caption”: “video de liebre”}]

Ejemplo

Veamos un ejemplo de función para enviar múltiples imágenes:

primero, crea un array de imágenes

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

Envía el bloque a ti mismo y disfruta del resultado

Ejemplo de código para copiar

Recuerda que los enlaces son únicos para cada bot, así que asegúrate de generar tus propios enlaces para el video

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)

Cómo enviar archivos adjuntos grandes

Ejemplo

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

  1. Puedes enviar archivos adjuntos de cualquier tamaño, sin límites de tamaño.
  2. También puedes enviar cualquier tipo de archivo adjunto que necesites.

Cómo hacerlo:

Copia el enlace a un archivo adjunto que ya sea accesible públicamente:

Luego, pega el enlace copiado en la función de archivo adjunto en tu bloque:

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