Comando "Joke" todos los chistes de Chuck Norris

Comando "Joke" todos los chistes de Chuck Norris

Hoy os vamos a hablar de una api externa de la que podemos obtener chistes ramdon en Inglés de Chuck Norris. Esta api nos devuelve como respuesta un json como el siguiente:

{ "type": "success", "value": { "id": 257, "joke": 
"Chuck Norris doesnt wear a watch, HE decides what time it is.", 
"categories": [] } }

El json nos devuelve dentro de "joke" el chiste en cuestión que es lo que nos interesa darle al usuario. Así que tenemos que parsear los datos del json para mostrarlos en pantalla.

Cada vez que un usuario manda el comando "/joke", el bot hace una consulta usando "request" a url de la variable "url" y obtiene como respuesta un json que parseamos en el "parsedBody".

bot.onText(/^\/joke/, function(msg) {
  console.log(msg);
  var userId = msg.from.id;
  url = "http://api.icndb.com/jokes/random";
  
  request(url, function(error, response, body) {
            if (error !== null) {
            bot.sendMessage(msg.chat.id, "Oh,oh :Roto");
                return;
			}
			// Parseamos el json que nos devuelve la api para obtener los datos que necesitamos
            parsedBody = JSON.parse(body);
			var chiste = parsedBody.value.joke;	
            bot.sendMessage(msg.chat.id, chiste);
			}); 
});

Read more