Crear comando Ping/Pong

Crear comando Ping/Pong

Este comando, aparte de ser bastante simple de realizar, nos servirá para revisar si el bot esta operativo o si por causas desconocidas está caido aunque a priori pueda parecer el nombre del mítico juego del ping pong.

Dicho comando lo podremos condicionar para que, si lo utilizamos en un grupo nos envie un mensaje genérico o si se utiliza de manera privada nos envíe un mensaje de respuesta. Las condiciones tambien son aplicables para hacer que otros comandos hagan una cosa u otra.

Dicho esto, comenzamos a crear el código:

bot.onText(/^\/ping/, function(msg){
    var chatId = msg.chat.id;
    var tipoChat = msg.chat.type;
    
    if (tipoChat == 'private'){
        bot.sendMessage(chatId, "Pong!")
    } 
    
    else if (tipoChat == 'supergroup') {
        bot.sendMessage(chatId, "Este comando solo funciona en privado")
    }
});

Explicaremos el código mas detenidamente empezando por las variables y terminando con las condiciones.

La variable chatId se encargará de verificar el chat donde se hizo la petición mientras que tipoChat se encarga de verificar donde hacemos la petición, si en un grupo o en privado, por ello utilizamos if y else if.

El primer if se encarga de comprobar si estamos ejecutando el comando en privado. Si la condición es verdadera el bot nos devolverá Pong! mientras que else if se encarga de comprobar si se hace la petición en un grupo. De ser verdadera el bot enviará Este comando solo funciona en privado en el caso de que ambas condiciones sean falsas, el bot no hará nada.

También se puede utilizar como un juego.

Este comando también se puede utilizar a "modo de juego", otros bots como @ElSenyorBot_bot también lo tienen.

bot.onText(/^\/ping/, function(msg){
    var chatId = msg.chat.id;
   bot.sendMessage(chatId, "Pong!")
});

En este caso funciona tanto por privado como por un grupo ya que no definimos el tipo de chat como en el anterior ejemplo.