Discord机器人命令无响应:输入<normal无结果且无报错
问题解决方法
核心问题是Intents配置错误,Discord机器人现在需要明确启用必要的意图才能接收消息、响应命令,你的代码里设置intents=None会导致机器人无法获取消息事件,所以命令无响应。
修复步骤:
1. 在Discord开发者门户启用必要的意图
- 打开Discord开发者门户,找到你的机器人应用
- 进入「Bot」页面,拉到「Privileged Gateway Intents」部分,开启「Message Content Intent」(如果需要处理成员相关事件,也可以开启「Server Members Intent」)
2. 修改代码中的Intents配置
将原来的intents=None替换为正确的intents初始化,确保启用消息内容意图:
import discord from discord.ext import commands # 初始化intents,启用消息内容意图 intents = discord.Intents.default() intents.message_content = True bot = commands.Bot(command_prefix='<', intents=intents) @bot.command() async def normal(ctx): await ctx.send("The normal command") # 注意:不要把token直接写在代码里,建议用环境变量存储 bot.run("你的机器人token")
额外提醒
- 绝对不要把机器人token公开泄露,你提供的代码里包含了真实token,建议立即前往Discord开发者门户重置token,避免账号被盗用
- 确保机器人已经被邀请到服务器,并且拥有「发送消息」「读取消息历史」等必要权限
内容的提问来源于stack exchange,提问作者أحمد هباد
相关产品推荐
相关产品推荐

