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

问题描述 投票:0回答:2

正如标题所示,我得到“EmbedBuilder类型的值无法转换为嵌入”错误。这是我现在正在尝试的代码:

               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)
vb.net discord.net
2个回答
1
投票

好。我找到了解决方案。我试图通过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())

0
投票

对于那些正在寻找the official code example的人在编译时可能会遇到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());
}
© www.soinside.com 2019 - 2024. All rights reserved.