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

如何在WPF C#的Discord嵌入消息中添加字段?

如何在WPF C#的Discord Webhook嵌入消息中添加字段

嘿,我看你已经把Discord嵌入消息的基础结构搭得差不多了,现在就差字段部分对吧?其实核心问题是你的Fields类是空的,咱们先把这个补上,再一步步把字段加到嵌入里。

第一步:完善Fields类

Discord的嵌入字段需要三个核心属性(其中两个必填):

  • name:字段的标题(必填)
  • value:字段的内容(必填)
  • inline:是否让字段和其他字段并排显示(可选,默认false)

把你的Fields类改成这样:

public class Fields
{
    [JsonProperty("name")]
    public string Name { get; set; }

    [JsonProperty("value")]
    public string Value { get; set; }

    [JsonProperty("inline")]
    public bool Inline { get; set; }
}

第二步:在Embed中添加字段列表

现在你可以在构建Embed对象的时候,初始化fields集合,并添加具体的字段实例了。比如在你的EmbedBuilder.buildEmbed()方法里,给Embed对象补上fields属性:

public static void buildEmbed()
{
    Json json = new Json()
    {
        embeds = new List<Embed>()
        {
            new Embed
            {
                author = new Author
                {
                    name = "示例作者",
                    iconurl = "https://example.com/avatar.png",
                },
                title = "示例嵌入标题",
                url = "https://example.com",
                color = 14957895,
                description = "这是一个带字段的嵌入消息示例",
                // 这里添加字段列表
                fields = new List<Fields>()
                {
                    new Fields
                    {
                        Name = "第一个字段",
                        Value = "这是第一个字段的内容",
                        Inline = true // 让这个字段和下一个并排
                    },
                    new Fields
                    {
                        Name = "第二个字段",
                        Value = "这是第二个字段的内容",
                        Inline = true
                    },
                    new Fields
                    {
                        Name = "第三个字段",
                        Value = "这个字段单独占一行",
                        Inline = false
                    }
                },
                thumbnail = new Thumbnail
                {
                    url = "https://example.com/thumbnail.png",
                },
                footer = new Footer
                {
                    text = "示例页脚",
                    iconurl = "https://example.com/footer-icon.png",
                }
            }
        }
    };

    HTTP.MakeRequest(Properties.Settings.Default.discordhook, Newtonsoft.Json.JsonConvert.SerializeObject(json));
}

第三步:保存嵌入时同步字段配置

如果你需要在saveEmbed()方法里保存带字段的配置,同样要给对应的Embed对象加上fields集合,写法和上面一致就行。

关键注意点

  • 每个字段的name和value都不能为空,否则Discord会直接忽略这个字段
  • inline设为true时,最多三个字段可以并排显示,超出的会自动换行
  • 字段数量没有严格限制,但Discord对整个嵌入消息的总字符数有上限,别一次性加太多字段就行

这样修改之后,你的Webhook就能正常发送带字段的嵌入消息啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:12:02