如何使用 C# 嵌入?不和谐机器人

How to use Embedding with C#? Discord BOT

我希望嵌入以下内容:

使用 Discord API。我已经看过,我能找到的唯一资源是 Python、Java、Ruby 等

但是使用时:

var embed = new Message.Embed(
{
    Author =
    {
        Name = "Name",
        Url = "www.url.com"
    }
});

返回消息:

并且:

不确定我需要做什么才能使用嵌入库。只是寻找有关其工作原理的一些指导

编辑:

使用它时我没有收到任何错误,但是当 运行 嵌入似乎没有构建时。它没有错误。它只是从不构建嵌入变量

var embed = new Message.Embed
            {
                Author =
                {
                Name = "Lawler",
                Url = "www.twitch.tv/Lawler"
                },
                Title = "www.twitch.tv/Lawler",
                Thumbnail =
                {
                ProxyUrl = "https://yt3.ggpht.com/-m-P7t2g-ecQ/AAAAAAAAAAI/AAAAAAAAAAA/YtS2YsD8-AM/s900-c-k-no-mo-rj-c0xffffff/photo.jpg",
                Url = "www.twitch.tv/Lawler"
                },
                Description = "**Now Playing**\n" +
                              "Rocket League\n" +
                              "**Stream Title**\n" +
                              "Lawler RLCS Caster"

            };

*注意:我使用的是 Discord v 0.9.6

快速浏览一下您的代码,我认为您在错误的位置使用了右括号。

尝试以下操作:

var embed = new Message.Embed()
{
    Author =
    {
        Name = "Name",
        Url = "www.url.com"
    }
};

同样,在不进行任何研究的情况下,您可能还需要执行以下操作:

var embed = new Message.Embed()
{
    Author = new Author()
    {
        Name = "Name",
        Url = "www.url.com"
    }
};
    var embed = new EmbedBuilder()

而不是

var embed = new Message.Embed()

发送消息:

   await Context.Channel.SendMessageAsync("", false, embed);

编辑: 0.9.6 不支持嵌入,所以上面的代码没用

如果您使用的是 Discord.Net 1.0.1,您可以像这样格式化嵌入:

var eb = new EmbedBuilder() { Title = "Cool Title", Description = "Description" };

阅读此处的文档以获取更多信息here

如果你想让你的文字看起来更好一点,你可以阅读 Discord Markdown 文档 here。这适用于 0.9.6.

要发送嵌入使用:

await Context.Channel.SendMessageAsync("", false, eb);

您可以像下面的代码(使用最新版本的 Discord.Net)创建一个嵌入消息:

var builder = new EmbedBuilder()
{
    //Optional color
    Color = Color.Green,
    Description = "This is the description of the embed message"
};

在嵌入消息中构建一个字段:

builder.AddField(x =>
{
    x.Name = Author.Name;
    x.Value = Author.Url;
    x.IsInline = false;
});

并回复同一个频道上下文:

//Use await if you're using an async Task to be completed.
await ReplyAsync("", false, builder.Build())

上面的代码应该构建一个嵌入消息,Discord.Net 文档中有更多选项。 Link: https://docs.stillu.cc/guides/introduction/intro.html

希望对您有所帮助。