Telegram ha sido una de las grandes innovaciones en mensajería en los últimos años, permite la creación de bots para que se envíen mensajes y archivos a nuestros grupos y canales, con lo cual, podemos hacer que nuestros sistemas tengan la característica de enviarnos mensajes y notificaciones de cosas que sucedan.

La innovación no radica en la posibilidad de enviar mensajes, ya que eso lo hemos usado desde hace muchos años con el protocolo XMPP, sólo que con Telegram, podemos crear un canal y enviar mensajes y archivos a dicho canal para que los miembros puedan verlos, sin que tengan la posibilidad de contestar.

Voy a enumerar algunos ejemplos:

1.- Que cuando ocurra algún suceso importante en nuestro sistema, nos lo envíe por mensaje a Telegram, por ejemplo si tenemos una tienda en línea, cuando se haga un pedido, que nos lo notifique.

2.- Cuando ocurra algún error en la ejecución de las consultas de base de datos, que lo notifique a los desarrolladores; hasta el momento, si en mis sistemas ocurre algún error en la ejecución de consultas de base de datos, inserta la consulta, el error y el usuario, entre otras cosas, a una bitácora, y enviaba correo a los desarrolladores del módulo, y además correos a los principales del proyecto para que estuvieran al tanto. Ahora, se creó un canal privado de Telegram, se agrega a los desarrolladores, y se manda un único mensaje de error. Si se van o entras desarrolladores, sólo se necesita agregar o quitar usuarios al canal.

3.- Respaldar documentos que se suban a nuestros sistemas. Ya sea que se guarden en base de datos, o los almacenemos en el disco duro del servidor, es buena medida el que al subirse un documento a nuestro sistema, lo mande a un canal creado para los archivos multimedia. Puede ser que nunca los llegues a necesitar porque los tienes guardados en base de datos, pero de todas maneras tienes el documento original que se subió e identificado ya que al enviar un dcumento, puedes agregarle un título y colocarle hashtag. hay que recordar el respetar el derecho a la privacidad, los usuarios deben estar enterados de que se está respaldando dicha información y visible para nosotros.

4.- Hacer que el servidor nos notifique algún suceso; por lo regular usamos la función de envío de correo, pero o tenemos muchos correos separados para cada tipo de suceso, o nos encontramos que al abrir el correo tenemos cien mil de ellos sin leer, y a veces por estar revisando sucesos no tan importantes, podemos perder de vista a aquellos que sí lo son, así que podemos dejar el envío de correos para la mayor parte de los sucesos, y que nos mande mensaje a Telegram cuando sucede algo con mucha importancia.

5.- Pon aquí tus ideas.

Ahora bien, para poder crear un bot, necesitamos hablar primero con BotFather (sí, los de Telegram tienen sentido del humor), así que en nuestra sesión de Telegram, agregamos al usuario @BotFather.

Le mandamos la orden de crear un bot con /newboot

Con lo cual nos contesta que le asignemos algún nombre al bot, así que le mandamos el que queramos.

Con lo cual nos pedirá que elijamos un nombre de usuario (que termine con la palabra bot), de esa manera se podrá identificar y entablar una conversación por Telegram, nosotros también podemos elegir un alias, de esa manera no necesitamos dar nuestro número de teléfonos para que se comuniquen con nosotros. Por ejemplo, si quieres pedirme cotización de sistemas, páginas web, etc, te puedes comunicar a @AngelosRosemary =D.

Una vez que elijes el nombre de tu bot, entonces se muestra un token que será con el cual podremos conectar con nuestro código para la comunicación entre nuestro sistema y Telegram.

Hasta éste momento ya tenemos el token, ahora necesitamos el id del usuario al que se le enviará el mensaje, o el id del canal.

Debemos recordar que Telegram fue creado teniendo la seguridad en mente, por lo cual no podremos hacer envío de mensajes a usuarios siendo nosotros quienes empecemos la conversación, es decir, no podríamos hacer un barrido de usuarios y escribirles ya que eso sería spam, por lo que el usuario que recibirá el mensaje debe en primer lugar, iniciar la conversación al bot, simplemente escribiéndo su nombre en el cuadro de búsqueda de Telegram e iniciando un nuevo chat. Al hacerlo, entonces nuestro bot ya puede enviarle mensajes.

Con respecto a los canales, debemos en primer lugar agregar al bot como administrador, de otra manera no podría mandar mensajes.

Para saber el id del usuario al que se le enviarán los mensajes, o el id del canal, la manera más rápida es entrar a nuestra sesión en telegram web.

Para usuario: en la lista de chats, buscamos al usuario y vemos la dirección que nos muestra en la barra de direcciones lo cual nos mostrará un parámetro parecido al siguiente

?p=u123456789_1234567890123456789

Debemos tomar lo que está entre la u y _, es decir, en el ejemplo “123456789” y ese es el id del usuario.

Si aparece un @ algo, como por ejemplo @AngelosRosemary, entonces ese también lo puedes utilizar como id, recordando que si el usuario lo cambia, entonces el bot ya no podrá mandarle mensajes más adelante.

Para canales: en la lista de chats, buscamos el canal y vemos la dirección que nos muestra en la barra de direcciones lo cual nos mostrará un parámetro parecido al siguiente

?p=c1234567890_12345678901234567890

Debemos tomar lo que está entre la c y _, y anteponer un -100, es decir, en el ejemplo “-1001234567890” y ese es el id del canal.

Si aparece un @ algo, como por ejemplo @musicaClasica, entonces ese también lo puedes utilizar como id, recordando que si el canal lo cambia, entonces el bot ya no podrá mandarle mensajes más adelante.

Ahora, ya tenemos el id al que le enviaremos mensajes, continuamos con el código para hacerlo.

PHP

Enviar mensajes

$token = "TuTokenAqui";
$id = "IdDelUsuariooCanalAqui";
$urlMsg = "https://api.telegram.org/bot{$token}/sendMessage";
$msg = "Tu mensaje aqui";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlMsg);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "chat_id={$id}&parse_mode=HTML&text=$msg");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);
curl_close($ch);

 

Enviar archivos

 
$file = "rutaDelArchivoAquí"; 
$token = "TuTokenAqui"; 
$id = "IdDelUsuariooCanalAqui"; 
$caption = "Texto o hashtag en el mensaje del archivo"; 
$url = "https://api.telegram.org/bot{$token}/sendDocument"; 
$post = array( 'chat_id' => $id, 'document' => '@' . $file, 
               'caption' => $caption ); 

if (file_exists($file)) : 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $server_output = curl_exec($ch); 
    curl_close($ch); 
endif; 

 

Enviar imágenes

$file = "rutaDeLaImagenAquí"; 
$token = "TuTokenAqui"; 
$id = "IdDelUsuariooCanalAqui"; 
$caption = "Texto o hashtag en el mensaje de la imagen"; 
$url = "https://api.telegram.org/bot{$token}/sendPhoto"; 
$post = array( 'chat_id' => $id, 'photo' => '@' . $file, 
               'caption' => $caption ); 

if (file_exists($file)) : 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $server_output = curl_exec($ch); 
    curl_close($ch); 
endif; 

 

Bash

Enviar mensaje


USERID="IdDelUsuariooCanalAqui"
KEY="TokenAqui"
URL="https://api.telegram.org/bot$KEY/sendMessage"
MSG="Tu mensaje aqui"
curl -s --max-time 10 -d "chat_id=$USERID&disable_web_page_preview=1&text=$MSG" $URL

 

Enviar archivos


USERID="IdDelUsuariooCanalAqui"
KEY="TokenAqui"
URL="https://api.telegram.org/bot$KEY/sendDocument"
FILE="RutaDelArchivo"

curl --fail -F chat_id="$USERID" -F document=@"$FILE" $URL -X POST --progress-bar -o tmp --connect-timeout 0

Nota: “–progress-bar -o tmp” es para enviar el archivo y ver una barra de progreso, si no lo necesitas, se lo puedes quitar.

 

Python

Enviar mensaje


import requests
import sys

id = "IdDelUsuariooCanalAqui"

token = "TokenAqui"

url = "https://api.telegram.org/bot" + token + "/sendMessage"
params = {
'chat_id': id,

'text' : str(sys.argv[1])
}

requests.post(url, params=params)

Uso: python archivo.py “Mi mensaje de texto”;

 

