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

如何在Discord Embed消息中实现换行以正确排版命令帮助列表?

Discord Embed 命令列表无法换行?试试这两种实用方案

我太懂你现在的困扰了——明明在代码里手动给每个命令和描述分了行,结果Discord发送出来的Embed消息里,所有内容还是挤成一团,完全没实现换行效果对吧?这是因为Discord的Embed解析不会识别你代码里的手动换行,必须明确添加换行标记才行。

下面给你两种简单易上手的修复方法:

方案1:插入换行符\n

直接在每个命令条目之间加上\n,明确告诉Discord这里需要换行:

async def currency(ctx):
    await open_account(ctx.author)
    em = discord.Embed(title = f":moneybag: Currency Commands",color = discord.Color.green())
    em.add_field(
        name = "Free",
        value = "`cook` - 制作饼干并售卖\n`beg` - 乞讨获取金币\n`farm` - 进行种植(咳咳)并售卖产物获取金币\n`daily` - 每日领取2500金币\n`balance` - 查看你的账户余额",
        inline=False  # 让字段占满整行,提升可读性
    )
    em.add_field(name = ":star: Premium",value = "Coming Soon", inline=False)
    await ctx.send(embed = em)

方案2:使用Python多行字符串(三重引号)

如果你觉得写一堆\n太繁琐,用三重引号定义多行字符串是更直观的选择——代码里的换行会被自动保留:

async def currency(ctx):
    await open_account(ctx.author)
    em = discord.Embed(title = f":moneybag: Currency Commands",color = discord.Color.green())
    
    # 用三重引号写多行命令列表,排版清晰又省心
    free_commands_text = """`cook` - 制作饼干并售卖
`beg` - 乞讨获取金币
`farm` - 进行种植(咳咳)并售卖产物获取金币
`daily` - 每日领取2500金币
`balance` - 查看你的账户余额"""
    
    em.add_field(name = "Free", value = free_commands_text, inline=False)
    em.add_field(name = ":star: Premium",value = "Coming Soon", inline=False)
    await ctx.send(embed = em)

额外小建议

一定要记得给add_field加上inline=False参数!默认情况下多个字段会并排显示,加上这个参数后每个字段会单独占一行,命令列表的可读性会提升不少~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 03:32:45