Desarrollo de bots para Telegram: Enviar archivos a un usuario, grupo o canal

La API para bots de Telegram proporciona diferentes métodos para enviar archivos, ya sea una imagen, un audio, un sticker, un documento y otros, ahora veremos como enviar cada uno de ellos:

sendPhoto

Este método sirve para enviar una imagen, los parámetros son:

  • chat_id (Requerido): Es el identificador del usuario, grupo o canal al que va dirigido.
  • photo (Requerido): La imagen a enviar, puede ser tanto el id de un archivo ya existente en los servidores de telegram, un archivo local o la url de la imagen.
  • caption: un texto que acompaña a la imagen, es opcional y puede tener un máximo de 200 caracteres.
  • disable_notification: no se notificará el envío del mensaje.
  • reply_to_message_id: si el mensaje es una respuesta, el id del mensaje que se está respondiendo.
  • reply_markup: esta envía junto al mensaje, una petición de respuesta al usuario, en otro artículo ahondaremos más sobre esta opción.

Ejemplo de uso

Envío de una imagen local

Envío de imagen desde una URL

El resultado en ambos casos será algo como esto

Otros métodos que usan prácticamente los mismos parámetros son los siguientes.

  • sendDocument: Permite enviar un documento no mayor de 50mb, el único parámetro que cambia es photo por document.
  • sendSticker. Permite enviar un sticker, este debe ser un archivo en formato WEBP, el parámetro a cambiar es photo por sticker.
  • sendVoice. Permite el envío de un mensaje de voz, este debe estar en formato OGG y tener un tamaño no mayor a 50mb, con este método cambia el parámetro photo por voice y además se añade un nuevo parámetro llamado duration que es opcional e indica el tiempo de duración del audio.
  • sendLocation. envía un punto en el mapa, en este método se elimina el parámetro photo y se agregan los parámetros latitude y longitude.
  • sendVenue. envía una dirección, los parámetros que pide esté método son latitude, longitude, title, address y foursquare_id; este último es opcional.
  • sendPhoneContact. envía un número de contacto, los parámetros que pide son phone_number, first_name y last_name.

sendAudio

Con este método se puede enviar un archivo MP3 de hasta 50mb, tiene básicamente los mismos parámetros del método anterior, pero algunos cambios detallados a continuación:

  • audio (Requerido): al igual que el párametro photo del método anterior, acá se puede enviar el id de un audio que ya existe en los servidores de telegram, un audio local o la URL de un audio en internet.
  • duration: este parámetro es opcional, indica la duración del audio.
  • performer: indica el creador del audio.
  • title: indica el título del audio.

Ejemplo de uso

sendVideo

con este método se pueden enviar videos, deben ser en formato MP4 y no pueden pesar mas de 50mb, los parámetros adicionales que pide son los siguientes:

  • video: al igual que en otros métodos de envío de archivos, este acepta tres tipos de valores, el id de un video que ya esté en los servidores de telegram, un archivo local o la URL de un archivo en internet.
  • duration: duración del video, en segundos.
  • width: ancho del video.
  • height: alto del video.

Ejemplo de uso

En el siguiente artículo veremos como hacer que el bot interactúe con los usuarios, si tienen alguna duda o sugerencia pueden hacermela llegar por los comentarios 🙂

Deja un comentario

A %d blogueros les gusta esto: