为什么当我输入节点主.js时我的不和谐机器人没有上线?



所以我首先安装node.js然后输入npm init命令提示符然后安装discord.js(当安装discord.js时,它没有在项目内添加node_modules文件夹,我认为这就是问题的来源)。但是,当我试图让我的机器人在线(与node main.js命令),我看到这个错误信息:错误:

Cannot find module 'discord.js'
Require stack:
- C:UsersCookieDesktopbotmain.js
←[90m    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)←[39m
←[90m    at Function.Module._load (node:internal/modules/cjs/loader:778:27)←[39m
←[90m    at Module.require (node:internal/modules/cjs/loader:1005:19)←[39m
←[90m    at require (node:internal/modules/cjs/helpers:102:18)←[39m
at Object.<anonymous> (C:UsersCookieDesktopbotmain.js:1:17)
←[90m    at Module._compile (node:internal/modules/cjs/loader:1101:14)←[39m
←[90m    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)←[39m
←[90m    at Module.load (node:internal/modules/cjs/loader:981:32)←[39m
←[90m    at Function.Module._load (node:internal/modules/cjs/loader:822:12)←[39m
←[90m    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)←[39m {
code: ←[32m'MODULE_NOT_FOUND'←[39m,
requireStack: [ ←[32m'C:\Users\Cookie\Desktop\bot\main.js'←[39m ]
}
这是我的包裹。json代码:
{
"name": "bot",
"version": "1.0.0",
"description": "test",
"main": "main.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "Cookie482",
"license": "ISC",
"dependencies": {
"discord.js": "*"
}

和main.js:

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

正如derpirscher所说,从package.json中删除"discord.js": "*"行,运行npm install discord.js

您的main.js代码已过时。从v13开始,您需要指定意图。将const client = new Discord.Client();替换为

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

或文档中指定的其他意图