Discord.js 我希望我的机器人每次出错时都能发送一条消息
我想让它这样每当我的机器人有一个错误,它会发送一个通道的错误,但它什么也不做Discord.js 我希望我的机器人每次出错时都能发送一条消息,discord.js,Discord.js,我想让它这样每当我的机器人有一个错误,它会发送一个通道的错误,但它什么也不做 bot.on('error', function (err) { bot.guilds.get("609118791854456860").channels.get("609118791854456865").send(err) }) 我不相信客户端会发出一个称为“错误”的事件。此代码应捕获所有未捕获的错误,并将它们发送到您选择的通道中: process.on("uncaughtException", e =&g
bot.on('error', function (err) {
bot.guilds.get("609118791854456860").channels.get("609118791854456865").send(err)
})
我不相信客户端会发出一个称为“错误”的事件。此代码应捕获所有未捕获的错误,并将它们发送到您选择的通道中:
process.on("uncaughtException", e => {
console.error(e);
Client.channels.get("YOUR CHANNEL ID").send(e.stack.slice(0, 2000); //ensure the stack trace is not too long, messages are limited to 2000 characters
process.exit();
});
在这段代码片段中,我将我的
new Discord.Client()命名为实例客户端
,似乎您将自己的命名为bot
,因此您可以交换这两个名称。我不相信客户端会发出一个名为“error”的事件。此代码应捕获所有未捕获的错误,并将它们发送到您选择的通道中:
process.on("uncaughtException", e => {
console.error(e);
Client.channels.get("YOUR CHANNEL ID").send(e.stack.slice(0, 2000); //ensure the stack trace is not too long, messages are limited to 2000 characters
process.exit();
});
在这段代码片段中,我将我的new Discord.Client()命名为实例客户端
,似乎您将自己的机器人
命名为bot,因此您可以交换这两个名称。根据文档,每当客户端的WebSocket遇到连接错误时,就会调用
。
我相信关键是连接错误。因此,如果调用此事件,则表示您不再连接或连接有问题。因此,如果无法连接,则无法发送任何消息
一种解决方法是云计算在其答案中所包含的内容,并使用
进程.on(“uncaughtException”,e=>{})
但以防错误是致命的,机器人无法连接。您应该将错误保存到.txt文件中,这样每当bot成功地重新连接时,您都可以将该文件中的内容发送到所需的频道。然后让bot删除成功发送消息的文件。根据文档,只要客户端的WebSocket遇到连接错误,就会调用
。
我相信密钥是连接错误。因此,如果调用此事件,则表示您不再连接或连接有问题。因此,如果无法连接,则无法发送任何消息
一种解决方法是云计算在其答案中所包含的内容,并使用
进程.on(“uncaughtException”,e=>{})
但以防错误是致命的,机器人无法连接。您应该将错误保存到.txt文件中,这样每当bot成功地重新连接时,您都可以将该文件中的内容发送到所需的频道。然后,如果bot成功发送了消息,请让它删除该文件。未处理的退出事件也可能对您有用!unhandledRejection
事件也可能对您有用!