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

如何使用Discord.py设置Embed字段的两行两列排版?

Discord.py Embed 两行两列字段排版解决方案

要实现两行两列的字段排版,核心是利用inline=True的特性,同时控制字段内容的长度,确保同一行的两个字段总宽度不超过Embed容器的一行空间。

问题原因

你设置inline=True却每行只显示一个字段,是因为单个字段的名称或内容过长,占满了Embed的整行宽度,导致无法和其他字段并排。

解决步骤

  1. 缩短字段名称/内容:尽量精简字段的名称和值,让两个字段的总宽度控制在Embed一行的一半以内。
  2. 按顺序添加字段:先添加第一行的两个字段(都设inline=True),再添加第二行的两个字段(同样设inline=True),Discord会自动将前两个放在第一行,后两个放在第二行。

代码示例

from discord import Embed

# 创建Embed对象
activity_embed = Embed(title="活动时间安排", color=0x0099ff)

# 第一行:开始日期 + 开始时间
activity_embed.add_field(name="开始日期", value="2024-05-20", inline=True)
activity_embed.add_field(name="开始时间", value="14:00", inline=True)

# 第二行:结束日期 + 结束时间
activity_embed.add_field(name="结束日期", value="2024-05-20", inline=True)
activity_embed.add_field(name="结束时间", value="16:00", inline=True)

# 发送Embed(示例)
# await ctx.send(embed=activity_embed)

特殊情况处理

如果字段内容无法缩短,可以在每行的两个字段之间添加一个空字段占位(设inline=True且名称和值都用零宽空格\u200b填充),强制让下一个字段换行到第二行:

activity_embed.add_field(name="开始日期", value="2024-05-20 星期六", inline=True)
activity_embed.add_field(name="开始时间", value="下午2点 (北京时间)", inline=True)
# 添加零宽空格占位的空字段,强制换行
activity_embed.add_field(name="\u200b", value="\u200b", inline=True)
activity_embed.add_field(name="结束日期", value="2024-05-20", inline=True)
activity_embed.add_field(name="结束时间", value="下午4点", inline=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:00:56