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