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

Discord.py 2.2.2版本Bot仅被提及才响应问题求助

问题解决方案

核心原因

Discord.py 2.0+版本对消息相关的意图做了拆分,原有的messages=True参数已被弃用,需要显式启用**message_content特权意图**才能接收普通消息内容。你当前的代码只开启了messages和guilds意图,缺少关键的message_content,导致bot无法获取普通消息的内容,仅能在被@或回复时触发响应。

具体修复步骤

1. 修改代码中的意图设置

将原有的客户端初始化代码:

client = discord.Client(intents=discord.Intents(messages=True, guilds=True))

替换为以下两种方式之一:

方式一(推荐,使用默认意图+开启消息内容):

# 初始化默认意图,再开启message_content
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)

方式二(直接指定所需意图):

client = discord.Client(intents=intents=discord.Intents(guilds=True, message_content=True))

2. 确认Discord开发者门户的权限设置

即使代码中开启了意图,还需要在Discord开发者门户中启用对应的特权意图:

  • 登录Discord开发者门户,进入你的Bot应用页面
  • 切换到Bot选项卡
  • 向下滚动到Privileged Gateway Intents区域
  • 确保Message Content Intent选项处于开启状态,点击页面底部的"Save Changes"保存设置。

额外代码修复提示

你的代码中custchannel = client.get_channel('CHANNEL ID HERE')存在问题,get_channel需要传入整数类型的频道ID,而非字符串,应修改为:

custchannel = client.get_channel(123456789012345678)  # 替换为实际的数字频道ID

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 06:35:28