Enviar archivo

import requests
import sys

id = "IdDelUsuariooCanalAqui"

token = "TokenAqui"

url = "https://api.telegram.org/bot" + token + "/sendMessage"

files = {
'document': open(str(sys.argv[1]), 'rb')
}

params = {
'chat_id': id
}

requests.post(url, params=params, files=files)

Uso: python archivo.py /ruta/de/tu/archivo.algo

Aprovecho su atención para promocionar mis canales

Canal para escuchar y descubrir compositores, obras e intérpretes de música clásica

https://telegram.me/musicaClasica

 

Lugar donde se colocan noticias, tutoriales y cosas interesantes de tecnología, ciencia e historia

https://telegram.me/canal_angelinux

 

Canal de imágenes graciosas para pasar un buen rato.

https://telegram.me/heterogenio

 

Notas finales, el bot que se creó para este artículo ha sido eliminado, ningún otro bot fue dañado durante la creación de esta publicación.


angelinux

Desarrollador de páginas web desde el año 2000 y con experiencia en programación de sistemas para empresas desde el 2008; cofundador de CONSoluciones; autor del blog de software libre “Angelinux-slack”; docente en maestría en UPAV y fundador de la distribución Linux Falco que está en desarrollo para la Universidad Veracruzana. Además, ponente, organizador de congreso, laborista social, impartidor de cursos de programación y servidores Linux, webmaster, y ex invitado en programa de televisión.

53 Comentarios

isidoro · 17 febrero, 2017 a las 08:24

buenas… podrias ayudarme, necesito mandar una foto de manera similar a sendDocument en php…

    angelinux · 18 febrero, 2017 a las 12:54

    Qué tal.

    Actualicé la entrada para dar soporte a envío de imágenes.

    Aquí te adjunto el código.

    $file = “rutaDeLaImagenAquí”;
    $token = “TuTokenAqui”;
    $id = “IdDelUsuariooCanalAqui”;
    $caption = “Texto o hashtag en el mensaje de la imagen”;
    $url = “https://api.telegram.org/bot{$token}/sendPhoto”;
    $post = array( ‘chat_id’ => $id, ‘photo’ => ‘@’ . $file,
    ‘caption’ => $caption );

    if (file_exists($file)) :
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $server_output = curl_exec($ch);
    curl_close($ch);
    endif;

    Saludos.

anonimus · 13 marzo, 2017 a las 13:33

hola, quería enviar una imagen para mi canal y no entiendo ¿en donde se hace?.Si me podrias decir en que página o lugar me serviría de ayuda

    angelinux · 8 mayo, 2017 a las 17:52

    El código para enviar imagen a tu canal es
    $file = “rutaDeLaImagenAquí”;
    $token = “TuTokenAqui”;
    $id = “IdDelUsuariooCanalAqui”;
    $caption = “Texto o hashtag en el mensaje de la imagen”;
    $url = “https://api.telegram.org/bot{$token}/sendPhoto”;
    $post = array( ‘chat_id’ => $id, ‘photo’ => ‘@’ . $file,
    ‘caption’ => $caption );

    if (file_exists($file)) :
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $server_output = curl_exec($ch);
    curl_close($ch);
    endif;

    Para ello debes tener un servidor que interprete PHP, así como crear un bot desde @BotFather emn Telegram.
    Ese bot debes colocarlo como administrador en tu canal e identificar el ID del canal.

    Espero te sirva la información. Saludos.

      sergio · 3 febrero, 2021 a las 08:22

      Hola, se puede lograr que el bot mande un mensaje predeterminado cada día en una hora determinada a UN CANAL. Al grupo sé hacerlo pero a canal no lo logro. Gracias

angelinux · 19 marzo, 2017 a las 17:23

El código para enviar imagen a tu canal es
$file = “rutaDeLaImagenAquí”;
$token = “TuTokenAqui”;
$id = “IdDelUsuariooCanalAqui”;
$caption = “Texto o hashtag en el mensaje de la imagen”;
$url = “https://api.telegram.org/bot{$token}/sendPhoto”;
$post = array( ‘chat_id’ => $id, ‘photo’ => ‘@’ . $file,
‘caption’ => $caption );

