首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让一个在线会员计数器及时更新?

如何让一个在线会员计数器及时更新?
EN

Stack Overflow用户
提问于 2020-08-08 20:12:52
回答 2查看 54关注 0票数 0

如何让一个在线会员计数器及时更新?

代码语言:javascript
复制
client.on('ready', () => {
    var guild = client.guilds.cache.get('705684700982673428');
    var onlineCount = guild.members.cache.filter(m => m.presence.status === 'online').size
    client.user.setActivity("Online: " + onlineCount)
    .then(console.log)
    .catch(console.error);}, 3000);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-08 22:57:42

由于您是在客户端初始化时设置活动状态,因此以后不会更新它。我建议您使用presenceUpdate,它将在每次更新成员的状态时触发。(是的,这包括在线状态。)

代码语言:javascript
复制
client.on("presenceUpdate", (oldPresence, newPresence) => {
    const Guild = client.guilds.cache.get("705684700982673428");
    if (newPresence.guild.id !== Guild.id) return false;
    client.user.setActivity(`${Guild.members.cache.filter(member => member.presence.status !== "offline").size} online member${Guild.members.cache.filter(member => member.presence.status !== "offline").size == 1 ? '' : 's'}.`, {type: "WATCHING"})
});
票数 0
EN

Stack Overflow用户

发布于 2020-08-08 20:17:19

我建议使用fetch api在每次有新用户加入时通知服务器,这样所有其他用户就可以在一段时间内询问当前用户数

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63315232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档