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

Discord机器人无响应问题求助:消息未被检测

Discord机器人无法检测消息的解决方案

1. 在Discord开发者平台开启消息内容权限

  • 登录Discord开发者平台,找到你的机器人应用
  • 进入「Bot」页面,在「Privileged Gateway Intents」板块下,开启「Message Content Intent」选项

2. 修改代码中的Intents配置

原代码使用默认Intents,缺少消息内容权限,替换成以下配置:

import discord
import random

TOKEN = "你的机器人Token"

# 配置Intents,启用消息内容权限
intents = discord.Intents.default()
intents.message_content = True

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print("我们已以 {0.user} 的身份登录".format(client))


@client.event
async def on_message(message):
    username = str(message.author).split("#")[0]
    user_message = str(message.content)
    channel = str(message.channel.name)
    print(f"{username}: {user_message} ({channel})")

    if message.author == client.user:
        return
    
    if message.channel.name == "general":
        if user_message.lower() == "do it jeff":
            await message.channel.send(f"My name is Jeff")
            return
        elif user_message.lower() == "stop":
            await message.channel.send(f"NEVER {username}!")
            return

client.run(TOKEN)

问题原因

Discord v14及以后版本中,message_content属于特权网关意图,默认处于关闭状态。你的代码仅调用discord.Intents.default(),未启用该权限,导致机器人无法读取用户发送的消息内容,终端只能显示频道名称,无法触发后续的命令响应逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:40:32