【问题标题】:Discord.js module error before first line of code第一行代码之前的 Discord.js 模块错误
【发布时间】:2020-12-01 09:36:11
【问题描述】:

我刚开始用 JavaScript 在 Visual Studio Code 中编写一个 Discord 机器人,它实际上是最基本的,加载 discord.js,在就绪事件上然后登录。

在它运行第一行代码之前,我得到了这个错误:

Debugger listening on ws://127.0.0.1:5489/3cf4a3d1-ef26-4c1c-a274-030564d40731
For help see https://nodejs.org/en/docs/inspector
i:\Coding\Bots\PURGE\node_modules\discord.js\src\util\Util.js:584
      str = str.replace(/@([^<>@ ]*)/gmsu, (match, target) => {
                        ^

SyntaxError: Invalid regular expression flags
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:607:28)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Module.require (module.js:587:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (i:\Coding\Bots\PURGE\node_modules\discord.js\src\index.js:3:14)
Process exited with code 1

错误发生在我没有编写的 Discord.js 模块中,不知道它是如何工作的,因此无法修复。

重新安装 Discord.js 没有帮助,重新安装 Visual Studio Code 也没有帮助。 我向朋友发送了完全相同的文件(甚至是相同的 node_modules 文件夹),当他运行它时,它可以正常工作。任何想法是什么问题或我该如何解决?

这是我的代码:

console.log("test") //DOESNT LOG

const Discord = require("discord.js");
const fs = require("fs");
const config  = require("./config.json");
let christian = {}

//This will define our bot
var bot = new Discord.Client()

bot.on('message', async msg => {
    console.log(msg)
})

bot.on('ready', () => {
    console.log(`-----Purge#2420 Online-----\nWatching over ${bot.guilds.cache.size} servers |`)
});

bot.login(config.token)

【问题讨论】:

  • 你的node是什么版本的,你的朋友是什么版本的?
  • 我用的是v8.9.4,不知道朋友用的是什么版本。问题是,我所有的旧机器人都可以正常工作(在 Discord.js v11 上),但这个新机器人(在 Discord.js V12 上)却不行。

标签: javascript node.js discord.js


【解决方案1】:

来自cmets:

我在 [Node] v8.9.4 上,[...] 在 Discord.js V12 上

来自Discord JS' upgrade guide:

v12 需要使用 Node 12.x 或更高版本,因此请确保您是最新的。

也就是说——你必须升级你的 Node.js。

【讨论】:

  • 谢谢!解决了它^^
【解决方案2】:

ready 事件中,您有一个无效的字符串,这可能导致错误'-----Purge#2420 Online-----\nWatching over ${bot.guilds.cache.size} servers | 它可能由于字符串开头的无效单引号' 而崩溃,请尝试用反引号(`)替换它。

阅读更多关于模板字符串here

【讨论】:

  • 哎呀,这是一个错字。可悲的是,这并没有改变任何东西:/
猜你喜欢
  • 2012-11-09
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
  • 2020-03-10
  • 2011-09-13
  • 1970-01-01
相关资源
最近更新 更多