【发布时间】:2021-12-13 05:34:50
【问题描述】:
我正在使用 discord.js v13。我已经成功创建了一个具有范围 bot 和 application.commands 的机器人,并成功地将其添加到我服务器上的频道中。现在我正在关注tutorial 注册斜杠命令。我创建了一个包含以下内容的文件 deploy-commands.js:
const { SlashCommandBuilder } = require('@discordjs/builders');
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');
const { clientId, guildId, token } = require('./config.json');
const commands = [
new SlashCommandBuilder().setName('ping').setDescription('Replies with pong!'),
new SlashCommandBuilder().setName('server').setDescription('Replies with server info!'),
new SlashCommandBuilder().setName('user').setDescription('Replies with user info!'),
]
.map(command => command.toJSON());
const rest = new REST({ version: '9' }).setToken(token);
rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands })
.then(() => console.log('Successfully registered application commands.'))
.catch(console.error);
然后我运行命令 node deploy-commands.js 并出现错误:
DiscordAPIError[50001]: Missing Access
at SequentialHandler.runRequest (/home/evalenzuela/apps/discord-aurasix/node_modules/@discordjs/rest/dist/lib/handlers/SequentialHandler.js:198:23)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async SequentialHandler.queueRequest (/home/evalenzuela/apps/discord-aurasix/node_modules/@discordjs/rest/dist/lib/handlers/SequentialHandler.js:99:20) {
rawError: { message: 'Missing Access', code: 50001 },
code: 50001,
status: 403,
method: 'put',
url: 'https://discord.com/api/v9/applications/901217590259617813/guilds/901235476399280138/commands'
}
我在互联网上查看了很多信息,但找不到解决方案。我已经三次检查了 clientId、guildId 和应用程序令牌。
【问题讨论】:
-
尝试将机器人重新添加到您的 Guild 并确保它具有 application.commands 范围。还要确保它在它所在的所有公会中都有这个范围,否则你会得到同样的错误。
-
@PedroFracassi 感谢您的评论,我创建了一个新的应用程序和机器人,结果相同,还有其他建议吗?
标签: javascript node.js discord discord.js