我已经创建了我自己的不和谐机器人,但我有这个代码错误:
message.channel.send(":apple:***SONDAGE :apple:\n "+choix1+" ou "+""+choix2+"***")
.then(function (message) {
message.react("👍")
message.react("👎")
message.pin()
message.delete()
});
它发送消息到通道并添加React,在我的控制台中,我有这个错误:
(node:11728) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): DiscordAPIError: Unknown Message
(node:11728) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:11728) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): DiscordAPIError: Unknown Message
4条答案
按热度按时间iugsix8n1#
那些不是错误,那些是警告。正如它所说,当你的承诺被拒绝时,你不检查。你应该在. then()之后使用. catch(),以防它被拒绝。
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise/catch
试试看:
mkshixfv2#
除了前面提到的其他答案之外,像
message.react(...)
这样的函数都返回Promises,因此,例如,消息可能会在react/pin promises解析之前被删除。如果你想让事情按顺序发生,你需要一个长的
.then(...).then(...).then(...)
链,或者你可以使用async/await,下面是一个async/await的例子:如果你想对失败做任何错误处理,你可以把await的东西 Package 在一个try/catch块中:
进一步阅读:
pwuypxnk3#
我也遇到了同样的错误,你做了
message.delete()
,但是你想添加React。当消息被删除时,机器人不能添加React。只要删除message.delete()
,就不会出现错误。t9eec4r04#
现在,在版本14中,有些事情发生了一些变化
message
和interaction
事件现在被删除了。您必须使用messageCreate
和interactionCreate
来代替。所以代码会像这样...
进一步阅读: