Discord.Net -- 如何用“@”让Bot Ping用户

Discord.Net -- How to make Bot Ping users with "@"

我正在编写一个可以根据搜索参数检索图像的机器人。当机器人 returns 命令后的消息时,我希望机器人通过 ping 提醒发送命令的用户。 (discord中使用“@”符号的消息通知)。

这是我目前得到的:

await Context.Channel.SendMessageAsync("@" + Context.Message.Author + "\n" + imageNode.Attributes["src"].Value);

我能够正确地获取命令的作者并且它应该发送--

通道输出:

但是,它实际上并没有作为标签发送,只是纯文本。

有没有办法通过通知实际通知用户?

是,使用 User.Mention

await Context.Channel.SendMessageAsync(Context.Message.Author.Mention + "\n" + imageNode.Attributes["src"].Value);

您也可以将他们的 ID 放在 <@> 之间。例如,"Hello <@1234>"

关于 C# 6,我最喜欢的一点是您还可以使用字符串插值。在 Discord.Net 中非常有用!

var id = Context.Message.Author.Id;
await Context.Channel.SendMessageAsync($"<@{id}> \n {imageNode.Attributes["src"].Value}";