【问题标题】:Show users connected to voice channel?显示连接到语音通道的用户?
【发布时间】:2021-09-18 03:31:51
【问题描述】:

我想知道是否有可能知道是否有任何成员连接到 discord.js v12.2.0 中的任何语音通道。如果您对此有任何线索,请告诉我。

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    使用VoiceChannel.members

    const vc = <message>.guild.channels.cache.get('VC Id')
    const members = vc.members //COLLECTION
    

    要检查成员是否在 vc 中,请使用 GuildMember.voice

    const vc = <member>.voice.channel //VOICE CHANNEL
    //if you want, you can check the vc name, id, etc with vc.name, vc.id, etc
    

    编辑
    这是您在 cmets 中所说的示例

    //MAKE SURE IT IS ASYNC CALLBACK
    await client.guilds.fetch();
    const VCs = [];
    client.guilds.cache.forEach(async guild => {
    await guild.channels.fetch();
    let VCs = guild.channels.cache.filter(c => c.type === 'voice');
    VCs.forEach(vc => {
    if(vc.members) {
    VCs.push(vc)
    }
    })
    })
    

    我希望这是你想要的(VCs 是一个包含所有 VC 和成员的数组)

    【讨论】:

    • 感谢您的回答,但我希望在所有语音通道和服务器上使用该功能
    • 我不明白,你想看看一个特定的人是否在vc中?你想看看一个vc里面有没有人?你想记录所有有人的 vcs 吗?
    • 是的,我想记录所有 vcs 中的人
    • client.guilds.cache 使用forEach 循环,您还可以对所有VC 执行forEach。我将编辑我的答案给你一个例子
    • 我已经退出了。如果有帮助,请将其标记为已接受。
    猜你喜欢
    • 2020-10-19
    • 2021-03-18
    • 2019-09-23
    • 2022-01-05
    • 2021-02-19
    • 1970-01-01
    • 2017-07-31
    • 2021-07-01
    • 2020-02-19
    相关资源
    最近更新 更多