discord.js-fetchMessage没有给出有效的输出

时间:2020-01-02 14:03:36

标签: javascript discord discord.js

尝试为我的Discord创建一个应用程序响应系统,该系统从同一服务器中的预设Discord消息中获取信息。当前,它发出一个错误,指出它无法发送空消息:“ UnhandledPromiseRejectionWarning:DiscordAPIError:无法发送空消息”

(必须将fetchMessage保存到变量中以供以后编辑)

        if (message.content == '/results') {
            let ttpResultsChannel = client.channels.get("662034469708103690")
            var temp
            ttpResultsChannel.fetchMessage('662034597508546582').then(results => temp = results.content)
            message.channel.send(temp)
        }

这是它应该输出的文本:

179654608371712000{}PASSED{}TestText1{}
514127283636797450{}FAILED{}TextTest6{}

我是JavaScript世界的新手,可能我的错误很简单,但这是我自己找不到解决方案的时代之一。预先感谢。

1 个答案:

答案 0 :(得分:0)

该错误表明您正在尝试发送空消息,这很有意义,因为fetchMessage返回了Promise。您可以正确地使用.then()来获得结果,但是在Promise解决并且获得结果并将其分配给temp的时候,message.channel.send()已经被执行。要解决此问题,只需将发送内容放入.then()

if (message.content == '/results') {
    let ttpResultsChannel = client.channels.get("662034469708103690")
    var temp
    ttpResultsChannel.fetchMessage('662034597508546582')
        .then(results => {
            temp = results.content
            message.channel.send(temp)
        })
}
相关问题