javascript - 如何使用 discord.js 创建用于创建语音通道的侦听器?
问题描述
我一直在尝试创建一种监听器,如果一个人加入一个名为“Join to Create”的语音频道,它会在特定类别中创建另一个名为“voice -”的语音频道,然后将它们移动到新的创建了语音频道,我希望新创建的频道最多允许 3 名成员加入,一旦每个人都离开了频道并且频道完全为空,它将删除它。
我尝试了许多不同的方法,并在 Google 上进行了研究,但如果有人知道如何创建它,我似乎无法找到有效的方法。
解决方案
让我们创建一个有用户限制的语音通道
let FinalChannel; //Put this outside functions so that we can use it later
message.guild.channels.create('Voics-!!!', "voice").then(c => {
c.setUserLimit("5");
FinalChannel = c;
});
然后,
client.on('voiceStateUpdate', (oldState, newState) => {
if (oldState.member.user.bot) return; //Bot filter
if(!newState.channelID) return; //left Channel
if(newState.channelID !== "Join Voice Channel ID") return; //We don't care about other channels
if(FinalChannel.members.cache.size < FinalChannel.userLimit){ //Check if there's more user than limit
newState.member.setChannel(FinalChannel);
}
})
推荐阅读
- java - HashMap 对象不会复制到另一个 HashMap 对象中
- sql - 如果 json_agg 什么也没找到,posgres 返回空行
- batch-file - 从用户给定的字符串中添加引号
- c++ - 在有向图中打印所有循环
- electron - electron-forge make 导致错误:找不到为“win32”平台配置的任何 make 目标
- julia - Julia Symbolics 中常量表示的 Sqrt
- python - 为什么scrapy-proxys显示我的IP而不是代理?
- python - 是否可以在混淆矩阵中添加额外的列?
- javascript - 如何在单个页面上播放不同的音频文件
- swift - 在 Swift 中的 textview 中显示 REST API 结果不起作用