如何使用嵌入C#?不和谐BOT

时间:2017-05-09 17:08:36

标签: c# embed discord discord.net

我希望嵌入以下内容: Embed Pic

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

但使用时:

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

它返回消息:

Error on MEssage.Embed

Error on Name and URL

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

编辑:

使用此时,我没有错误,但在运行嵌入时似乎没有构建。它没有错误。它永远不会构建嵌入变量

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

4 个答案:

答案 0 :(得分:1)

只需快速查看一下您的代码,我认为您在错误的地方有一个紧密的括号。

尝试以下方法:

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"
    }
};

答案 1 :(得分:0)

    var embed = new EmbedBuilder()

而不是

var embed = new Message.Embed()

发送消息:

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

编辑: 0.9.6不支持嵌入,因此上面的代码无用

答案 2 :(得分:0)

如果你在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);

答案 3 :(得分:0)

您可以使用以下代码创建嵌入消息(使用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文档中有更多选项。链接:https://docs.stillu.cc/guides/introduction/intro.html

希望您对此有帮助。