const axios = require('axios'); //This is unused. node-fetch is grabbing information instead. The api is npm installed. const fetch = require('node-fetch'); module.exports = { name: 'search', description: "Find a Pokemon via name or National Dex number.", execute (client, message, args, Discord){ const fs = require('fs') const channel = client.channels.cache.get ('854458555997880341'); if(!args[0]) return message.reply("Enter a Pokemon name or National dex number."); if(isNaN(args[0])){ let pokemon = args[0]; pokemon.toLowerCase(); fs.readFile('pokemonlowercase.txt', function read(err, data){ if (err) { return console.log(err); } if(!data.includes(`${pokemon}`)) return message.reply(`${pokemon} is not a valid Pokemon name.`); //Problem lies here. //insert embed function here fetch(`https://pokeapi.co/api/v2/pokemon/${pokemon}`) .then(res => res.json()) .then(data => { const name = data.species.name; const url = `https://pokemondb.net/pokedex/${pokemon}`; const weight = data.weight / 10; const height = data.height / 10; const stat1 = data.stats[0].stat.name; const stat2 = data.stats[1].stat.name; const stat3 = data.stats[2].stat.name; const stat4 = data.stats[3].stat.name; const stat5 = data.stats[4].stat.name; const stat6 = data.stats[5].stat.name; const stat1value = data.stats[0].base_stat; const stat2value = data.stats[1].base_stat; const stat3value = data.stats[2].base_stat; const stat4value = data.stats[3].base_stat; const stat5value = data.stats[4].base_stat; const stat6value = data.stats[5].base_stat; const type = data.types[0].type.name; const ability = data.abilities[0].ability.name; const formatName = (name) => name.charAt(0).toUpperCase() + name.slice(1); const exampleEmbed = new Discord.MessageEmbed() .setColor('#FFFF00') .setURL(`${url}`) .setAuthor('Pokedex', 'https://icon-library.net/images/pokedex-icon/pokedex-icon-15.jpg') .setThumbnail(data.sprites.front_default) .setTitle(`${formatName(name)}`) .setDescription(`**No. ${data.id}** *${type.toUpperCase()}*`) .addFields( { name: 'Ability', value: `${formatName(ability)}`}, { name: 'Weight', value: `${weight} kg`}, { name: 'Height', value: `${height} meters`}, ) .setTimestamp() .setFooter('Lucario Bot Pokedex'); channel.send(exampleEmbed); message.reply(`${formatName(name)} found. <#854458555997880341>`); }) }) } let a = 1 let b = 893 let pokemon = args[0] if(a <= pokemon && pokemon <= b){ //insert embed function here fetch(`https://pokeapi.co/api/v2/pokemon/${pokemon}`) .then(res => res.json()) .then(data => { const name = data.species.name; const url = `https://pokemondb.net/pokedex/${pokemon}`; const weight = data.weight / 10; const height = data.height / 10; const stat1 = data.stats[0].stat.name; const stat2 = data.stats[1].stat.name; const stat3 = data.stats[2].stat.name; const stat4 = data.stats[3].stat.name; const stat5 = data.stats[4].stat.name; const stat6 = data.stats[5].stat.name; const stat1value = data.stats[0].base_stat; const stat2value = data.stats[1].base_stat; const stat3value = data.stats[2].base_stat; const stat4value = data.stats[3].base_stat; const stat5value = data.stats[4].base_stat; const stat6value = data.stats[5].base_stat; const type = data.types[0].type.name; const ability = data.abilities[0].ability.name; const formatName = (name) => name.charAt(0).toUpperCase() + name.slice(1); const exampleEmbed = new Discord.MessageEmbed() .setColor('#FFFF00') .setURL(`${url}`) .setAuthor('Pokedex', 'https://icon-library.net/images/pokedex-icon/pokedex-icon-15.jpg') .setThumbnail(data.sprites.front_default) .setTitle(`${formatName(name)}`) .setDescription(`**No. ${data.id}** *${type.toUpperCase()}*`) .addFields( { name: 'Ability', value: `${formatName(ability)}`}, { name: 'Weight', value: `${weight} kg`}, { name: 'Height', value: `${height} meters`}, ) .setTimestamp() .setFooter('Lucario Bot Pokedex'); channel.send(exampleEmbed); message.reply(`${formatName(name)} found. <#854458555997880341>`); }) } else { return message.reply(`${pokemon} is not a valid National Dex number.`); } } }