C# 为列表中的每个列表元素添加一个 AddField

C# foreach list element in a list add a AddField

我正在尝试创建一个使用 discord.net 包发送嵌入消息的 discord 机器人。

这个 discord 包带来了一个创建嵌入的功能,称为 EmbedBuilder,可以在这里看到:https://docs.stillu.cc/api/Discord.EmbedBuilder.html

以下功能效果很好。代码如下所示:

public async Task ExampleAsync()
{
    var embedElement = new EmbedBuilder()
        .WithTitle("Example Name")
        .AddField("Working", "Example")
        .Build();

    var chnl = BotClient.GetChannel(123) as IMessageChannel;
    await chnl.SendMessageAsync(embed: embedElement);
}

但假设我有一个包含用户的列表,我想为列表中的每个用户添加一个 AddField("Working", "Example") 我该怎么做?

因为像下面这样的东西显然不起作用,我找不到任何相关信息。

public List<UserObject> Users;

public async Task ExampleAsync()
{
    var embedElement = new EmbedBuilder()
        .WithTitle("Example Name")
        foreach(UserObject user in Users) 
        {
            .AddField("Working", "Example")
        }
        .Build();

    var chnl = BotClient.GetChannel(123) as IMessageChannel;
    await chnl.SendMessageAsync(embed: embedElement);
}

如有任何帮助和建议,我将不胜感激。

试试这个:

public List<UserObject> Users;

public async Task ExampleAsync()
{
    var embedElement = new EmbedBuilder().WithTitle("Example Name");
    foreach(UserObject user in Users) 
    {
        embedElement.AddField("Working", "Example");
    }
    embedElement.Build();

    var chnl = BotClient.GetChannel(123) as IMessageChannel;
    await chnl.SendMessageAsync(embed: embedElement);
}