if (file_exists($file)) :
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close($ch);
endif;

Para ello debes tener un servidor que interprete PHP, así como crear un bot desde @BotFather emn Telegram.
Ese bot debes colocarlo como administrador en tu canal e identificar el ID del canal.

Espero te sirva la información. Saludos.

Esteban · 6 mayo, 2017 a las 14:51

Hola buenas tardes me gustaría saber si existe alguna forma de enviar una foto “sendPhoto” mediante C# cargando un archivo local

    angelinux · 8 mayo, 2017 a las 17:54

    Qué tal. Si hay forma, solo que no me enfoco a lenguajes de Microsoft, lamento no poder ayudarte.

    Saludos.

vicente · 4 junio, 2017 a las 12:32

Tengo en mi bd de datos números telefónicos de mis clientes, ¿como podria hacer para que me envie mensajes a esos números?

    angelinux · 6 junio, 2017 a las 12:37

    ¿Qué tal? En ese caso se debe crear un bot, y cada uno de esos números telefónicos debe instalar Telegram.

    Si se desea que todos reciban el mismo mensaje, lo mejor es agregarlos a todos a un grupo o canal y programar que desde tu sistema envíe un único mensaje al grupo o canal, así todos los que estén ahí recibirán la notificación.

    Si se desea que sean mensajes independientes, entonces se debe obtener el id de cada usuario (no es por número telefónico) y que cada uno de ellos agregue tu bot, ya que los bots no pueden iniciar conversación con un usuario (para evitar el spam). Una vez que cada cliente agregue el bot, ya puede enviar mensajes desde tu sistema.

    Puede que lo que más te convenga, si es mucho problema que todos tus clientes instalen Telegram y agreguen el bot, es mandar SMS tradicionales desde tu sistema.

    Si necesitas apoyo, se te puede cotizar lo que llegues a necesitar.

    Te dejo la liga de mi empresa

    http://www.consoluciones.com.mx

    Saludos.

Leandro · 19 junio, 2017 a las 11:01

Buenas!! estoy recién empezando, quisiera saber si podría crear un bot que frente a una consulta de un num de cliente responsa el estado que poseo en una tabla en un servidor interno

    angelinux · 19 junio, 2017 a las 12:16

    Que tal. Claro que si, aquí hay una variación en el problema. El bot no sólo va a enviar un mensaje a Telegram, sino que el usuario puede interactuar con el bot. Para esto se necesita en primer lugar crear el bot con soporte para webhook y debe estar en un servidor con SSL activado ya que Telegram por seguridad solo va a permitir que se le envíen comandos a los bots de manera segura.

    El bot recibe el mensaje, procesa, consulta base de datos si es necesario, y puede enviar de regreso un mensaje, imagen, archivo o hipervínculo. Esto conlleva a un detalle que hay que tomar en cuenta, los bots son públicos, por lo que si sólo quieres que determinadas personas puedan hacer uso del mismo, se debe agregar alguna capa de seguridad como revisión del ID del usuario, o una clave de paso para validar que sea un usuario permitido y que no cualquier persona que ande buscando bots, pueda hacer uso del tuyo.

    http://blog.angelinux-slack.net/2017/01/28/usar-un-bot-de-telegram-como-monitor-de-servidores-linux/
    Éste es un ejemplo de un bot de Telegram que es capaz de interactuar con las órdenes enviadas desde la aplicación, trae el vínculo al código fuente del mismo. Es un poco austero ya que fue mi primer bot.

    Si necesitas soporte profesional o un desarrollo específico puedes contar con nosotros.

    http://consoluciones.com.mx/newpage/index.php

    Saludos.

Juan · 6 septiembre, 2017 a las 20:36

Buenas. Quisiera tu ayuda. creé un bot con @chatfuel (que crea bot sin programar) pero cuando envío los mensajes no llegan a mi canal. Despues probe con otro llamado @manybot y tampoco llegan los mensajes. Que me estoy saltando? Que me falta?

    angelinux · 11 septiembre, 2017 a las 08:58

    Buen día, nunca he usado los bots para hacer bots como manybot, pero el primer paso es revisar si ya agregaste al bot como administrador en tu canal para que tenga permisos de enviar mensajes.

    Saludos.

      andres · 10 enero, 2020 a las 19:54

      YO QUISIERA REENVIAR MENSAJES DE UNA CONVERSACION A OTRA, COMO PODRIA HACER ESO ?

