尝试为我的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世界的新手,可能我的错误很简单,但这是我自己找不到解决方案的时代之一。预先感谢。
答案 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)
})
}