All files cat.js

100% Statements 8/8
100% Branches 0/0
100% Functions 4/4
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43          1x 1x                           2x                 2x   1x     1x 1x       2x      
/**
 * Have butlerbot get a random photo of a cat from the internet.
 * @module cat
 * @return {Object} - image (as a message to discord text channel)
 */
const axios = require('axios');
module.exports = {
  name: 'cat',
  description: 'Get a random cat!',
  aliases: ['catmeme'],
  /**
   * @method execute
   * @param {string} message - command, used to determine which channel to return results
   * @return {string} results of cat api call 
   */
  execute(message) {   
    /** 
     * @var {string} catApi
     * @summary cat image api url
     */     
    let catApi = 'https://api.thecatapi.com/v1/images/search';   
    /** 
     * @function catImage
     * @async
     * @param {string} api - apology api url
     * @return {Object} response
     * @summary perform api call against provided url for advice
     */   
    function catImage(api) {
      axios.get(api)
        .then(response => {
          message.channel.send(response.data[0].url);
        })
        .catch(error => {
          console.log(error);
          return message.channel.send(`I'm unable to grab a cat, sorry master ${message.author}`);
        }); 
    }
    // call cat image api
    catImage(catApi);
  }
};