缺少Discord Bot特权消息内容意图,命令或无法正常运行
解决Discord机器人消息意图相关问题
1. 先在Discord开发者后台开启特权意图
- 登录Discord开发者门户,找到你的机器人应用
- 进入「Bot」页面,下拉到「Privileged Gateway Intents」区域
- 开启「Message Content Intent」选项并保存更改
2. 修正代码中的意图配置
discord.py v2.x版本后,仅开启messages意图不足以获取消息内容,必须额外开启message_content意图。修改后的代码如下:
import os import discord from discord.ext import commands from discord.ext import tasks from discord.ext.commands import has_permissions, MissingPermissions from discord.utils import get from dotenv import load_dotenv import urllib.request import json load_dotenv() TOKEN = os.getenv('DISCORD_TOKEN') # 明确开启所需的意图 intents = discord.Intents.default() intents.messages = True intents.message_content = True # 新增这行,确保能获取消息内容 bot = commands.Bot(command_prefix = "!", intents=intents) bot.remove_command('help') @bot.event async def on_ready(): print(f'Conectado como {bot.user.name}')
补充说明
- 你之前用
Intents.all()报错,大概率是因为后台未开启全部特权意图,建议只开启实际需要的意图,避免权限冗余 - 确保discord.py版本为v2.x及以上,你已完成升级可忽略此步
内容的提问来源于stack exchange,提问作者rodrigo aguilera
相关产品推荐
相关产品推荐

