Estou tentando fazer uma função para meu bot de discord que faz um request em uma api de criptomoedas, está funcionando normalmente caso eu coloque na api o nome da criptomoeda manualmente, porém eu gostaria de usar um args.join pra fazer com que o request seja feito através do próprio discord, mas ele da o seguinte erro: TypeError: Cannot read property ‘brl’ of undefined.
const Discord = require('discord.js')
const axios = require('axios')
const client = new Discord.Client()
module.exports = class extends Command {
constructor(...args){
super(...args, {
aliases: ('eth')
})
}
async run(message, args) {
let cripto = args.join(" ").toLowerCase();
let getCotacaoBTC = async () => {
let response = await axios.get(`https://api.coingecko.com/api/v3/simple/price?ids=${cripto}&vs_currencies=brl,usd&include_24hr_change=true`)
Cotacao = response.data;
return console.log(Cotacao)
}
console.log("Criptomoeda: " + cripto)
let Cotacao;
let cotacaoBTC = await getCotacaoBTC();
let brl = Cotacao.cripto.brl;
let usd = Cotacao.cripto.usd;
let variation = Cotacao.ethereum.brl_24h_change;
let formatado = brl.toLocaleString('pt-br', {style: 'currency', currency: 'BRL'})
let formatadoUSD = usd.toLocaleString('en-us', { style: 'currency', currency: 'USD'})
function criptoF() {
if(variation > 0) {
let embed1 = new Discord.MessageEmbed()
.setTitle(`${cripto}`.toUpperCase())
.setColor("GRAY")
.addFields(
{ name: `Cotação Atual BRL`, value: `:flag_br: ${formatadoUSD}`, inline: true},
{ name: `Cotação Atual USD`, value: `:flag_us: ${formatadoUSD}`},
{ name: `Variação`, value: `:chart_with_upwards_trend: +${variation.toFixed(2)}%`}
)
.setThumbnail(`https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Ethereum_logo_2014.svg/628px-Ethereum_logo_2014.svg.png`)
message.channel.send(embed1)
}else if(variation < 0){
let embed = new Discord.MessageEmbed()
.setTitle(`${cripto}`.toUpperCase())
.setColor("GRAY")
.addFields(
{ name: `Cotação Atual BRL`, value: `:flag_br: ${formatado}`, inline: true},
{ name: `Cotação Atual USD`, value: `:flag_us: ${formatadoUSD}`},
{ name: `Variação`, value: `:chart_with_downwards_trend: ${variation.toFixed(2)}%`}
)
.setThumbnail(`https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Ethereum_logo_2014.svg/628px-Ethereum_logo_2014.svg.png`)
channel1.send(embed)
}
}
criptoF()
}