Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Discord.js 我希望我的机器人每次出错时都能发送一条消息_Discord.js - Fatal编程技术网

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
事件也可能对您有用!