我正在编码一个不和谐机器人,它检查用户是否在我的不和谐服务器上,以及他是否有某个角色。然而,我得到一个错误消息,如果用户不是在我的不和,尽管使用捕捉。我有以下代码:
app.post('/', (req, res) => {
const userId = req.rawBody;
try {
bot.guilds.fetch(guildId).then(guild => {
guild.members.fetch(userId).then(user => {
if (user.id == userId) {
if (user.roles.cache.has('830811473604902912'))
{
console.log('User has RoleX.');
}
} else{
// Member invalid
console.log('User is not on Discord.');
res.send('False');
}
});
});
}
catch
{
// Member not found or other error encountered
console.log('User is not on Discord.');
res.send('False');
}
});
现在,错误消息是:
(节点: 15184)UnhandledPromiseRejtionWarning: DiscordAPIError:未知成员在请求Handler.execute(c:\用户\用户\桌面\DiscordBot\MyBot\node_modules\discord.js\src\rest\请求Handler.js:154: 13)在异步请求Handler.push(c:\用户\用户\桌面\DiscordBot\MyBot\node_modules\discord.js\src\rest\recestHandler.js:39: 14)(使用节点--跟踪警告...
显示警告是在哪里创建的)
(节点:15184)未处理的PromisejectionWarning:未处理的promise拒绝。此错误源于在没有catch块的情况下抛出异步函数的内部,或者拒绝使用未处理的promise。catch()。要在未处理的promise拒绝时终止节点进程,请使用CLI标志--unhandled rejections=strict
(请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)(拒绝id:1)
(节点:15184)[DEP0018]弃用警告:未处理的promise拒绝已弃用。将来,未处理的promise拒绝将终止节点。具有非零退出代码的js进程。
它说我有一个没有catch块的异步函数,但显然有catch?
您有一个捕获块,但不在实际promise上。改为:
bot.guilds.fetch(guildId).then(guild => {
return guild.members.fetch(userId).then(user => {
if (user.id == userId) {
if (user.roles.cache.has('830811473604902912'))
{
console.log('User has RoleX.');
}
} else{
// Member invalid
console.log('User is not on Discord.');
res.send('False');
}
});
})
.catch((e) => {
// Handle error here
});
我在网上找了很久。但没有类似的答案。请帮忙或试着给出一些想法。我刚刚开始学习CyclicBarrier,我想知道我是否误解了CyclicBarrier.Await(int timeout,TimeUnit unit)。线程0到3已经到达了花费2秒的障碍点。同时,最后一个线程在等待2秒后启动。1秒后,0到3个线程到达指定的超时,其中第4个线程仍然执行自己的代码。问题是:为什么CyclicBarrie
在index.hpp中,我创建了一个具有多个数据成员的类,如、等。我在类外部定义了一个构造函数。在program.cpp中,我创建了一个名为SAM的对象。当我试图编译它时,它显示错误。什么原因? Program.cpp index.hpp 错误信息
我得到而调用 Java语言lang.StackOverflowerr:org处为null。阿帕奇。平民登录中。日志适配器$Slf4jLog。isDebugEnabled(LogAdapter.java:300)~[spring-jcl-5.1.10.RELEASE.jar:5.1.10.RELEASE]位于org。springframework。安全身份验证。ProviderManager。在or
我想了解为什么一段代码不会抛出NullPointerException。 请考虑以下代码: 方法被重复调用,同时以下代码在单独的线程中运行: 只有一个实例。 从不引发NullPointerException。 但是,当方法暂停时,即使暂停0毫秒,也会按预期引发NullPointerException: 我的理解是,在理论上,在检查和调用之间存在竞争条件。在实践中,如果不引入暂停(即从后续方法调用中
问题内容: 以下是JSX中我的render方法的一部分-为什么在抛出错误后分号为何?在普通的JavaScript中完全可以 问题答案: 这是因为JSX 表达式仅限于单个表达式。 ..将引发错误。 但是,您可以通过使用两个表达式来解决此问题 如果只有一个表达式,则不需要分号。 如果您希望对此有所了解,可以在返回以逗号分隔的最后一个表达式之前,在表达式中使用鲜为人知的逗号运算符进行一些本地工作: 将显
问题内容: 我应该开发一个简单的SFTP。 一切都进行得很好,直到我(在本例中)没有编写全部为止。可以请我解释一下,为什么系统挂在我身上吗? 服务器端: 客户端: 问题答案: 您的循环一直运行到流结束,但是对等方永远不会关闭套接字。该协议似乎要求打开套接字以供其他命令使用,因此您必须调整它的这一部分以包括一个长度字前缀,以便您知道要复制多少字节。 问题不是关于不写所有字节,而是关于阻塞in 。