Javascript bot的活动更新信息

Javascript bot的活动更新信息,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我将其置于状态以显示总人数中有多少成员在线,但它不会更新实际人数,只有在机器人重新启动时,是否有任何方式在该活动到达时,信息与新数据一起显示 const server = client.guilds.cache.get("ID OF GUILD") let onlineMembers = 0; server.members.cache.forEach((m) => { if (m.presence.status === "online"

我将其置于状态以显示总人数中有多少成员在线,但它不会更新实际人数,只有在机器人重新启动时,是否有任何方式在该活动到达时,信息与新数据一起显示

const server = client.guilds.cache.get("ID OF GUILD")
let onlineMembers = 0;
  server.members.cache.forEach((m) => {
    if (m.presence.status === "online" || m.presence.status === "dnd" || m.presence.status === "idle")  {
      onlineMembers++;
    }
  });
let activities = [
`${onlineMembers}/${server.members.cache.filter(member => !member.user.bot).size} members online`,
]
i = 0;
  setInterval( () => client.user.setActivity(`${activities[i++ % activities.length]}`, {
        type: "PLAYING"
      }), 10000 * 60); 

您需要在每次运行时重新生成数组中的字符串:

let i = 0;
setInterval( () => {
    const server = client.guilds.cache.get("ID OF GUILD")
    let onlineMembers = 0;
    server.members.cache.forEach((m) => {
        if (m.presence.status === "online" || m.presence.status === "dnd" || m.presence.status === "idle")  {
            onlineMembers++;
        }
    });
    let activities = [
         `${onlineMembers}/${server.members.cache.filter(member => !member.user.bot).size} members online`,
    ];
    client.user.setActivity(`${activities[i++ % activities.length]}`, {
        type: "PLAYING"
    });
}, 10000 * 60);