【问题标题】:Get a user's presence - discord JDA library获取用户的存在 - discord JDA 库
【发布时间】:2021-05-25 08:46:13
【问题描述】:
我正在尝试使用 JDA 编写一个不和谐的机器人,虽然我可以很容易地获得机器人的存在,但我无法获得选定用户的存在。一个示例用例可能是用户键入!game 之类的命令,然后机器人发送一条消息,告诉用户他们正在玩什么游戏。据我所知,如果没有用户的存在,机器人就无法获取用户的游戏活动,而且我看不到这样做的方法。如果我在文档中遗漏了它,请链接方法/类。
【问题讨论】:
标签:
java
discord
discord-jda
user-presence
【解决方案1】:
经过大量的挖掘和文档阅读,我找到了解决方案。没有办法像我想的那样获得存在感,但由于我的初衷是获得游戏活动,所以这个解决方案有效。首先,机器人必须具有通过开发者门户授予的公会存在权限。然后我们需要在main方法中调用build方法之前包含jdaBuilder.enableIntents(GatewayIntent.GUILD_PRESENCES);这一行。最后,要获取会员活动,我们需要包含jdaBuilder.enableCache(CacheFlag.ACTIVITY);。这让我们可以使用member.getActivities() 方法。一般来说,获取与特定用户关联的数据需要启用公会存在。