Después de tanto hablar de comercio conversacional como del futuro del ecommerce, de cómo WeChat y Telegram sirven de inspiración a Facebook y de cómo los bots pueden convertirse en las nuevas aplicaciones ligeras que revolucionen (una vez más) el mobile-todo (commerce, health, social y lo que usted quiera) nos dimos cuenta de que había llegado la hora de dejar de leer e imaginar posibilidades y de hacer algo: queríamos crear un bot de Telegram sin programar.
Nota: si quieres crear un bot en WhatsApp, hemos preparado una guía en AppCritic.
La curiosidad nos picaba desde hace algunos meses, cuando empezamos a probar bots de Telegram tras leerlo en un artículo de Genbeta, donde también leímos sobre las posibilidades que ofrecen los canales (hasta monté un canal de Telegram al que ni Tamara, la otra mitad de 2geeks1city. se molestó en suscribirse, ejem ejem).
Pero el primer problema no tardó en aparecer: ninguno de los dos sabemos programar. Algunas lecciones básicas de Codecademy y Arduino, aunque divertidas, no nos iban a resultar suficientes para hacer nuestro propio bot y hacer maravillas. Por suerte descubrimos Chatfuel (anteriormente conocido como «Paquebot», que fue con lo que hicimos nuestra primera versión) y todo cambió: podíamos hacer un bot paso a paso, sin tocar una línea de código.
De hecho, podíamos hacer el bot desde el móvil. Que no es la opción más recomendable (es mucho más cómodo desde el escritorio), pero por poder, se puede.
Y así nació nuestro bot, que es como nuestro hijo, pero ni llora ni pide dinero. Si queréis añadirle a Telegram, podéis hacerlo aquí. Nuestra idea es compartir cosas que hagamos en el día a día, y dejar una buena batería de consejos geek para los que vayan a hacer un viaje largo: iremos viendo cómo evoluciona, porque de momento es sólo un experimento.
Ahora, vamos a ver paso a paso, cómo crear un bot en Telegram sin programar.
Si aprender más a fondo, apoyarnos y, de paso, ahorrarte dinero, entra en este curso de Udemy. Ahora mismo tiene un descuento especial.
Descarga Telegram, en móvil y escritorio
Obviamente, el primer paso es descargar e instalar Telegram. La aplicación de escritorio funciona muy muy bien, y aunque no sea necesaria para nada de lo que vamos a hacer, a nosotros nos ha parecido mucho más cómodo hacerlo desde el escritorio: se ve más grande y ciertas tareas son más fáciles.
Para descargar Telegram sólo hay que ir a su web y elegir la plataforma que usemos en móvil (iOS, Android o Windows) o (Mac, Windows, Linux, también cuentan con versión web), descargar e instalar. El proceso de activación requiere confirmación por SMS, como WhatsApp y otros, pero no tiene ninguna complicación.
Crea el bot con «BotFather»
El siguiente paso es la creación del bot en sí. Basta con añadir al usuario «BotFather» (el bot creador de bots, el nombre es buenísimo) y pedir que nos haga una criatura.
Una vez añadido podemos usar una serie de comandos:
- /newbot – para crear un nuevo bot
- /token – para generar el token
- /revoke – revocar acceso al token
- /setname – cambiar el nombre del bot
- /setdescription – cambiar la descripción del bot
- /setabouttext – cambiar el texto «about me»
- /setuserpic – cambiar la foto de perfil
- /setinline – cambiar los ajustes de «inline» (lo que permite que el bot interactúe desde cualquier chat), perfecto para bots que participen en grupos (como bots de Trivial y cosas así). Más información aquí
- /setinlinefeedback – relacionado con lo anterior y que no nos interesa por ahora
- /setcommands – establece los comandos del bot
- /setjoingroups – determina si el bot se puede o no unir a grupos
- /setprivacy – determina los mensajes que verá nuestro bot si se une a un grupo
- /deletebot – eliminar un bot
- /cancel – cancelar lo que estemos haciendo
Para crear al bot basta con hacer clic / pulsar en «/newbot» o escribir el comando en el chat. Una vez hecho nos preguntará por el nombre de nuestro bot. No puede empezar por números (por eso no empezamos por nuestro «2») y tiene que acabar en «bot».
Al hacerlo, nos dirá que ya está, nos proporcionará el token, la url del perfil de Telegram y nos sugerirá que añadamos algunos detalles a nuestro bot.
Añadiendo foto de perfil, acerca de y descripción a nuestro bot
Aunque no es obligatorio (si estáis impacientes por tener el bot en marcha os podéis saltar este paso y luego volver) sí es recomendable dejar las cosas un poco «apañadas».
Son, literalmente, 3 cosas:
- La imagen de perfil, que es la foto que vemos del usuario (bot en este caso) en la conversación. Queda un poco dejar al bot sin imagen, pero ponerla es fácil: escribiendo o pulsando en «/setuserpic» BotFather nos pedirá elijamos el bot cuya imagen queramos cambiar y que subamos una foto de perfil, basta con enviarla a la conversación.
- El «acerca de» es el texto de 120 caracteres (menos que un tuit) que se muestra en la página perfil del bot. Un buen sitio para un mensaje claro que incite a añadirlo. Con el comando «/setabouttext» BotFather nos preguntará el bot que queremos editar y después nos pedirá que introduzcamos el texto.
- La descripción es un texto de 512 caracteres que es el que verán los usuarios al empezar la conversación, donde debemos explicar qué se puede hacer con nuestro bot. Con el comando «/setdescription» podremos establecer o cambiar nuestra descripción.
Ahora toca «programar» a nuestro bot con Chatfuel: vamos a crear un bot de Telegram sin programar
Una vez seguidos todos los pasos anteriores ya tendremos la base de nuestro bot. Pero un bot torpe que… No hace nada. Aquí es dónde los no-programadores vemos ciertos tutoriales y exclamamos: «WTF!?» mientras hacemos scroll por pantallas raras con códigos. Por suerte unos emprendedores rusos tuvieron la visión de un mundo de bots chateando entre ellos y decidieron empoderar al early adopter no programador con paquebot, renombrado hace poco menos de un mes como Chatfuel.
Su lema: crea chatbots para interactuar con tu audiencia en las apps de mensajería.
Y su visión es hacerlos multiplataforma, aunque de momento se centran en Telegram, la idea es poder usarlos en Facebook Messenger, Kik y otros.
Y gracias a ellos y los tutoriales que cuelgan por Medium hemos podido crear un bot de Telegram sin programar (¿lo has añadido ya? Si has llegado hasta aquí sin añadirlo, ¿de qué vas?). Con Chatfuel ya se han creado más de 100.000 bots, de empresas como Forbes, TechCrunch o Product Hunt.
En nuestro caso hemos ido a lo más básico, pero con la integración de Zappier e IFTT se pueden hacer bastantes cosas.
Añadimos Chatfuel a nuestro bot
Para eso, abrimos una conversación con Chatfuel, (simplemente buscamos «chatfuel» como si se tratara de otro usuario) y al empezar podremos pulsar «Nuevo Bot» o escribir el comando /addbot y pegamos el token que nos dio BotFather. Si no lo hemos copiado o no lo tenemos, basta con volver a la conversación BotFather y enviar «/token», eligiendo después el bot en el que queramos instalar Chatfuel.
Una vez hecho esto Chatfuel se habrá instalado en nuestro bot y a partir de aquí las operaciones de configuración las haremos en nuestra criatura. Al realizar esta paso deberíamos recibir un enlace tipo telegran.me/NOMBREDELBOT?start=adm, que nos llevará directos al panel de administración de nuestro bot.
El panel de administración tienen una pinta tal que así:
Las opciones son bastante descriptivas, pero por hacer un repaso rápido, veremos las principales:
/questions
Nos permite hacer preguntas desde el bot a los usuarios y almacenar sus respuestas. Una idea puede ser pedir su correo electrónico o su cuenta de Twitter.
/send
Enviamos mensajes a los usuarios que tengan al bot de forma directa.
/automate
Seguramente sea la opción más interesante. Aquí podemos añadir canales y hacer que nuestro bot los republique, ya sea a través del propio bot o en un canal. Podemos añadir Twitter, Instagram, Facebook, RSS,…
Nosotros compartimos nuestras publicaciones en Instagram (no son demasiados) y el RSS del blog.
/commandsV1
Nos permite definir textos específicos con los que el usuario puede interactuar con el bot, definiendo también las respuestas que puede dar. Tenemos un par de comandos secretos, por cierto 😉
/menus
Los menús son otra de las partes más interesantes. Podemos editar menús con botones y configurar su comportamiento, para que el contenido que añadamos se muestre de forma aleatoria u ordenada. Esto nos permite añadir cierta interacción, no muy compleja, pero útil para lo que queríamos hacer: dejar consejos de viaje por países y enlaces a algunos vídeos.
Hemos dejado enlaces, pero también se pueden subir audios, vídeos o, por supuesto, textos.
Promociona tu bot de Telegram
Una vez terminado tu bot te gustará que alguien lo use, ¿no? El feedback de la gente te ayudará a mejorarlo.
Desde el propio Chatfuel podemos obtener links para compartirlo en Twitter o Facebook o, lo más interesante, subirlo a la Telegram Store Bot.
Si elegimos la Store Bot, nos preguntará la categoría y nos pedirá que esperemos a la aprobación. Mientras, nos dejará un enlace para que se lo pasemos a nuestros contactos y puedan ir evaluando el bot. Las categorías son variadas, pero muy amplias: juegos, noticias, foto y vídeo…
Repasando todos los pasos para crear el bot de Telegram
Nada como un repaso para tener una perspectiva general del proceso:
- Creamos el bot con BotFather, iniciando una conversación con él.
- «Instalamos» Chatfuel en nuestro bot. Lo hacemos iniciando una conversación con Chatfuel y proporcionándole el token del bot que hemos creado.
- Abrimos una conversación con nuestro bot. Si lo hacemos desde el enlace que recibimos al «instalar» chatfuel entraremos directamente a la administración. Si no, basta con escribir «/chatfuel» en nuestro bot. Si no se abre el menú de administración, es que algo hemos hecho mal.
- Desde el menú podremos automatizar, añadir canales, menús, contenido o comandos. Incluso promocionar nuestro bot.
Algunas consideraciones sobre los bots de Telegram
Hay que tener en cuenta que:
- El nombre del bot siempre tiene que acabar en «bot»
- Los bots se distinguen por el pequeño icono que emula una cabeza robótica.
- También pone en su página de perfil que se trata de bots.
- Los bots pueden unirse a grupos, por defecto no reciben los mensajes.
- Con las funciones «inline» se puede «invocar» al bot desde cualquier chat.
- En cierto modo los bots son una mezcla entre aplicaciones sencillas (botones, comandos) y en algunos casos inteligencia artificial
- Hay de todo, desde bots para descargar vídeos o audio de YouTube, a juegos de Ahorcado, Trivial o asistentes de viaje.
Aunque nuestro bot es muy muy sencillo, con trabajo y programación se pueden hacer cosas realmente brutales. Los bots de Forbes y TechCrunch están hechos con Chatfuel, aunque no hemos sido capaces ni de acercarnos a sus funcionalidades, suponemos que en algún momento será posible hacer algo así sin programar.
Enlaces para seguir aprendiendo
Nosotros estamos todavía investigando, aquí va una serie de recursos para avanzar más:
- La web de Telegram donde explican cómo funciona toda la API de bots.
- La web de Chatfuel, donde suponemos que irán poniendo más información. La sección de ayuda es el mejor sitio para empezar.
- En el Medium de Chatfuel hay más tutoriales y ejemplos (usando «paquebot», pero cambiando este por «chatfuel» se puede entender todo).
- En Genbeta recomiendan 13 bots interesantes, pueden servir de inspiración.
- Hay muchos tutoriales, pero requieren saber programar… De momento nos abstenemos, pero quién sabe…
- En este curso de Udemy lo explican todo a fondo, y ahora mismo con un descuento del 75%.
Hazte amiguito de nuestro bot, «the2geeks1citybot»
Imagen | Pixabay
Hola enhorabuena por la web, está muy bien la verdad. Mi consulta es la siguiente, estoy realizando un bot de Telegram pero no entiendo cómo meto el bot en los canaes de mis amigos para que les funcione. A ver si me podéis ayudar que no doy con ello. Gracias y enhorabuena
Hola Pablo, muchas gracias 😉
Aquí hay dos partes, la primera, que mola mucho, no está todavía al alcance de Chatfuel (al menos que sepamos) y la segunda, que sí.
***El modo inline (que todavía no se puede usar con Chatfuel, o no hemos sido capaces)***
1) Para que el bot pueda entrar en conversaciones en grupos tienes que activar el inline. Eso se hace desde BotFather (con lo que creaste el bot en primer momento). Abres una conversación con BotFather y o bien escribes «/setinline» o haces click en la opción del menú que sale con «/help». Eliges el bot en el que quieras activarlo y luego escribes la palabra que sirve de «placeholder».
2) Luego en un grupo o en una conversación basta con que escribas @NOMBREDEBOT para que llames al bot a la conversación. Un ejemplo útil y bueno de cómo funciona es el bot de IMDB (@imdb): en cualquier grupo o conversación puedes «invocar» al bot. En el caso del bot de IMDB puedes obtener información de películas.
Para aprovechar esto hay que saber programar. Tiene muchas posibilidades, como puedes ver aquí. En el fondo lo que está haciendo Google ahora con Allo se parece mucho a esto
***Añadir tu bot creado con Chatfuel a un grupo***
Esto es relativamente fácil, basta con que vayas a la página de perfil del bot.
-> Desde la aplicación móvil. En la pantalla principal seleccionas tu bot, luego haces click en la cabecera del mismo y después en los tres puntos de la esquina superior derecha. Ahí verás la opción de «Añadir al grupo». Y listo.
-> Desde la aplicación de escritorio. Eliges el bot, clic en el botón derecho, «Ver información» y ahí verás «Añadir al grupo». (Esto está hecho desde la app de Mac, entendemos que la de Windows será igual o muy parecida).
Y listo 😉
Por otro lado, hablas de «canales». Hemos entendido que te referías a grupos, pero también existen canales en Telegram. Los canales son sólo para enviar información (vamos, la gente se suscribe y sólo recibe información). También puedes sincronizar tu bot con tu canal. Esto es muy fácil, aunque no sé si es lo que querías hacer:
1) Abres el menú de administración en tu bot (/chatfuel)
2) Eliges «Automatizar»
3) Luego le das a «Canales»
Y ahí introduces el nombre del canal (tienes que ser administrador del mismo).
Un saludo y gracias por pasarte por aquí
🙂
Necesito un bot, que unicamente diga una frase de bienvenida a un usuario que entre nuevo a mi grupo. Que pasos debo seguir?
Hola Irene, ¿tienes un Grupo en Telegram y quieres añadir tu bot ahí, no?
Si exactamente. Tengo el Bot creado. Me gustaria que ese Bot, una vez metido al grupo, cada vez que alguien entre nuevo, le diga una frase de bienvenida.
Si exactamente. Tengo el Bot creado. Me gustaria que ese Bot, una vez metido al grupo, cada vez que alguien entre nuevo, le diga una frase de bienvenida. Gracias de antemano!
Enhorabuena por las web, el blog y este artículo en particular. Un grato descubrimiento, tenéis un nuevo seguidor.
Hola, no logro encontrar la funcionalidad que para mi es la más básica, que es mostrar respuesta a la preguntas que el usuario pueda realizar, por ejemplo, a la pregunta del usuario «¿Qué es la hipertensión arterial» o «Qué es HTA», el bot debería responder con un texto y un vídeo que tengo preparado.
Lo he intentado y lo más cerca que he estado es que aparezca un botón que esa pregunta, pero la idea es que el usuario interactue con sus «palabras» y no con preguntas predefinidas.
A ver si me podéis ayudar.
Gracias.
Por cierto, es para telegram
Hola buenas,
estoy intentando hacer un bot, llego hasta cuando me envían el enlace de chatfuel pero no aparece el menú, que abre hecho mal?
Hola, A mi me pasa lo mismo que a Lubino41 y es que cuando hago todos los pasos y ya me debería salir el menú, no lo hace. Se supone que es por algo que he hecho mal, pero he repetido varias veces el proceso y nada. ¿Alguna idea?
Por cierto, muy buen artículo. Muy bien explicado y todo claro : )
Ojalá logre solucionar esto.
hola a mi tambien me pasa conseguiste q te apareciera el menu?un saludo
Buenas compañeros.
No logro encontrar «chatfuel» en telegram, solo me aparece uno de noticias y 2 que no hacen nada, solamente se puede unir.
¿Quien puede brincarme el link del correcto?
Gracias
man a mi me pasa lo mismo lograste encontrarlo?
Buenas, yo quisiera crear un bot que pueda copiar y pegar ciertos mensajes escritos por los usuarios de un grupo a otro.
ejemplo :
grupo1: mariadice #cliente tenemos un cliente que necesita ayuda
el bot asume que el sms demarcado con #cliente es el mensaje que debe copiar al grupo2
no tengo ni la menor idea de como hacerlo, podrian sugerirme algo ?
necesito crear un bot que le permita al miembro del grupo enviar un mensaje con una determinada estructura. Por ejemplo: el miembro llama al bot y éste le pida (1) el número de identificación, (2) número de cliente y (3) pedido del cliente. Cuando el miembro del grupo complete los tres ítems que el bot envíe el mensaje al grupo de la siguiente manera: usuario: 1 / cliente: 3 / pedido: bla bla bla.
Se puede hacer algo así??
¡Me gustó mucho!
Estoy haciendo un bot para la empresa que trabajo, pero el token que te dan al hacer un bot es el que te permite manipular y usar a tu antojo al bot, si lo pones dentro de otro bot le estas dando la forma para entrar a ver la informacion que por ahi entra a tu bot, esta muy practico esto pero no lo recomiendo para los que manejen información confidencial, como tal es mi caso
Hola quisiera hacer un bot que no permita el envio de audios, o elimine el audio de un grupo (que no permite el envio de audios)….
alguien tiene el link directo de chatfuel ? a mi no me aparece chatfuel en el buscador solo un canal y otros dos chatfuel (supongo falsos) pasenlo por favor