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

Discord机器人无法获取message.content内容问题求助

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

问题出在你没有启用消息内容意图(Message Content Intent)——Discord新版API要求必须显式开启这个权限,才能获取消息的content内容,否则只会返回空值。

解决分两步:

  • 先去Discord开发者平台的机器人设置里,找到“Privileged Gateway Intents”选项,开启“Message Content Intent”权限。
  • 然后修改代码里的Intents配置,加上消息内容权限:

修改后的完整代码:

import discord

class MyClient(discord.Client):
    async def on_ready(self):
        print('Logged in as')
        print(self.user.name)
        print(self.user.id)
        print('------')

    async def on_message(self, message: discord.Message):
        # 避免机器人回复自己
        print(message.id)
        if message.author.id == self.user.id:
            return

        if message.content.startswith('!hello'):
            print('ok')
            await message.channel.send('Hello {0.author.mention}'.format(message))


defIntents = discord.Intents.default()
defIntents.members = True
# 启用消息内容意图
defIntents.message_content = True
client = MyClient(intents=defIntents)
client.run('token')

注意:必须同时完成开发者后台的权限开启和代码配置,两者缺一不可,否则还是无法读取消息内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:10:38