简体   繁体   English

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

[英]get count of users in a voice channel? Discord.js

How can I get the count of users in a voice channel?如何获取语音通道中的用户数? I have a system that counts the time of users in the voice channel, I want it to work if there are more than two people in the voice channel, please tell me.我有一个统计语音频道用户时间的系统,如果语音频道中有两个以上的人,我希望它可以工作,请告诉我。 Code:代码:

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

First, you get the channel you want, then you can get the size of the members property of it.首先,你得到你想要的频道,然后你可以得到它的members属性的大小。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM