如何获得在线更新会员

时间:2019-10-09 19:48:23

标签: javascript discord.js

您好,我正在开发一个简单的Discord机器人,其中包括成员计数器(我已完成此操作)。 另一个想法是要有在线会员柜台,而我已经做了部分工作:

inputenc

问题是如何获取在线成员更新。现在,我需要重新启动bot以获得正确数量的在线用户,我知道它必须使用precenseUpdate进行操作,但是不知道如何进行编码。 谢谢蒂斯

1 个答案:

答案 0 :(得分:0)

看起来应该像这样

client.once("ready", () => {
  const myGuild = client.guilds.find(g => g.id === "629746562754412544");
  let memberOnline = myGuild.members.filter(
    m => m.presence.status !== "offline"
  ).size;

  client.on("presenceUpdate", (oldMember, newMember) => {
    if (oldMember.guild === myGuild) {
      if (newMember.presence.status === "offline") {
        memberOnline--;
        [update the channel]
      } else if (oldMember.presence.status === "offline") {
        memberOnline++;
        [update the channel]
      }
    }
  });
});

重要的部分是

if (oldMember.guild === myGuild) {
          if (newMember.presence.status === "offline") {
            memberOnline--;
            [update the channel]
          } else if (oldMember.presence.status === "offline") {
            memberOnline++;
            [update the channel]
          }
        }