import { checkIfConnectedToVC } from '../discordAudioBot/dab.mjs'; /** * Wrapper to log into the server * @param {any} socket The socket connection with the server * @param {object} localNodeConfig The local node object * @returns {any} */ export const logIntoServerWrapper = async (socket, localNodeConfig) => { // Log into the server socket.emit("node-login", localNodeConfig.node); // Send an update to the server sendNodeUpdateWrapper(socket, localNodeConfig); } /** * Send the server an update * @param {any} socket The socket connection with the server * @param {object} localNodeConfig The local node object */ export const sendNodeUpdateWrapper = async (socket, localNodeConfig) => { socket.emit('node-update', { 'node': localNodeConfig.node, 'nearbySystems': localNodeConfig.nearbySystems }); } export const nodeJoinServer = async (joinData) => { console.log("Join requested: ", joinData) // TODO - Implement logic to control OP25 for the requested channel/system // Join the requested channel with the requested ID initDiscordBotClient(joinData.clientID, joinData.system, client => { getVoiceChannelFromID(client, joinData.channelID).then(vc => { // Add the client object to the IO instance discordClients[vc.guild.id] = client; const connection = connectToChannel(vc); console.log("Bot Connected to VC"); }) }); } /** * Check if the bot is connected to a discord VC in the given server * @param {string} guildId The guild id to check the connection status in * @param {any} socketCallback The callback function to return the result to * @returns {any} */ export const nodeCheckStatus = async (guildId, socketCallback) => { console.log("Requested status check"); if (await checkIfConnectedToVC(guildId)) { console.log("There is an open VC connection"); socketCallback(true); } else { socketCallback(false); } }