#javascript #node.js #discord.js #channel #voice
Вопрос:
Я создал соединение для создания системы, которая создает канал, когда пользователь присоединяется, и удаляет его, когда он уходит. Однако он удаляется только в том случае, если последним покидающим человеком является пользователь, создавший комнату. Есть какие-нибудь идеи?
const { Collection } = require("discord.js");
const voiceCollection = new Collection();
module.exports = async (Discord, client, oldState, newState) => {
const user = await client.users.fetch(newState.id);
const member = newState.guild.member(user);
// JOIN
if (!voiceName || voiceName === "") {
if (!oldState.channel amp;amp; newState.channelID === "898245212541976667") {
const channel = await newState.guild.channels.create(user.tag, {
type: "voice",
parent: newState.channel.parent,
});
member.voice.setChannel(channel);
voiceCollection.set(user.id, channel.id);
await channel.overwritePermissions([
{
id: user.id,
allow: ["MANAGE_CHANNELS", "CONNECT"],
},
{
id: member.guild.id,
deny: ["CONNECT"],
},
]);
} else if (!newState.channel) {
if (oldState.channelID === voiceCollection.get(newState.id)) {
if (oldState.channel.members.size < 1) {
return oldState.channel.delete();
}
}
}
Комментарии:
1. Как вы это выполняете?
2. Просто идея, возможно, позже напишу для нее какой-нибудь код, но вы можете проверять количество пользователей в ВК каждые несколько секунд, и если их нет, то удалите его.
3. @MrMythical что ты имеешь в виду?