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

Discord机器人此前可响应命令,现无响应问题排查求助

解决Discord机器人无法响应消息命令的问题

核心原因:消息内容权限未开启

你的机器人采用的是基于on_message事件的关键词触发逻辑,但Discord从2022年4月起默认关闭了消息内容意图(Message Content Intent)。如果未手动开启该权限,机器人将无法读取服务器内的消息内容,自然无法触发命令响应。

修复步骤

  • 打开Discord开发者门户,进入你的机器人应用页面
  • 切换到「Bot」标签页,找到「Privileged Gateway Intents」区域
  • 开启「Message Content Intent」选项并保存更改
  • 重新生成邀请链接(需包含SendMessages、ReadMessageHistory等基础文本权限),将机器人重新邀请至服务器

关于邀请权限显示的说明

你看到的“允许开发者:在你的服务器中创建命令”是针对Slash命令(/开头的命令)的权限,和你当前基于消息关键词的机器人逻辑无关。那个正常运行的旧机器人因为创建时间较早,当时Discord尚未强制要求开启消息内容意图,所以能正常工作。

代码调整提示

开启消息内容意图后,需要在初始化Client时传入对应配置,同时可删除冗余代码:

import discord
import os

from keep_alive import keep_alive

# 配置消息内容意图
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

  if "p.h" in message.content:
    await message.channel.send('Hello!')

keep_alive()
client.run(os.getenv('TOKEN'))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:03:25