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

discord.py机器人无法读取Discord消息问题求助

解决Discord机器人无法读取消息内容的问题

问题原因

Discord网关权限更新后,discord.Intents.default() 默认不包含消息内容读取权限,导致机器人无法获取用户发送的消息内容,因此打印时内容为空。

解决步骤

1. 在Discord开发者平台开启权限

进入你的机器人应用页面,找到「Privileged Gateway Intents」选项,开启「Message Content Intent」权限。

2. 修改代码中的Intents配置

更新代码的Intents初始化部分,明确启用消息内容权限:

import discord
import random
import os

# 初始化Intents并开启消息内容权限
intents = discord.Intents.default()
intents.message_content = True

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    # 跳过机器人自身发送的消息,避免循环触发
    if message.author == client.user:
        return
    
    username = str(message.author).split('#')[0]
    user_message = message.content
    channel = str(message.channel.name)
    print(f'{username}: {user_message} ({channel})')

额外说明

  • 必须同时完成平台权限开启和代码修改,否则机器人仍无法读取消息内容
  • 新增的if message.author == client.user判断是为了防止机器人响应自己的消息,避免不必要的触发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 07:06:32