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

如何修改或移除Discord机器人help命令的"No Category"板块

解决Discord Bot Help命令出现"No Category"的问题

针对你遇到的添加!join和!leave命令后,help输出出现"No Category"板块的问题,有几种简单的解决方式,你可以根据需求选择:

方法一:给命令添加分类,归入"Commands"板块

如果想保留默认的help命令格式,只是把"No Category"替换成"Commands",最简单的方式是给新命令指定分类。定义命令时直接添加category属性即可:

@bot.command(name="join", category="Commands")
async def join_command(ctx):
    # 你的命令逻辑
    await ctx.send("已加入语音频道!")

@bot.command(name="leave", category="Commands")
async def leave_command(ctx):
    # 你的命令逻辑
    await ctx.send("已离开语音频道!")

这样默认help就会把这两个命令放在"Commands"分类下,不会再显示"No Category"。

方法二:直接修改默认help的无分类名称

如果不想给每个命令手动加分类,也可以重写默认HelpCommand的分类名称,一次性把"No Category"改成"Commands":

from discord.ext import commands

class CustomHelpCommand(commands.HelpCommand):
    def get_no_category(self, command):
        # 替换默认的无分类名称
        return "Commands"

# 给机器人设置自定义help命令
bot = commands.Bot(command_prefix="!", help_command=CustomHelpCommand())

之后所有未指定分类的命令都会自动归入"Commands"板块。

方法三:完全自定义Help命令,移除默认分类

如果你想回到之前只显示自定义嵌入消息的状态,完全控制help的输出,可以直接重写!help命令,覆盖默认逻辑:

import discord

@bot.command(name="help")
async def custom_help(ctx):
    # 构建你之前的自定义嵌入消息
    embed = discord.Embed(
        title="How to use the ImposterBot",
        description="这里是你的机器人使用说明内容...",
        color=discord.Color.blue()
    )
    # 可选:把新命令的说明添加到嵌入里
    embed.add_field(name="!join", value="让机器人加入你的语音频道", inline=False)
    embed.add_field(name="!leave", value="让机器人离开语音频道", inline=False)
    await ctx.send(embed=embed)

# 若之前默认help还在,可手动禁用
# bot.remove_command("help")

这样无论后续添加多少命令,!help都会只显示你自定义的嵌入内容,不会出现任何默认分类板块。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 11:57:48