Discord.Net - 如何使用“@”制作Bot Ping用户

我正在编写一个基于搜索参数检索图像的机器人 . 当机器人在命令之后返回消息时,我希望机器人警告用ping发送命令的用户 . (使用discord中的“ @ ”符号通知消息) .

这是我到目前为止所得到的:

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

我能够正确地 grab 命令的作者并按照它应该发送 -

Channels 输出:

enter image description here

但是,它实际上并不是作为标签发送的,只是纯文本 .

有没有办法真正通知用户通知?

回答(2)

2 years ago

是的,使用 User.Mention .

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

你也可以把他们的id放在 <@> 之间 . 例如, "Hello <@1234>"

2 years ago

关于C#6我最喜欢的一件事是你也可以使用String Interpolation . 在Discord.Net中非常有用!

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