DiscordAPIError:无法发送空消息。无法将数据从 API 发送到 Discord 频道。 Discord.js

时间:2021-07-08 13:17:09

标签: javascript discord discord.js

我有问题。我正在尝试使用 coingecko api 获取比特币价格。如果我安慰它,它可以工作,但如果我试图将它发送到频道,它会崩溃并出现此错误:

DiscordAPIError: Cannot send an empty message

这是我的代码:

const Discord = require("discord.js");
const client = new Discord.Client();
const coingecko = require("coingecko-api");
const fetch = require("node-fetch");
const axios = require('axios');
let api = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=USD";

module.exports ={
    name: 'bitcoin',
    description: 'Get Bitcoin Price',
    execute(msg,args){
        axios.get(api)
        .then((res) => {
            console.log('RES:', res.data.bitcoin);
            msg.reply(res.data.bitcoin);
        })

    }
}

请帮帮我。我从两天前就有这个问题,我无法解决它。也许如果您能帮助我摆脱价格 ({ usd: 32664 }) 中的 {},那就太好了。 ?

1 个答案:

答案 0 :(得分:1)

您不能发送对象,而 res.data.bitcoin 是一个对象 ({ usd: XXXXX })。首先发送 res.data.bitcoin.usdstringify 的值:

module.exports ={
    name: 'bitcoin',
    description: 'Get Bitcoin Price',
    execute(msg,args){
        axios.get(api)
        .then((res) => {
            console.log('RES:', res.data.bitcoin);
            msg.reply(res.data.bitcoin.usd);
            // OR
            msg.reply(JSON.stringify(res.data.bitcoin))
        })
    }
}