diff --git a/commands/search/pokedex.js b/commands/search/pokedex.js index 71fdd994..e199b270 100644 --- a/commands/search/pokedex.js +++ b/commands/search/pokedex.js @@ -28,37 +28,42 @@ module.exports = class PokedexCommand extends Command { if (!message.channel.permissionsFor(this.client.user).hasPermission('EMBED_LINKS')) return message.say(':x: Error! I don\'t have the Embed Links Permission!'); } const pokemon = args.pokemon.toLowerCase(); - const response = await snekfetch - .get(`http://pokeapi.co/api/v2/pokemon/${pokemon}`); - const data = response.body; - const entry = pokedex.entry[pokemon] || 'Not Yet Implemented'; - const indexZero = '000'.slice(data.id.length); - const type1 = data.types[1].type.name || '-'; - const type2 = data.types[0].type.name || '-'; - const embed = new RichEmbed() - .setAuthor(`#${indexZero}${data.id} ${data.name}`, `http://www.serebii.net/pokedex-sm/icon/${indexZero}${data.id}.png`) - .setColor(0xFF0000) - .setDescription(entry) - .setFooter('Pokédex', 'http://cdn.bulbagarden.net/upload/thumb/3/36/479Rotom-Pokédex.png/250px-479Rotom-Pokédex.png') - .setThumbnail(data.sprites.front_default) - .addField('**Types:**', - `${type1} / ${type2}`) - .addField('**Weight:**', - `${data.weight / 10}kg`, true) - .addField('**Height:**', - `${data.height / 10}m`, true) - .addField('**Base HP:**', - data.stats[5].base_stat, true) - .addField('**Base ATK:**', - data.stats[4].base_stat, true) - .addField('**Base DEF:**', - data.stats[3].base_stat, true) - .addField('**Base SPATK:**', - data.stats[2].base_stat, true) - .addField('**Base SPDEF:**', - data.stats[1].base_stat, true) - .addField('**Base SPD:**', - data.stats[0].base_stat, true); - return message.embed(embed); + try { + const response = await snekfetch + .get(`http://pokeapi.co/api/v2/pokemon/${pokemon}`); + const data = response.body; + const entry = pokedex.entry[pokemon] || 'Not Yet Implemented'; + const indexZero = '000'.slice(data.id.length); + const type1 = data.types[1].type.name || '-'; + const type2 = data.types[0].type.name || '-'; + const embed = new RichEmbed() + .setAuthor(`#${indexZero}${data.id} ${data.name}`, `http://www.serebii.net/pokedex-sm/icon/${indexZero}${data.id}.png`) + .setColor(0xFF0000) + .setDescription(entry) + .setFooter('Pokédex', 'http://cdn.bulbagarden.net/upload/thumb/3/36/479Rotom-Pokédex.png/250px-479Rotom-Pokédex.png') + .setThumbnail(data.sprites.front_default) + .addField('**Types:**', + `${type1} / ${type2}`) + .addField('**Weight:**', + `${data.weight / 10}kg`, true) + .addField('**Height:**', + `${data.height / 10}m`, true) + .addField('**Base HP:**', + data.stats[5].base_stat, true) + .addField('**Base ATK:**', + data.stats[4].base_stat, true) + .addField('**Base DEF:**', + data.stats[3].base_stat, true) + .addField('**Base SPATK:**', + data.stats[2].base_stat, true) + .addField('**Base SPDEF:**', + data.stats[1].base_stat, true) + .addField('**Base SPD:**', + data.stats[0].base_stat, true); + return message.embed(embed); + } + catch (err) { + return message.say(':x: Error! Something went wrong!'); + } } };