lee · 8 octubre, 2017 a las 04:21

Hola amigo
Quiero empezar con el tema de telegram.
ME gustaria saber si tienes algún ejemplo para mandar respuestas automáticas a través de un canal.
Que si alguien escribe ‘que tal’ le responsa ‘muy bien’… por ejemplo
Espero que puedas ayudarme.
saludos

    angelinux · 8 octubre, 2017 a las 12:02

    Buen día.
    ¿Te refieres a que el bot solamente mande mensajes a un canal? O que en un canal alguien escriba y el bot le vaya respondiendo.
    Ya que hay qye tener en cuenta que en los canales lo usuarios no pueden escribir a menos que sean administradores.

    Saludos.

lee · 8 octubre, 2017 a las 12:19

uppps, pues tienes razón!
Supongo tendré que crear un boot solo de ayuda.
Mi intención era hacerlo todo en uno, pero ya veo que no se puede…
Pues crear un bot con ayudas. Que la gente pueda preguntar y el bot responda.

Y muchas gracias por la ayuda!!!

    angelinux · 8 octubre, 2017 a las 12:30

    Las personas pueden hablarle directamente al bot y éste contestarle.
    La razón de esto es por la seguridad. Un usuario (su ID) debe iniciar la conversación directamente con el bot (su ID), así se evita el spam, por lo que el usuario debería iniciar la conversación con el bot directamente en primer lugar.

lee · 8 octubre, 2017 a las 13:25

Perdona pero estoy empezando y me lio mucho…
Si tengo mi telegram con mi numero de telefono y quiero tener un ‘canal’ o algun sistema que la gente me mande una pregunta y este responda solo. Cual es la mejor opción?

Supongo esto será otra cosa, pero he visto algunos sitios que tienen te dicen que debes añadir el teléfono y mandar la palabra ‘alta agenda’, por ejemplo. Se supone que tienen algún sistema automático que les da de alta en los mensajes que mandan con la actividad de la agenda?

Como te decía al principio, para crear algún sistema con las respuestas automáticas, tienes algún ejemplo en algún sitio para ver o descargarlo y hacer pruebas?

Saludos

    angelinux · 8 octubre, 2017 a las 13:43

    Si tengo mi telegram con mi numero de telefono y quiero tener un ‘canal’ o algun sistema que la gente me mande una pregunta y este responda solo. Cual es la mejor opción?

    La mejor opción es tener el bot en sí mismo. Tu creas tu bot y le das un nombre, por ejemplo EMpresaSoporteTecnico_bot. La gente al entrar a tu bot, éste le puede dar la bienvenida y mostrar algunas reglas o como usarlo.
    La persona que entró a tu bot puede escribir comandos para obtener cierta información, o bien, escribir algo y el bot lo recibirá y procesará y se le responderá.

    Por ejemplo, si quieres que se use “alta agenda”, puede ser que agregues un comando /alta_agenda, o /alta con el parámetro agenda o solo que escriban la frase “alta agenda”. Debes tener un servidor con SSL vinculado a tu bot, y será el que reciba los mensajes que se le escriba. Procesas los datos, conectas a base de datos o cualquier cosa que necesites y mandas una respuesta de regreso a la persona que te escribió, además puedes mandar mensajes a canales o grupos donde el bot se haya agregado como administrador.

    Tengo algunos bots que te pueden servir de ejemplo para empezar
    Bot como monitor de tu servidor Linux. El código fuente está en github.
    https://blog.angelinux-slack.net/2017/01/28/usar-un-bot-de-telegram-como-monitor-de-servidores-linux/

    Bot para obtener información reciente y cercana de derrumbes, centros de acopio, ayuda, etc por el sismo del 19 de septiembre en México.
    https://blog.angelinux-slack.net/2017/09/27/bot-para-obtener-informacion-cercana-del-sismo-del-19-de-septiembre/

    Actualmente estoy creando un minitutorial para bots de telegram donde se explique detalladamente como crearlos, como utilizarlos para que desde nuestros sistemas (en PHP) se mande información a un canal o grupo nuestro) y como crear código para montarlo en un servidor y que ahí reciba las peticiones de las personas, se procesen y se les conteste.

    Espero más o menos haber despejado alguna duda que tengas, en caso contrario me comentas.

    Saludos.

