Discord.NET向SocketMessage添加响应

Jar*_*ile 2 c# discord discord.net

我正在使用Discord.NET版本1.0.2清理问题

我的Discord Bot应用程序中有一个MessageReceived任务:

private async Task MessageReceived(SocketMessage message)
Run Code Online (Sandbox Code Playgroud)

可以推断,此任务每次在Discord中接收到此机器人的消息时运行。但是,我试图弄清楚如何对机器人已收到的消息进行响应。在此之下SocketMessage,没有任何方法可以对收到的消息添加反应。我在网上看了看,发现其中RestUserMessage包含该方法AddReactionAsync(IEmote, RequestOptions)。然后我铸造Socket MessageRestUserMessage作为如此

var rMessage = (RestUserMessage) await message.Channel.GetMessageAsync(message.Id);
Run Code Online (Sandbox Code Playgroud)

AddReactionAsync在我的变量下运行该方法rMessage可以RestUserMessage工作,但是从网上阅读和文档中可以看出,参数没有正确使用。

IEmote似乎是一个字符串,但是字符串不满足此参数,表示没有从String到的转换IEmote。我尝试将其强制转换String为,IEmote但这没有用。

RequestOptions变量似乎完全满足参数要求new RequestOptions()

我的完整代码是:

private async Task MessageReceived(SocketMessage message)
{
    var rMessage = (RestUserMessage) await message.Channel.GetMessageAsync(message.Id);
    rMessage.AddReactionAsync(???, new RequestOptions());
}
Run Code Online (Sandbox Code Playgroud)

如何IEmote正确实现此参数,或如何定义IEmote变量。同样,定义new RequestOptions()变量也是实现此参数的正确方法。这是否也是通过Discord.NET向消息添加响应的正确方法,如果不是,这是正确的方法吗?

我所做的研究:

https://github.com/RogueException/Discord.Net/issues/490
https://discord.foxbot.me/docs/api/Discord.Rest.RestUserMessage.html
https://discord.foxbot.me/docs/api/Discord.IEmote.html
https://discord.foxbot.me/docs/api/Discord.RequestOptions.html
Run Code Online (Sandbox Code Playgroud)

Unk*_*own 6

如果您转到Emojipedia,并获取unicode版本,如下所示: 在此处输入图片说明

复制之后,您必须创建一个新Emoji对象,如下所示:

var YourEmoji = new Emoji("");
Run Code Online (Sandbox Code Playgroud)

然后,您可以对所需的消息添加反应,我将使用Context.Message

Context.Message.AddReactionAsync(YourEmoji);
Run Code Online (Sandbox Code Playgroud)