Discord 错误错误 Discord.js 中的无效令牌

Posted

技术标签:

【中文标题】Discord 错误错误 Discord.js 中的无效令牌【英文标题】:Discord Bug Error Invalid Token in discord.js 【发布时间】:2021-11-16 17:19:53 【问题描述】:

所以我想使用 discord.js 在 javascript 中创建一个有趣的机器人 discord。

我写了这段代码:

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

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

);

client.login('token');

但是当我尝试运行它时,我得到了这个错误:

/home/runner/MelodicPlainApplicationprogrammer/node_modules/discord.js/src/rest/RESTManager.js:32 常量令牌 = this.client.token ?? this.client.accessToken; ^ SyntaxError: Unexpected token '?'

这是在 repl.it 上的,当我在 VSCode 中时,它可以工作。

为什么?

【问题讨论】:

您已使用您的令牌权限更改了“令牌”? 您是否尝试生成和使用新令牌? 【参考方案1】:
    您使用的是 Discord.js v13,而 Discord.js13 需要 node.js v16 才能工作。 Replit.com 默认使用 node.js v12,因此您需要手动设置 node16。

首先,创建一个node.js repl

接下来,在 shell 中运行 npm install node@16

之后你需要创建一个名为.replit的文件

在 .replit 文件中,添加 run = "npx node index.js"。如果您的主文件具有不同的名称,请将 index.js 更改为您的主文件的名称。

现在当你点击运行时,replit 使用 node.js v16 而不是 v12

    现在解决您的代码问题:
const Discord = require("discord.js")
const client = new Discord.client()

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

);

client.login('token');

第二行const client = new Discord.client(),Discord.client中的c必须大写,所以写const client = new Discord.Client()

现在您需要添加 gateway intents 以便您的机器人接收事件。这是 discord.js13 (Here's a list of gateway intents) 中要求的

所以换const client = new Discord.Client()

const client = new Discord.Client( intents: ["GUILDS", "GUILD_MESSAGES"] )(如果需要,您可以添加更多意图,这些只是基本的)

您还需要获取您的机器人令牌并将client.login('token'); 中的“令牌”替换为您的机器人令牌。 Check this 了解如何获取您的令牌。

最终代码:

const Discord = require("discord.js")
const client = new Discord.Client( intents: ["GUILDS", "GUILD_MESSAGES"] )

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

);

client.login(enter your token here);

【讨论】:

【参考方案2】:

很可能 repl.it 正在运行 Node 12 或更早版本。该错误表示运算符?? 是语法错误,这意味着它无法识别空值合并运算符。 Node 14.0.0 及更高版本支持它。

【讨论】:

【参考方案3】:

尝试升级您的 node.js 版本(转到 shell,在控制台旁边):

$ npm install node@16

或者您可以在 json 文件中将您的 discord.js 版本降级为 v12.5.3,因为目前 v12 的教程比 v13 多。

选择权在你,你可以升级你的 node.js 版本或降级你的 discord.js 版本

【讨论】:

以上是关于Discord 错误错误 Discord.js 中的无效令牌的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 discord.js 中收到客户端错误

discord.js - 一个命令中的愚蠢错误

错误“const Discord = require(discord.js) ^ ReferenceError: discord is not defined”

Discord.js Commando 广播所有命令错误

Heroku/Discord.js 错误“服务不可用”

错误:在 Heroku 上找不到模块 Discord.js