尝试注册命令:DiscordAPIError[50001]:缺少访问权限

问题描述 投票:0回答:6

接下来; https://discordjs.guide/creating-your-bot/creating-commands.html#command-deployment-script

我正在尝试运行

node deploy-commands.js
将我的命令注册到单个公会,但出现以下错误。

    C:\Users\\\\hello-world-discord-bot>node deploy-commands.js
DiscordAPIError[50001]: Missing Access
    at SequentialHandler.runRequest (C:\\\\\hello-world-discord-bot\node_modules\@discordjs\rest\dist\lib\handlers\SequentialHandler.js:198:23)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async SequentialHandler.queueRequest (C:\\\\\hello-world-discord-bot\node_modules\@discordjs\rest\dist\lib\handlers\SequentialHandler.js:99:20)
    at async C:\\\\\hello-world-discord-bot\deploy-commands.js:17:3 {
  rawError: { message: 'Missing Access', code: 50001 },
  code: 50001,
  status: 403,
  method: 'put',
  url: 'https://discord.com/api/v9/applications/877359061669118003/guilds/447125601757691915/commands'
}

我尝试删除机器人并通过开发人员 Web 控制台重新授予它权限,然后再重新添加它。我检查并重新添加了

token
clientId
guildId
,每次都会收到相同的错误消息。我可以看到它没有获得访问权限,但我不知道还能从哪里授予访问权限。

我的

deploy-commands.js
看起来像这样:

{
    "clientId": "123456789012345678",
    "guildId": "876543210987654321",
    "token": "my-token-goes-here"
}
javascript discord
6个回答
50
投票

您是否已确保在 Discord 开发者门户中为您的机器人在 OAuth2 设置的范围部分中检查了“applications.commands”范围?


16
投票

jh316 的答案适用于额外的上下文,对于我们菜鸟来说,选中该框还需要复制 URL,将其粘贴到浏览器中,以便您可以访问身份验证页面,在该页面中您可以选择授权将应用到的 Discord 服务器。 ..然后单击“授权”以完成授权。然后运行deploy-commands.js脚本即可成功运行。


8
投票

虽然我已经检查了'applications.commands'它仍然对我不起作用。

解决方案很简单, 当我应该复制 server's id 时,我却复制了文本通道的 id。


2
投票

我偶然发现了这个错误,就我而言,问题是 guildId 是一个数字而不是字符串。


0
投票

如果有人有相关问题=> 1/ 检查您的开发者页面是否选中了 OAuth2 设置中的插件“applications.commands”! 2/如果仍然不起作用,只需重新邀请机器人并获得“使用斜线命令”权限即可!


0
投票

当我遇到这个问题时,我更改了测试服务器,但没有更改

guildId
属性,愚蠢的错误,但我花了很多时间来解决它。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.