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

Discord机器人仅私聊响应命令,服务器内无响应问题排查求助

Discord机器人服务器频道不响应命令的解决方法

问题根源

你的机器人在服务器频道无法响应命令,但私聊正常,核心原因是未启用Message Content Intent——Discord从v8版本开始,要求手动开启该意图后,机器人才能读取服务器频道内的消息内容,私聊场景不受此限制,因此私聊能正常触发命令。

解决步骤

1. 在Discord开发者门户开启Message Content Intent

  • 进入Discord开发者门户,打开你的机器人应用页面
  • 切换到Bot标签页
  • 在「Privileged Gateway Intents」区域,找到Message Content Intent并开启
  • 保存页面设置

2. 修改代码中的Intents配置

将原代码的默认意图配置,替换为包含消息内容意图的设置,修改后的代码如下:

import discord

token = "my token"
# 启用默认意图+消息内容意图
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f'{client.user}: ONLINE')

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content == "!help":
        print("Running !help")
        await message.channel.send("help message")

    username = str(message.author)
    user_message = str(message.content)
    channel = str(message.channel)
    print(f"{username} said: '{user_message}' ({channel})")

client.run(token)

3. 确认机器人服务器权限

确保机器人在目标服务器拥有以下权限:

  • 查看频道
  • 发送消息
  • 读取消息历史
    若权限不足,需重新生成邀请链接并邀请机器人,链接中需包含对应权限范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 07:54:19