我使用Discord.NET版本1.0.2,以澄清一些事情Discord.NET添加反应到SocketMessage
我有一个的messageReceived任务在我的不和谐机器人的应用程序:
private async Task MessageReceived(SocketMessage message)
这个任务,正如已经可以扣除的那样,每当收到一条消息在Discord收到这个机器人。然而,我正试图弄清楚如何向bot收到的消息添加一个反应。在SocketMessage
下,没有方法可以对接收到的消息添加反应。我在网上查找,发现RestUserMessage
包含方法AddReactionAsync(IEmote, RequestOptions)
。然后我铸造Socket Message
到RestUserMessage
为下我的变量rMessage
为RestUserMessage
作品如此
var rMessage = (RestUserMessage) await message.Channel.GetMessageAsync(message.Id);
运行AddReactionAsync
方法,但参数不正确作为我可以从我的阅读在线文档感知。
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());
}
如何正确地履行这一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