lee · 9 octubre, 2017 a las 09:02

Muchas gracias por todos tus comentarios y ayuda.
La verdad que creo que esto se me escapa un poco de mis posibilidades técnicas…
Necesitaré buscar alguna ayuda externa para que programe el PHP con el código.
Una vez hecho, para añadir mas opciones sí que podre…creo…
Espero ver el minitutorial pronto.
Saludos

    angelinux · 9 octubre, 2017 a las 09:36

    Quedo a tus órdenes para alguna cotización de servicios profesionales.

    Si necesitas un desarrollo de bot o software y contratación de dominio y hosting, se te entrega todo el código fuente de software desarrollado y explicación de dudas sobre el mismo; estoy a tus órdenes en [email protected] o de manera directa en @AngelosRosemary en telegram.

    Saludos.

Irvin García · 14 febrero, 2018 a las 00:42

Hola, he estado programando mi bot en python pero quisiera que mi bot les respondiera con su nombre de usuario en Telegram, me puedes ayudar con eso? Gracias

Daniel · 11 marzo, 2018 a las 05:51

Una pregunta, quisiera enviar mensajes automaticos con videos y fotos a mi canal de Telegram, pero qusiera programarlos para varios dias, indicando fecha y hora, como podria hacerlo?

    angelinux · 29 julio, 2018 a las 19:44

    Qué tal.

    De una manera sencilla no se podría hacer, para ello se tendría que utilizar algún programador de envíos, por ejemplo via web, donde se coloque el contenido y se programe el envío, pero se necesita desarrollar. Hice para un cliente algo parecido pero para venta de productos de gearbest.

    Por otro lado si ya cuentas con algún servicio de programador de actividades (como un blog en wordpress por ejemplo) y éste tiene soporte para IFTTT, se puede vincular con tu canal y al publicarse en el primer servicio, automáticamente se enviaría a tu canal o grupo de Telegram.

    Saludos.

David · 15 mayo, 2018 a las 15:55

Hola me gustaría configurará un bot en telegram que copie los mensajes que reciba de varios canales y los mande al bot donde lo puedan ver todas las personas q están en el bot. No se si me explique biem, me gustaría agrupar todos los mensajes q recibo por varios canales para que los podamos ver todos juntos desde el bot, me sabían decir si es posible y si lo es como se hace o donde puedo buscar como se hace, un ssludo y gracias

    angelinux · 1 agosto, 2018 a las 14:47

    Qué tal.
    Es posible sólo si el bot que se desarrolla tiene permisos de administrador en cada uno de los canales al que se quiera obtener acceso a los mensajes para poder reenviar.

    Saludos.

David Gutierrez · 17 mayo, 2018 a las 14:04

Hola, he estado probando pero me gustaria que mi bot hiciera algo más, por ejemplo que yo por chat le enviara un getCurrentUsers y en PHP crear un metodo que me devolviera todos los usuarios conectados a mi base de datos

Daniel Antonio Sánchez Romero · 24 agosto, 2018 a las 10:24

Hola, ¡Buenisimo aporte!, pero talvez tu me puedes orientar, conozco sobre PHP y NodeJS he intentado con ambos lenguaje, algo que este consultando algo cada x tiempo para saber nuevos registros en una base y me notifique el bot… pero sinceramente no logro que sea automatico algo, ya que por PHP, la página tiene que estar abierta y por NodeJS por lo que entiendo, no es posible, talvez me puedes dar luz tú, te lo agradecería mucho.

    angelinux · 14 octubre, 2018 a las 18:32

    Recuerda que PHP puede ejecutarse en línea de comandos, por lo que puedes usar una tarea CRON que ejecute un script donde hace la consulta a la base de datos y envíe mensajes al bot.

Fernando Contreras · 28 agosto, 2018 a las 11:06

Solo agradecerte, me sirvio mucho este tutorial!! Aguante telegram loco, no me importa nada

Alexis · 14 enero, 2019 a las 08:01

