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

Discord.py自机器人运行报错求助:意图错误后触发无效令牌问题

Discord.py自机器人运行报错求助:意图错误后触发无效令牌问题

兄弟我太懂你这种刚解决一个报错又蹦出另一个的崩溃感了!咱先从你的代码和报错逻辑一步步拆解问题:

首先,代码里藏了一个容易忽略的参数错误

你用了discord.Client(command_prefix=PREFIX, self_bot=True, intents=intents)来初始化客户端,但**discord.Client类根本不支持command_prefix这个参数**!这个参数是给commands.Bot类用的,硬塞给Client会导致客户端初始化异常,这种异常有时候会被错误地包装成“令牌无效”的提示,这很可能是你现在遇到的核心问题。

解决办法分两种情况:

  • 如果你不需要命令前缀功能(只是用自机器人做一些自动操作):直接删掉command_prefix=PREFIX,改成:
    client = discord.Client(self_bot=True, intents=intents)
    
  • 如果你确实需要命令前缀来触发自定义命令:把discord.Client改成commands.Bot,记得先导入commands模块:
    from discord.ext import commands
    # 然后初始化
    client = commands.Bot(command_prefix=PREFIX, self_bot=True, intents=intents)
    

其次,再确认令牌的几个关键点

虽然你说令牌是对的,但还是要排查这些细节:

  • 复制令牌的时候有没有带空格、换行符?建议直接从获取令牌的地方重新复制一次,粘贴到settings.json里,确保没有多余字符。
  • 注意区分用户令牌和机器人令牌:自机器人需要用你自己Discord账号的用户令牌,而不是开发者平台里创建机器人应用的机器人令牌——这俩完全不一样,用混了肯定会报“无效令牌”。

关于Intents的补充说明

你用intents = discord.Intents.all()是没问题的,但要注意在Discord开发者平台的对应应用里,有没有开启必要的intents?不过你之前是先出intents错误,设置后才跳令牌错误,所以这个应该不是当前的主要问题,先解决上面的参数错误再说。

最后必须提醒的风险

Discord的官方服务条款明确禁止使用自机器人,一旦被检测到,你的账号很可能会被永久封禁,这点一定要谨慎考虑哦!

备注:内容来源于stack exchange,提问作者RUMIN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 14:15:29