Añadiendo más funciones a nuestro bot de Telegram en nodejs

Continuando con el anterior tutorial de Cómo crear un bot de telegram en nodejs?

Vamos a seguir trabajando con el mismo archivo bot.js para seguir añadiendole nuevas funciones a nuestro bot.

Comandos

La venteja de usar el bot en nodejs es no tienes que crear los comandos desde @BotFather, así evitas que la gente ande constatemente mandando comandos desde el bóton "/" de Telegram.

En este ejemplo hacemos que cada vez que se use el comando "/start" mande un mensaje:

 bot.onText(/\/start/, (msg) => {
 bot.sendMessage(msg.chat.id, "Hola, soy Pepebits en que puedo ayudarte");    
 });

Expulsar a alguien al mandar una palabra prohibida

Usamo el método "bot.kickChatMember" para expulsar a un usuario de un grupo o un supergrupo. En el caso de los supergrupos, el usuario no podrá regresar al grupo por su cuenta mediante el uso de enlaces de invitación, etc., a menos que se lo excluya primero. Esto es debido a que el usuario queda baneado, pero esto se puede arregar incluyendo el método "bot.unbanChatMember". Así el usurio será expulsado pero podrá volver a entrar. En este caso vez que un usuario que no sea admin escriba la palabra "idiota" será expulsado.

 bot.on('message', (msg) => {
 var what = "idiota";
 if (msg.text.includes(what)) {
 bot.kickChatMember(msg.chat.id,msg.from.id);
 bot.unbanChatMember(msg.chat.id,msg.from.id);
 }
 });

Enviar imágenes desde una url

Las imágenes no tinen porque alojada en una url, también pueden ser archivos locales. Así que os contare las 2 formas de mandar una imagén.

Mandamos una imagén que tenemos subida en internet desde una url, cada vez que mandamos el comando "/foto" se manda la imagén.

 bot.onText(/\/foto/, (msg) => {
 bot.sendPhoto(msg.chat.id,"https://tecnonucleous.com/content/images/2017/05/foro-flarum-tecnonucleous-1.png" ); 
 });

Mandamos una foto que tenemos guardada en la carpeta "test-bot" (es decir, en la carpeta que tenemos el archivo "bot.js":

 bot.onText(/\/foto/, (msg) => {
 bot.sendPhoto(msg.chat.id,"./foro-flarum-tecnonucleous-1.png" );
 });

Nos vemos en el siguente tutorial.

Grupo de Telegram para resolver las dudas sobre los Bots para Telegram en Nodejs: @Tecnonucleous_chat