Hola qué tal? feliz 2019. ¿Existe la posibilidad de crear un bot de telegram que me envíe notificaciones de una cuenta de instagran y twiteer? Yo la verdad no tengo ni idea de programación, pero estaría dispuesto a aprender.

Un saludo.

    angelinux · 3 marzo, 2019 a las 09:40

    Buen día. Existe la posibilidad, aunque para realizar lo que deseas ya existe una herramienta llamada IFTTT que permite conectar servicios y ejecutar alguna función, por ejemplo

    Si hay un tweet nuevo de x, entonces enviar el mensaje a mi cuenta de telegram Y

    Se les llama recetas y puedes interconectar cientos de servicios.

    Se puede, por supuerto hacer un código que realice tales opciones, aunque si no tienes experiencia en programación, el primer paso sería iniciarse en éste ámbito para después poder realizar los bots que realicen el proceso.

    Saludos.

Alexis · 23 febrero, 2019 a las 23:42

Hola perdona estoy empezando y quiero hacer un bot que se conecte a un Linux por un puerto, eso ya lo logre. Pero quiero en el bot que escribir un comando /verips y lo envíe en respuesta despliegue un menú de opciones con las posibles y cuando se escoja una guardarla como variable para utilizarla en la conexión al equipo Linux hacer la consulta y que devuelva el o los valores.

    angelinux · 3 marzo, 2019 a las 10:12

    Que tal. ¿En qué paso vas? ¿O cuál es la parte en la cual estás atorado?

    Saludos.

Fernando Odriozola Gómez · 6 marzo, 2019 a las 06:57

¿Hay alguna forma de enviar mensajes por el alias y no por el id?

Andres · 2 junio, 2019 a las 15:55

Hola buenas , como puedo hacer para crear un hipervinculo con el link de mi canal ejemplo : electro con subrrayado y que no salgan el link con joinchat…. Gracias por su respuesta

Andres · 2 junio, 2019 a las 16:00

Hola buenas , como puedo hacer para crear un hipervinculo con el link del canal ejemplo : electro con subrrayado y al hacer click los miembros puedan ingresar al canal y que no aparesca el link de invitacion de joinchat…. Gracias

avrx · 13 agosto, 2019 a las 08:19

Buenas estoi haciendo un proyecyo en vb.net para enviar una imagen a telegram, pero me da error (400)

pongo mi codigo por si me podeis ayudar.

‘******************************************************************************************************************************************
Dim myReq As HttpWebRequest
Dim myResp As HttpWebResponse

Dim urlTelegram As String
Dim ruta As String = (“D:/foto.jpg”)

urlTelegram = “https://api.telegram.org/bot” & token & “/sendPhoto?chat_id=” & telegram & “&photo=” + ruta

myReq = HttpWebRequest.Create(urlTelegram)

myResp = myReq.GetResponse
‘******************************************************************************************************************************************
al iniciar el proyecto y darle al boton me sale:

Error en el servidor remoto: (400) Solicitud incorrecta

sin embargo hago lo mismo cambiando la ruta por una imagen de internet por ejemplo esto:

‘******************************************************************************************************************************************
Dim myReq As HttpWebRequest
Dim myResp As HttpWebResponse

Dim urlTelegram As String
Dim ruta As String = “https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRIkDPdNdMvK3HcWRzcwXsm_vK5KV2F0jOMzxsR98i3-MA_RhTTsw”

urlTelegram = “https://api.telegram.org/bot” & token & “/sendPhoto?chat_id=” & telegram & “&photo=” + ruta

myReq = HttpWebRequest.Create(urlTelegram)

myResp = myReq.GetResponse
‘******************************************************************************************************************************************
funciona bien el tema esque la ruta del directorio no esta bien definada o algo, espero ayuda de alguien gracias de antemano.

CECE · 1 enero, 2020 a las 23:31

Hola estoy tratando enviar un archivo de excel siguiendo tu ejemplo de php para archivos, pero no lo logró, en que puedo estar fallando, con los mensajes de texto tu ejemplo me funciona a las mil maravillas. Uso PHP 7

Edward Montaraz · 7 febrero, 2020 a las 17:05

