You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js开发遇DiscordAPIError[50035]及401未授权问题求助

解决Discord.js机器人的DiscordAPIError[50035]与401 Unauthorized错误

针对你遇到的DiscordAPIError[50035]伴随{"message": "401: Unauthorized", "code": 0}错误,结合你推测的方向,给出以下具体排查和解决步骤:

1. 检查机器人权限范围(Scopes)

  • 登录Discord开发者门户,进入你的机器人应用页面,切换到OAuth2 > URL Generator
  • 确认已勾选必要的Scopes:如果使用了Slash命令,必须勾选bot和applications.commands;仅基础机器人功能至少勾选bot
  • 重新生成授权链接,重新邀请机器人到目标服务器,确保授权时勾选了机器人所需的具体权限(比如发送消息、语音连接等)

2. 验证授权凭证有效性

  • 检查配置文件(如.env)中的机器人Token是否正确:Token需从Bot页面复制,而非OAuth2的客户端密钥,确保无拼写错误、多余空格
  • 若Token已过期或被重置,前往开发者门户Bot页面重新生成新Token,替换到配置中
  • 确认机器人在目标服务器未被封禁,可临时赋予管理员权限测试是否是权限不足导致

3. 修复@discordjs/rest模块问题

  • 先卸载并重装模块,执行命令:
    npm uninstall @discordjs/rest
    npm install @discordjs/rest
    
  • 检查代码中模块的初始化逻辑,确保传入了有效Token和正确的API版本,示例:
    const { REST } = require('@discordjs/rest');
    const { Routes } = require('discord-api-types/v10'); // 对应Discord.js v14版本
    const rest = new REST({ version: '10' }).setToken(process.env.DISCORD_BOT_TOKEN);
    
  • 确认依赖版本兼容:Discord.js v14需要搭配@discordjs/rest v2.x及以上版本,查看package.json中的版本号,必要时升级到匹配版本:
    npm install discord.js@latest @discordjs/rest@latest
    

额外排查点

如果错误栈指向@discordjs/rest的请求逻辑,检查你调用REST模块的代码(比如注册命令、API请求),确保路由参数正确(如使用Routes.applicationGuildCommands(CLIENT_ID, GUILD_ID)而非全局命令路由进行测试)

内容的提问来源于stack exchange,提问作者Jommy Test

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:30:43