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

Discord.py自定义help命令触发400 Bad Request报错问题咨询

discord.py自定义help指令Embed报错解决方案

报错原因

报错信息已经明确指向参数问题:In embed.fields.0.value: This field is required,核心原因是Discord API要求Embed的每个field的value参数必须为非空字符串,不能使用空字符串或仅包含空白字符的内容。你代码中Personnel teams对应的字段value设置为空字符串,触发了API参数校验失败。

修复方法

  1. 为空value的字段补充有效内容,如果你不需要显示内容仅需要占位,可以使用零宽空格\u200b作为value值,视觉上无显示但符合非空要求;如果该字段不需要可以直接删除。
  2. 若后续出现help指令冲突问题,可在Bot初始化时添加help_command=None参数,移除discord.py内置的默认help指令。

修复后代码示例

# 初始化Bot时可选添加help_command=None避免指令冲突,示例:
# client = commands.Bot(command_prefix='>', intents=discord.Intents.all(), help_command=None)

@client.command(pass_context = True)
async def help(ctx):
    emb = discord.Embed(title = 'Command Reference!', colour = 0x2f3136)
    
    emb.add_field(name = 'Bot prefix:', value='```>```', inline=True) 
    # 空value替换为零宽空格,不需要该字段可直接删除本行
    emb.add_field(name = 'Personnel teams', value='\u200b', inline=False)    
    emb.add_field(name = 'Blocking a user', value='```>ban 1с/н/м Reason```', inline=True)

    await ctx.send(embed = emb, delete_after=60.0)

补充说明

Discord对Embed字段还有长度限制:name最长256字符,value最长1024字符,超出长度也会触发类似的参数校验错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:06:06