Hola buenas tardes, por casualidad conoceras el codigo para realizar lo mismo pero con C# para telegram?
y tambien queria saber si esposible usar imagenes guardadas en GoogleDirve!

Francisco · 24 febrero, 2020 a las 13:24

Hola , he seguido los pasos que has marcado y cuando ejecuto el archivo bash me da el siguiente error:
{“ok”:false,”error_code”:400,”description”:bad Request: chat not found”}

He seguido todos los pasos de tutorial y he probado con dos id de usuario diferentes y me ha salido el mismo error en los dos

Saludos y gracias de antemano

Edgar · 7 marzo, 2020 a las 13:53

Que al amigo, estoy intentando enviar mensajes con el token de un bot creado hacia un canal creado donde el bot esta como administrador, uso tu código PHP pero no me funciona, nunca veo en el canal el mensaje enviado pro el bot.

Ojo estoy usando el código:

error_reporting(E_ALL);
ini_set(‘display_errors’, true);

echo “llegue aqui”;

$token = “xxxxxxx”;
$id = “@alarmasiot”;
$urlMsg = “https://api.telegram.org/bot{$token}/sendMessage”;
$msg = “Mensaje desde PHP”;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlMsg);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, “chat_id={$id}&parse_mode=HTML&text=$msg”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);
curl_close($ch);

truko22 (@truko22) · 3 abril, 2020 a las 12:46

Muy agradecido, excelente información solo una pregunta si no es mucha molestia, para darle formato al texto intente prueba para resaltar en negrita un parte del texto pero no me sirvió. Estoy trabajado con Bash.

duub · 16 abril, 2020 a las 09:25

Hola! Estoy intentando crear un bot en php en el que se de una conversación tipo “pregunta respuesta” solo he encontrado ejemplos en python, sabes si hay alguna manera de hacerlo en php? como este ejemplo:
https://www.pasionseo.com/como-crear-un-bot-de-telegram-avanzado/#Dame_conversacion
muchas gracias por compartir tu conocimiento!

Emanuel Yaselga · 23 mayo, 2020 a las 12:41

Una consulta nosotros tenemos un bot que genera una webhook y lo tenemos conectado a FLASHLK de python pero quisieramos que se genere una respuesta en telegram en un numero especifico es posible?

Daniel Hernández · 13 mayo, 2021 a las 10:24

Hola que tal, buenos días.

Quisiera migrar un bot de “soportes” que se tiene creado en WhatsApp con Python
este envía mensajes de “Notificaciones” cuando alguien “levanta un soporte”
se tiene un sistema en el cual una persona pide un soporte por sistema y este bot automáticamente
nos hace llegar en un grupo de WhatsApp el nombre de la persona que pide el soporte, el área a la que
hay que ir a dar el soporte, una breve descripción del motivo del soporte, y el tiempo que ha transcurrido
desde que se pidió el soporte, toda esa información debe de llegarnos en un mensaje automático
entonces, se puede con Telegram hacer un bot que mande mensajes en un grupo creado
en donde el bot obviamente sea el administrador y mande automáticamente esos mensajes de
notificación cada 3 minutos??, sin necesidad que alguien deba enviar un mensaje para que el
bot comience a enviar los mensajes, si no que cuando la persona que ocupe el soporte al momento de
pedirlo en el sistema el bot comience a enviar los mensajes cada 3 minutos a partir de la solicitud del soporte.

De ante mano muchas gracias.

Saludos.

Lisandro Canal · 8 junio, 2021 a las 12:28

Hola queria consultar una cosa. Yo uso el siguiente codigo para mandar a un grupo

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlMsg);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "chat_id={$id}&parse_mode=HTML&text=$msg");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);
curl_close($ch);

tengo el problema que al mandar varios seguidos (entre 5 y7) hay algunos mensajes que no se mandan, pero si trato de mandarlos por separado no tiene problemas.
Saludos, Canal Lisandro

Carlos Camacho · 2 septiembre, 2021 a las 17:09

Hola, hay alguna forma de que un bot envié a un canal enlaces por ejemplo de afiliados de amazon. Lo de enviar al canal esta claro, lo que no puedo hacer es enviar los enlaces, sin que se vea todo el texto html como parte del mensaje

Deja un comentario