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 中的无效令牌的主要内容,如果未能解决你的问题,请参考以下文章
错误“const Discord = require(discord.js) ^ ReferenceError: discord is not defined”