import fs from "fs"; import { config } from "../config.js"; async function changeVoiceStatus(client, status, members) { const changeStatus = async (type, value, selectedMembers) => { const operations = []; switch (type) { case "mute": for (const member of selectedMembers.values()) { operations.push(member.voice.setMute(value)); } break; case "deaf": for (const member of selectedMembers.values()) { operations.push(member.voice.setDeaf(value)); } break; } await Promise.all(operations); }; const voiceChannel = client.channels.cache.get(config.voiceChannelId); if (!voiceChannel?.isVoiceBased()) { throw new Error("Salon vocal configuré introuvable"); } const connectedMembers = voiceChannel.members.filter( (member) => !member.user.bot ); if (members === "all") { members = connectedMembers; } switch (status) { case "mute": await changeStatus("mute", true, members); break; case "unmute": await changeStatus("mute", false, members); break; case "deaf": await changeStatus("deaf", true, members); break; case "undeaf": await changeStatus("deaf", false, members); break; default: throw new Error(`Statut vocal inconnu : ${status}`); } } function getJSONData(file) { const jsonFile = fs.readFileSync(file); const data = JSON.parse(jsonFile); return data; } function getRandomInt(max) { return Math.floor(Math.random() * max); } export { changeVoiceStatus, getJSONData, getRandomInt, };