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

如何为Discord OAuth2 Bot生成非Bot/Application.Commands的Redirect URI?

解决Discord机器人添加额外Scope(如messages.read)的邀请链接生成问题

一、确定Scope组合

你需要把机器人核心Scope和额外需要的OAuth2 Scope都包含在授权链接里,比如你需要的bot、applications.commands、messages.read,多个Scope之间用空格分隔(URL编码后是%20)。

二、配置Redirect URI

  1. 登录Discord开发者门户,进入你的应用后台,找到OAuth2 → URL Generator页面
  2. 在Redirects板块添加一个有效的URI:
    • 要是你不需要实际的回调服务,直接填http://localhost:8080就行,只要后续生成链接时用的URI和这里一致
    • 必须先在门户里添加并保存这个URI,否则授权时会报错

三、生成授权链接(两种方式)

方式一:用开发者门户自动生成

在OAuth2 URL Generator页面:

  • 勾选Scopes下的bot、applications.commands、messages.read(以及其他你需要的Scope)
  • 勾选Bot Permissions里机器人所需的权限(比如读取消息相关的权限,和messages.read配合使用)
  • 页面底部会自动生成完整的授权链接,直接复制就能用

方式二:手动构造链接

如果不想用生成器,直接按以下格式构造,替换对应参数即可:

https://discord.com/api/oauth2/authorize?client_id=你的客户端ID&permissions=机器人权限数值&scope=bot%20applications.commands%20messages.read&redirect_uri=http%3A%2F%2Flocalhost%3A8080&response_type=code

参数说明:

  • client_id:替换成你的机器人应用ID
  • permissions:机器人权限的十进制数值(可在开发者门户勾选权限后获取)
  • scope:多个Scope用%20分隔,确保包含所有需要的项
  • redirect_uri:必须和你在门户里配置的一致,并且做URL编码
  • response_type=code:OAuth2授权码流程的标准参数,用于后续获取令牌

四、JDA相关注意事项

  1. 确保使用的JDA版本支持你要用到的Scope,建议升级到最新稳定版
  2. 如果需要处理OAuth2回调(比如获取用户授权的令牌),可以使用JDA提供的OAuth2Client工具类来处理授权码的兑换逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 22:42:40