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

Python编写的Discord Bot无法执行简单命令问题求助

问题修复说明

核心错误1:实例启动逻辑错误

commands.Bot 是 discord.Client 的子类,你将命令注册在了 bot 实例上,但最后启动的是完全独立的 client 实例,注册的命令自然不会被触发,不需要额外创建discord.Client实例。

核心错误2:缺少必要的网关意图配置

discord.py v2.0及以上版本要求显式声明读取消息内容的意图,否则Bot无法识别消息中的命令前缀,同时需要提前在Discord开发者后台的对应Bot设置页开启「Message Content Intent」权限。


修复后可运行代码

import discord
from discord.ext import commands

# 声明必要的网关意图
intents = discord.Intents.default()
intents.message_content = True

# 初始化Bot实例,无需额外创建Client
bot = commands.Bot(command_prefix="!", intents=intents)

@bot.command()
async def test(ctx, arg):
    await ctx.send(arg)

# 替换为你的实际Bot Token,启动bot实例
token = "你的Bot Token"
bot.run(token)

额外检查项

  • 确保Bot已被邀请到目标服务器,且拥有发送消息的权限
  • 确保Discord开发者后台的Bot设置中,「Message Content Intent」开关已开启
  • 输入命令时前缀与设置的!完全匹配,无多余空格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:18:03