如何获取语音通道中的用户数? 我有一个系统可以统计语音通道中用户的时间,如果语音通道中有两个以上的人,我想让它工作,请告诉我。 代码:
exports.execute = async (oldState, newState) => {
if ((oldState.member && oldState.member.user.bot) || (newState.member && newState.member.user.bot)) {
return;
}
if (!oldState.channelID && newState.channelID) {
Activites.set(oldState.id, Date.now());
}
let data;
if (!Activites.has(oldState.id)) {
data = Date.now();
Activites.set(oldState.id, data);
}
else {
data = Activites.get(oldState.id);
}
let duration = Date.now() - data;
if (oldState.channelID && !newState.channelID) {
Activites.delete(oldState.id);
vt.add(`stats.${oldState.guild.id}.${oldState.id}.channels.${oldState.channelID}`, duration);
vt.set(`stats.${oldState.guild.id}.${oldState.id}.activity`, Date.now());
}
else if (oldState.channelID && newState.channelID) {
Activites.set(oldState.id, Date.now());
vt.add(`stats.${oldState.guild.id}.${oldState.id}.channels.${oldState.channelID}`, duration);
vt.set(`stats.${oldState.guild.id}.${oldState.id}.activity`, Date.now());
}
};
答案 0 :(得分:0)
首先,你得到你想要的通道,然后你可以得到它的 members
属性的大小。
let voiceChannel = client.guilds.cache.get("guild id").channels.cache.get("channel id");
let membersInChannel = voiceChannel.members.size;