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

Discord.py中message_content Intent无法获取消息内容问题求助

问题解决:Discord机器人无法获取消息内容

可能的原因及解决步骤

1. 确认Discord开发者门户的特权意图已启用

Message Content Intent属于特权网关意图,仅在代码中设置还不够,必须在Discord开发者平台手动开启:

  • 登录Discord开发者门户,找到你的机器人应用
  • 进入「Bot」标签页,拉到「Privileged Gateway Intents」区域
  • 开启「Message Content Intent」开关并保存更改

2. 调整代码中的Intents配置

确保Intents包含必要权限,可修改代码如下:

import discord
# 先加载默认基础意图,再开启所需的特权意图
intents = discord.Intents.default()
intents.message_content = True
intents.guilds = True

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print("Ready")

@client.event
async def on_message(message):
    # 跳过机器人自身发送的消息,避免无效处理
    if message.author.bot:
        return
    print(message.content)

client.run("你的机器人Token")

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

在目标服务器内,确保机器人角色拥有以下核心权限:

  • 查看频道
  • 读取消息历史
    可通过服务器设置→角色→找到机器人角色,勾选对应权限后刷新机器人状态

4. 确认Token有效性

检查client.run()中的Token是否为机器人专属的Bot Token,而非OAuth2客户端ID或密钥


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 08:36:35