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

discord.py中message.content返回空值,on_message事件失效求助

Discord机器人on_message事件无响应排查方案
  • 开启消息内容意图:Discord机器人需要明确启用message_content权限才能读取消息内容。在Discord开发者平台的机器人设置页,勾选「Message Content Intent」,同时在代码中初始化客户端时传入意图配置:

    intents = discord.Intents.default()
    intents.message_content = True
    client = discord.Client(intents=intents)
    
  • 处理事件冲突:如果同时使用了commands.Bot框架,必须在on_message函数末尾添加命令处理逻辑,否则会阻断命令执行:

    @client.event
    async def on_message(message):
        if message.content.startswith("$test"):
            await message.channel.send("test")
        await client.process_commands(message)
    
  • 排除自身消息:添加判断跳过机器人自身发送的消息,避免循环触发事件:

    @client.event
    async def on_message(message):
        if message.author == client.user:
            return
        if message.content.startswith("$test"):
            await message.channel.send("test")
    
  • 校验频道权限:确认机器人在目标频道拥有「发送消息」和「读取消息历史」的权限,否则无法正常交互。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:31:18