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

discord.py中TypeError缺失intents参数的原因及修复方法

解决Discord机器人__init__ missing 1 required keyword-only argument: "intents"错误

错误原因

你使用的是Discord.py v2.0及以上版本,该版本开始强制要求创建discord.Client实例时必须传入intents参数——这个参数用来明确机器人需要获取的Discord事件权限,不再默认开放所有权限。

修复步骤及代码

  1. 定义并传入Intents参数:创建Intents实例,启用必要的权限(比如默认权限+消息内容权限,可根据需求调整)
  2. 移除手动调用on_ready():这个函数是Discord.py的事件回调,机器人登录成功后框架会自动触发,手动调用会报错
  3. 获取机器人真实名称标签:用client.user代替自定义的name变量,才能输出botname#6969格式的真实账号信息

修改后的完整代码:

import discord

# 创建intents实例,启用默认权限+消息内容权限(不需要处理消息可去掉第二行)
intents = discord.Intents.default()
intents.message_content = True

token = "你的机器人token"

# 传入intents参数创建Client实例
client = discord.Client(intents=intents)

@client.event
async def on_ready():
    # 用client.user获取机器人的用户名和标签
    print(f"Bot logged in as {client.user}!")

# 启动机器人,无需手动调用on_ready()
client.run(token)

额外说明

  • 若不需要处理消息内容,仅保留discord.Intents.default()即可,无需开启message_content
  • 确保Discord开发者后台的机器人页面已启用对应意图(比如消息内容意图需要手动在后台开启,否则代码设置无效)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:01:18