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);