Node.js 你如何解决这个扫雷问题?

Node.js 你如何解决这个扫雷问题?,node.js,discord.js,Node.js,Discord.js,所以我一直在尝试为minecraft中的机器人编写代码,但在执行命令时: node index.js 然后发生这种情况: internal/modules/cjs/loader.js:968 throw err; ^ Error: Cannot find module 'C:\Users\monst\Downloads\Serverchat\index.js' at Function.Module._resolveFilename (internal/modules/cjs

所以我一直在尝试为minecraft中的机器人编写代码,但在执行命令时:

node index.js
然后发生这种情况:

 internal/modules/cjs/loader.js:968
  throw err;
  ^

Error: Cannot find module 'C:\Users\monst\Downloads\Serverchat\index.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
代码如下:

const Discord = require("discord.js");
const mineflayer = require("mineflayer");
const client = new Discord.Client();

let prefix = ".";
let bot = mineflayer.createBot({
    version: "1.12.2",
    host: "example.org",
    username: "email",
    password: "password",
})

client.on("ready", async => {
    console.log("Bot Online")
})

bot.on("login", async => {
    console.log("Ingame Bot Online")
    bot.chat("Online!")
})

bot.on("message", message => {
    let channel = client.channels.cache.get(742454971450261557)
    if (!channel) return; 
    channel.send(`${message}`)
})

client.login("token")
如果有人能帮忙,那对我来说就是全世界

第一件事:

重置您的令牌! 您的机器人的令牌就像一个用户名和密码。任何获得它的人都可以像你的机器人一样采取任何行动,包括通过它交谈、删除频道等。我通过编辑从您的问题中编辑了它,但我强烈建议您立即转到Discord门户并重置它


除此之外,首要问题是:

错误写得很清楚<代码>错误:找不到模块“C:\Users\monst\Downloads\Serverchat\index.js”。这意味着您在名为
index.js
的文件夹中没有文件。看到它也是一个不和谐的机器人,也许你的意思是
node bot.js
?否则,您的代码可能位于另一个工作目录中。使用
cd
将命令提示符中的工作目录更改为bot代码和
node\u模块的所在位置


还有一件事:JavaScript不能将雪花表示为原始数字——精度损失将导致最后几个数字略有变化。因此,discord库(包括discord.js)要求您将ID作为字符串传递,如下所示:

let channel = client.channels.cache.get("742454971450261557")

A) 这个文件叫什么?B) 您是如何运行它的?同样值得注意的是,像
742454971450261557
这样的数字太大,无法正常表示,可能会向下舍入。您需要使用
742454971450261557n
@tadman这个文件名为index.js@tadman-oh,这些大数字用作不协调频道的id。如果它没有被使用,如果我在末尾加上一个n,它就不起作用了。@TobiasNielsen Discord.js希望您提供字符串形式的ID,而不是数字形式的ID,这正是tadman上面解释的原因。