JDA Discord - 如何获取对数组中的机器人消息做出反应的用户的所有名称

JDA Discord - How to get all names of Users who reacted to a bot's message in an array

我正在尝试编写一个赠品机器人。我在获取对机器人发送的赠品消息做出反应的用户的所有用户名并将它们存储在类型 String.

Array 中时遇到问题

您可以通过获取其所在频道的历史记录来获取消息的 Message 对象,然后通过历史记录中的 id 获取消息。

Message 对象有一个 getReactions 方法,该方法 returns 一条消息的所有反应列表,然后您可以遍历反应,然后依次遍历所有对给定反应做出反应的用户,并将每个做出反应的用户的 name/id 保存到您选择的数组或列表或数据结构中。

List<MessageReaction> reactionsList = event.event.getMessage().getReactions();

// List of users that reacted to every possible emote.
for (int i = 0; i < reactionsList.size(); i++)
{
    List<User> users = reactionsList.get(i).retrieveUsers().complete();
}