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

Discord机器人仅响应DM,服务器频道无响应问题求助

问题排查与解决

你的机器人仅响应私信、不处理服务器频道消息,核心原因是Discord的消息内容意图(Message Content Intent)未正确配置,具体解决步骤如下:

1. 修正代码中的Intents设置

Discord v20及以上版本要求显式声明需要使用的消息内容权限,默认的discord.Intents.default()不包含该权限。修改代码的Intents初始化部分:

import discord

class MyClient(discord.Client):
    async def on_ready(self):
        print("I'm Online")

    async def on_message(self, message):
        if message.author == client.user:
            return
        print(f"Message from {message.author}: {message.content}")
        if message.content.startswith("Hello Bot"):
            await message.channel.send("Hello")

# 配置所需的Intents
intents = discord.Intents.default()
intents.message_content = True  # 必须开启:允许机器人读取消息内容

client = MyClient(intents=intents)
client.run("my token")

2. 在Discord开发者后台启用对应权限

仅修改代码无法生效,需到Discord开发者门户完成配置:

  • 登录Discord开发者门户,找到你的机器人应用
  • 切换到Bot标签页
  • 在Privileged Gateway Intents板块,找到Message Content Intent并开启
  • 保存设置

3. 验证机器人的服务器权限

确保你的机器人在目标服务器中拥有以下基础权限:

  • 读取消息/查看频道
  • 发送消息
  • 读取消息历史

完成上述操作后重启机器人,服务器频道内的消息就能正常触发on_message事件了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:05:28