Как использовать встраивание с C #? Discord BOT

Я хочу встроить следующее:  Embed Pic

Используя Discord API. Я посмотрел, и единственные ресурсы, которые я могу найти, - это Python, Java, Ruby и т. Д.

Но при использовании:

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

Он возвращается с сообщением:

Ошибка MEssage.Embed

А также:

Ошибка имени и 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.


person Zack Arnett    schedule 09.05.2017    source источник
comment
Вы можете поделиться образцом проекта?   -  person Boris Ivanov    schedule 09.05.2017
comment
@BorisIvanov Вот ссылка на Образец, который я нашел для Java. ССЫЛКА   -  person Zack Arnett    schedule 09.05.2017


Ответы (4)


Вы можете создать сообщение для вставки, как в следующем коде (используя самую последнюю версию 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 < / а>

Надеюсь, вы найдете это полезным.

person Ruan Montelo    schedule 15.09.2019

Просто взгляните на свой код, я думаю, вы поставили закрывающую скобку не в том месте.

Попробуйте следующее:

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"
    }
};
person Adam Schiavone    schedule 09.05.2017
comment
Спасибо! Смотрите мою правку. Теперь у меня это работает, но ничего после var embed = new message.embed не запускается. Не похоже, чтобы встроить - person Zack Arnett; 09.05.2017

    var embed = new EmbedBuilder()

вместо того

var embed = new Message.Embed()

Чтобы отправить сообщение:

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

РЕДАКТИРОВАТЬ: 0.9.6 не поддерживает встраивание, поэтому приведенный выше код бесполезен.

person datboi    schedule 01.06.2017

Если вы используете Discord.Net 1.0.1, вы можете отформатировать встраивание следующим образом:

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

Прочтите документацию здесь, чтобы получить дополнительную информацию здесь.

А если вы хотите, чтобы текст выглядел немного лучше, вы можете прочитать документацию Discord Markdown здесь. Это работает в 0.9.6.

Для отправки вставки используйте:

await Context.Channel.SendMessageAsync("", false, eb);
person ComedicChimera    schedule 18.08.2017
comment
Я знаю, что это похоже на то, что было сказано выше, но мне показалось, что добавление некоторых пояснений может помочь :) - person ComedicChimera; 18.08.2017