如何解决在discord.js上登录错误?


const {Client, Intents} = require('discord.js');
const { token } = require('./config.json');

const client = new Client({ intents: [Intents.FLAGS.GUILDS] });

client.once('ready', () => {
console.log('Ready!');
});

client.login(token);

我有这个代码,每次我试图运行它返回给我相同的错误:

(node:13284) UnhandledPromiseRejectionWarning: ReferenceError:AbortController没有定义RequestHandler。用户执行(C: Luis Vainas 功能 node_modules 剩下discord.js src RequestHandler.js: 172:15)RequestHandler。用户执行(C: Luis Vainas 功能 node_modules 剩下discord.js src RequestHandler.js: 176:19)RequestHandler。push (C: 用户Luis Vainas 功能 node_modules discord.js src RequestHandler.js休息:50:25)在async WebSocketManager。用户连接(C: Luis Vainas 功能 node_modules discord.js src client websocket WebSocketManager.js: 128:9)at async Client。用户登录(C: Luis Vainas 功能 node_modules discord.js src client Client.js: 245:7)(使用node --trace-warnings ...显示警告所在的位置UnhandledPromiseRejectionWarning(节点:13284)未处理的承诺拒绝。这个错误是由抛出在没有catch块的异步函数内部调用,或者拒绝未使用.catch()处理的Promise。终止节点进程未处理的承诺拒绝,使用CLI标志--unhandled-rejections=strict(见https://nodejs.org/api/cli.html cli_unhandled_rejections_mode)。(rejection id: 2) (node:13284) [DEP0018] DeprecationWarning: Unhandled .处理不当不赞成拒绝承诺。在未来,承诺拒绝如果没有处理,Node.js进程将被终止非零退出码。

不知道如何修复它。我试着调查文档,但找不到解决方案。我在代码中添加了这一行来查找错误:

process.on('unhandledRejection', error => {
console.error('Unhandled promise rejection:', error);
});

得到:

{代码:500,方法:'get',路径:'/gateway/bot', requestData:{json: undefined, files: []}}

AbortController包在Node.js v16(?)中引入。所以你需要升级你的Node.js版本。Discord.js v13要求你使用Node.js v16或更高版本,如他们的文档所述。

根据您的操作系统,您可以安装64位或32位版本的Node.js。前往官方网站下载16.8.x(当前,最新功能)Windows安装程序。

安装后,在控制台中输入node -v来验证版本。

最新更新