Discord.net bot嵌入消息

时间:2017-06-01 07:08:29

标签: c# discord.net

我正在尝试为我的机器人实现嵌入式消息。我知道我需要使用特定信息填充Embed对象。但是如何将其发送到频道呢?当我使用e.Channel.SendMessage(string);时,它无法发送Embed个对象,它只会发送字符串。

4 个答案:

答案 0 :(得分:5)

var eb = new EmbedBuilder();
eb.WithDescription("some text");
await Context.Channel.SendMessageAsync("", false, eb.Build());

在Discord.NET 1.0中。

0.9.6不支持嵌入。

答案 1 :(得分:2)

您需要使用Discord.net 1.0 以下是显示EmbedBuilder()

的示例
var builder = new EmbedBuilder();

builder.WithTitle("Ice Wizard Stats");
builder.AddInlineField("Cost", "3");
builder.AddInlineField("HP", "665");
builder.AddInlineField("DPS", "42");
builder.AddInlineField("Hit Speed", "1.5sec");
builder.AddInlineField("SlowDown", "35%");
builder.AddInlineField("AOE", "63");
builder.WithThumbnailUrl("url");

builder.WithColor(Color.Red);
await Context.Channel.SendMessageAsync("", false, builder);

对不起,我是一名战友狂热分子。 await Context.Channel.SendMessageAsync("", false, builder);将Embed发送到频道:)。

答案 2 :(得分:0)

EmbedBuilder eb = new EmbedBuilder();   
eb.WithDescription("yourtext");
await Context.Channel.SendMessageAsync("", false, eb);

答案 3 :(得分:0)

使用Discord.Net 2.0.1的语法看起来会有所不同。

EmbedBuilder builder = new EmbedBuilder();

builder.WithTitle("Ice Wizard Stats");
builder.AddField("Cost", "3", true);    // true - for inline
builder.AddField("HP", "665", true);
builder.AddField("DPS", "42", true);
builder.AddField("Hit Speed", "1.5sec", true);
builder.AddField("SlowDown", "35%", true);
builder.AddField("AOE", "63", true);
builder.WithThumbnailUrl("http://...");

builder.WithColor(Color.Red);
await Context.Channel.SendMessageAsync("", false, builder.Build());