【发布时间】:2017-11-02 04:52:15
【问题描述】:
我正在尝试为我的机器人实现嵌入式消息。我知道我需要用特定信息填充Embed 对象。但是我怎样才能将它发送到频道?当我使用e.Channel.SendMessage(string); 时,它不能发送Embed 对象,它只会发送字符串。
【问题讨论】:
标签: c# discord.net
我正在尝试为我的机器人实现嵌入式消息。我知道我需要用特定信息填充Embed 对象。但是我怎样才能将它发送到频道?当我使用e.Channel.SendMessage(string); 时,它不能发送Embed 对象,它只会发送字符串。
【问题讨论】:
标签: c# discord.net
var eb = new EmbedBuilder();
eb.WithDescription("some text");
await Context.Channel.SendMessageAsync("", false, eb.Build());
在 Discord.NET 1.0 中。
0.9.6 不支持嵌入。
【讨论】:
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());
【讨论】:
您需要使用 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);
对不起,我是 Clash 狂热者。 await Context.Channel.SendMessageAsync("", false, builder); 将 Embed 发送到频道:)。
【讨论】: