【问题标题】:How do I get every minute every voice user in the channel? Discord.js v13如何获取频道中每个语音用户的每一分钟?不和谐.js v13
【发布时间】:2021-08-10 06:35:34
【问题描述】:

我创建了这个循环函数来每分钟获取每个语音用户,但它并没有像我想象的那样工作。

我每分钟都得到相同的结果。如果我离开语音频道,它仍会在下次通话时在控制台中显示我的用户名。它不会更新结果。

function loop(){
    setTimeout(loop, 60000)

    client.guilds.cache.forEach(guild => {
        console.log(`Voice users in ${guild.name}:`)
        guild.voiceStates.cache.forEach(voiceState => {
            if(voiceState.channel){
                console.log(voiceState.member.displayName);
            }
            
        });
    });    
}

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    确保您的客户意图中有GUILD_VOICE_STATES。否则客户端不会收到VOICE_STATE_UPDATE 事件。

    const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES", "GUILD_VOICE_STATES"] });
    

    有关意图的完整列表以及他们看到的内容here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-07
      • 2021-01-02
      • 2021-02-10
      • 1970-01-01
      • 2020-12-18
      • 2021-11-17
      • 2017-01-18
      • 2020-07-05
      相关资源
      最近更新 更多