类型为 EmbedBuilder 的 Discord .NET 值无法转换为 Embed

Discord .NET Value of type EmbedBuilder cannot be converted to Embed

正如标题所说,我收到 "Value of type EmbedBuilder cannot be converted to Embed" 错误。 这是我现在正在尝试的代码:

               If msg.Equals("gDurum") Then

                Dim eb As New EmbedBuilder With {
            .Title = "Sunucu Bilgisi",
            .Color = New Color(255, 0, 0),
            .ImageUrl = "https://cache.gametracker.com/server_info/185.198.73.27:27015/b_560_95_1.png",
            .Description = "Deneme"
            }
                eb.Build()

                Await message.Channel.SendMessageAsync("", False, eb)

好的。我找到了解决方案。我试图传递 EmbedBuilder 而不是 Embed。

这是我的新代码:

 If msg.Equals("gDurum") Then



                Dim eb As New EmbedBuilder With {
            .Title = "Sunucu Bilgisi",
            .Color = New Color(255, 0, 0),
            .ImageUrl = "https://cache.gametracker.com/server_info/185.198.73.27:27015/b_560_95_1.png",
            .Description = "Deneme"
            }

                Await message.Channel.SendMessageAsync("", False, eb.Build())

对于那些在编译时正在查看 the official code example might encounter type mismatch 的人。

确保将 Discord.Embed 构建到可以发送的 Rich Embed 中。

针对此的更正和工作代码示例:

[Command("embed")]
public async Task SendRichEmbedAsync()
{
    var embed = new EmbedBuilder
        {
            // Embed property can be set within object initializer
            Title = "Hello world!"
            Description = "I am a description set by initializer."
        };
        // Or with methods
    embed.AddField("Field title",
        "Field value. I also support [hyperlink markdown](https://example.com)!")
        .WithAuthor(Context.Client.CurrentUser)
        .WithFooter(footer => footer.Text = "I am a footer.")
        .WithColor(Color.Blue)
        .WithTitle("I overwrote \"Hello world!\"")
        .WithDescription("I am a description.")
        .WithUrl("https://example.com")
        .WithCurrentTimestamp();
    await ReplyAsync(embed: embed.Build());
}