【发布时间】:2019-02-18 15:14:19
【问题描述】:
您好,我正在尝试让人们在我的游戏服务器上玩的游戏进行自动角色分配。 我四处寻找解决方案,但我无处可去。 我在这里做错了什么?
client.on('presenceUpdate', (oldMember, newMember) => {
print(newMember.user.displayName + " is playing " + newMember.presence.game);
});
【问题讨论】:
-
什么不起作用?从表面上看,您发布的代码看起来足够了
-
代码打印“
正在玩 [object Object]” 我试过 game.name 但返回未定义,game.game 也是如此。我也找不到任何文档。 -
首先用 JSON.stringify(game, null, 2) 包装对象以使其可读。然后确保库在初始化时调用“presenceUpdate”侦听器,否则只有在启动节点脚本之后而不是之前切换到该游戏的用户才会收到通知。
-
有关文档请看这里:discord.js.org/#/docs/main/stable/class/Game Game 对象定义了 toString 方法,因此您希望它可以像您正在做的那样在字符串连接中查找,但也许您使用的是过时的discord.js 的版本?顺便说一句,当 game.name 未定义时,您能否确认用户是否确实拥有在 discord 中列出的游戏?可能只是在处理没有游戏的用户方面表现不佳。
-
我刚刚尝试了 Zeachco 的建议,结果让我得到了结果(用 pubg 测试){ "name": "PLAYERUNKNOWN'S BATTLEGROUNDS", "type": 0, "url": null } 我会查看您提供的文档。谢谢
标签: javascript node.js discord discord.js