Discord机器人注册斜线命令返回错误20012(JS SDK 14.7.1)
Discord机器人注册斜线命令错误20012的解决方案
针对你遇到的第二个机器人注册斜线命令时返回权限错误的问题,即使配置了application.commands和管理员权限仍无法解决,结合相同代码在第一个机器人正常运行的情况,可从以下几个方向排查:
- 确认机器人令牌与应用匹配:检查第二个机器人使用的令牌是否是从其对应的Discord开发者应用页面生成的,不要混用第一个机器人的令牌。令牌可在开发者页面的「Bot」选项卡下重置获取。
- 检查命令注册的应用ID:查看代码中指定的应用ID是否为第二个机器人的应用ID,若代码中硬编码了第一个机器人的ID,会导致第二个机器人无权操作不属于自己的应用。
- 验证OAuth2授权范围:邀请第二个机器人到服务器时,确保授权URL包含
applications.commands范围。完整的授权URL应包含scope=bot+applications.commands,缺少后者会导致机器人无法注册斜线命令。 - 等待Discord缓存刷新:权限变更或重新邀请机器人后,Discord服务器可能存在缓存延迟,可等待5-10分钟后再尝试注册命令,或重新邀请机器人确保权限生效。
- 核对令牌有效性:确认第二个机器人的令牌未过期、未被撤销,且是机器人专用令牌(而非用户令牌),用户令牌无法用于注册应用命令。
附错误信息参考:
{ rawError: { message: 'You are not authorized to perform this action on this application', code: 20012 } }
内容的提问来源于stack exchange,提问作者Mehdi Amenein
相关产品推荐
相关产品推荐

