获取语​​音通道中的用户数? Discord.js

时间:2021-03-24 09:52:50

标签: javascript discord.js

如何获取语音通道中的用户数? 我有一个系统可以统计语音通道中用户的时间,如果语音通道中有两个以上的人,我想让它工作,请告诉我。 代码:

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

1 个答案:

答案 0 :(得分:0)

首先,你得到你想要的通道,然后你可以得到它的 members 属性的大小。

let voiceChannel = client.guilds.cache.get("guild id").channels.cache.get("channel id");
let membersInChannel = voiceChannel.members.size;