【问题标题】:Discord JS: Deploy CommandsDiscord JS:部署命令
【发布时间】: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


【解决方案1】:

补充佩德罗的评论, 来自Trying to register commands: DiscordAPIError[50001]: Missing Access: “您是否确保在不和谐开发者门户中为您的机器人的 OAuth2 设置的范围部分检查了 'applications.commands' 范围?”

您提到您重新制作了应用程序和机器人,但没有验证您正确设置了 application.commands 范围权限。这可能是您的问题。

【讨论】:

  • 是的,我也仔细检查过
猜你喜欢
  • 2021-04-02
  • 2021-03-20
  • 2019-05-02
  • 1970-01-01
  • 2021-03-11
  • 2017-08-31
  • 1970-01-01
  • 2019-10-09
  • 2021-12-20
相关资源
最近更新 更多