Client Missing Intents



我已经决定要制作自己的Discord bot,所以我开始在Youtube上观看@CodeLyon的教程。我完全遵循了程序,下面是我的代码:

const Discord = require('discord.js');
const client = new Discord.Client();
client.once('ready', () => {
console.log('Vibre is online!');
});

当然,我没有包括客户端登录代码,但当我试图"运行"时这个程序在命令提示符中带有"node .",结果如下:

C:UsersIsaacDesktopDiscordBot>node .
C:UsersIsaacDesktopDiscordBotnode_modulesdiscord.jssrcclientClient.js:544
throw new TypeError('CLIENT_MISSING_INTENTS');
^
TypeError [CLIENT_MISSING_INTENTS]: Valid intents must be provided for the Client.
at Client._validateOptions 
(C:UsersIsaacDesktopDiscordBotnode_modules←[4mdiscord.js←[24msrcclientClient.js:544:13)
at new Client 

(C:UsersIsaacDesktopDiscordBotnode_modules←[4mdiscord.js←[24msrcclientClient.js:73:10)
at Object.<anonymous> (C:UsersIsaacDesktopDiscordBotmain.js:3:16)
←[90m    at Module._compile (internal/modules/cjs/loader.js:1072:14)←[39m
←[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)←[39m
←[90m    at Module.load (internal/modules/cjs/loader.js:937:32)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:778:12)←[39m
←[90m    at Function.executeUserEntryPoint [as runMain] 
(internal/modules/run_main.js:76:12)←[39m
←[90m    at internal/main/run_main_module.js:17:47←[39m {
[←[32mSymbol(code)←[39m]: ←[32m'CLIENT_MISSING_INTENTS'←[39m
}

有人能帮帮我吗?

在CodeLyon的视频中,他使用discord.js@12.2.0,但现在discord.js更新到13.1.0,有了这个更新,你必须在创建新客户端时将ClientOptions作为参数发送。所以现在你需要指定你希望你的bot使用网关意图接收的事件。

不是

const client = new Discord.Client();

使用

const client = new Discord.Client({intents: [Enter intents you need here]});

例子
const client = new Discord.Client({intents: ["GUILD", "GUILD_MESSAGES"]})

最新更新