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

discord.utils模块无oauth_token属性错误求助

问题解决:discord.utils 不存在 oauth_token 属性

首先明确:discord.py 官方库的 discord.utils 模块里从来没有 oauth_token 这个方法,你调用了一个不存在的API,所以才会报AttributeError。

根据你的需求,分两种情况处理:

1. 如果你是要使用机器人账号转发消息

机器人的token不需要通过client_id和client_secret生成,直接在Discord开发者后台创建机器人应用时,就能复制到机器人专属的token。直接用这个token初始化客户端即可:

import discord

# 启用所需的intents,根据你的功能调整
intents = discord.Intents.default()
intents.message_content = True

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f"已登录为 {client.user}")
    # 这里可以编写消息转发的逻辑

# 替换成你的机器人token
client.run("你的机器人Token")

2. 如果你是要获取用户授权的OAuth2令牌

如果是需要让用户授权你的应用,获取用户的令牌来操作,那得走完整的OAuth2流程:

  • 先用你已经导入的 oauth_url 生成授权链接,引导用户访问授权:
from discord.utils import oauth_url

client_id = "你的应用客户端ID"
# 根据需求设置权限范围,比如要读取用户信息就加"identify",管理服务器就加"guilds"
scopes = ["identify", "guilds"]
# 生成授权链接
auth_link = oauth_url(client_id, scopes=scopes)
print("引导用户访问这个链接授权:", auth_link)
  • 用户授权后,会跳转到你在开发者后台设置的回调URL,你需要在后端接收这个请求,拿到code参数,然后向Discord的token接口发送POST请求,携带client_id、client_secret、code等参数,才能获取到用户的OAuth2令牌。

总结:别再用discord.utils.oauth_token了,这个方法根本不存在,根据你的实际需求选上面的方案之一。

内容的提问来源于stack exchange,提问作者sombody.eth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:15:32