gpt4 book ai didi

c# - Discord.NET 向 SocketMessage 添加 react

转载 作者:行者123 更新时间:2023-11-30 19:36:21 29 4
gpt4 key购买 nike

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

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

private async Task MessageReceived(SocketMessage message)

这个任务,因为已经可以扣除,每次在 Discord 中收到发给这个机器人的消息时运行。但是,我试图弄清楚如何对机器人收到的消息添加 react 。在 SocketMessage 下没有方法可以对收到的消息添加 react 。我上网查了一下,发现RestUserMessage包含方法 AddReactionAsync(IEmote, RequestOptions) .然后我投了 Socket MessageRestUserMessage如此

var rMessage = (RestUserMessage) await message.Channel.GetMessageAsync(message.Id);

运行 AddReactionAsync我变量下的方法 rMessage对于 RestUserMessage有效,但从我的在线阅读和文档中可以看出参数没有正确获取。

IEmote貌似是一个字符串,但是一个字符串不满足这个参数,说是没有从一个String转换过来到IEmote .我试过类型转换这个 StringIEmote但这没有用。

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 向消息添加 react 的正确方法吗?如果不是,那是什么?

我做过的研究:

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

最佳答案

如果您前往 Emojipedia ,并获取 unicode 版本,如下所示: enter image description here

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

var YourEmoji = new Emoji("😀");

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

Context.Message.AddReactionAsync(YourEmoji);

关于c# - Discord.NET 向 SocketMessage 添加 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46740554/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com