From 03c940e07c98fa9f67cb891c579585bf94c8db3f Mon Sep 17 00:00:00 2001 From: Logan Cusano Date: Sun, 5 May 2024 23:39:05 -0400 Subject: [PATCH] Update PDAB handler - Move PDAB socket server startup to function - Updated join server wrapper to start the server before opening the python app --- client/discordAudioBot/pdabHandler.mjs | 45 +++++++++++++------------ client/discordAudioBot/pdabWrappers.mjs | 3 +- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/client/discordAudioBot/pdabHandler.mjs b/client/discordAudioBot/pdabHandler.mjs index c360679..f16d5ca 100644 --- a/client/discordAudioBot/pdabHandler.mjs +++ b/client/discordAudioBot/pdabHandler.mjs @@ -19,26 +19,6 @@ const __dirname = dirname(__filename); let botCallback; -const port = process.env.PDAB_PORT || 3000; - -io.on('connection', (socket) => { - console.log('A user connected'); - - socket.on('disconnect', () => { - console.log('User disconnected'); - }); - - // Listen for the discord client ready event - socket.on('discord_ready', (message) => { - console.log("Message from local client", message); - botCallback(); - }); -}); - -server.listen(port, async () => { - console.log(`Server is running on port ${port}`); -}); - export const initDiscordBotClient = (clientId, callback, runPDAB = true) => { botCallback = callback; @@ -46,6 +26,29 @@ export const initDiscordBotClient = (clientId, callback, runPDAB = true) => { pdabProcess = true; // TODO - Make this more dynamic } +export const startPdabSocketServer = () => { + const port = process.env.PDAB_PORT || 3000; + + io.on('connection', (socket) => { + console.log('A user connected'); + + socket.on('disconnect', () => { + console.log('User disconnected'); + }); + + // Listen for the discord client ready event + socket.on('discord_ready', (message) => { + console.log("Message from local client", message); + botCallback(); + }); + }); + + server.listen(port, async () => { + console.log(`Server is running on port ${port}`); + }); + return +} + export const closePdabSocketServer = () => { if (io.sockets && io.sockets.length > 0) { io.sockets.forEach(socket => { @@ -80,7 +83,7 @@ export const setDiscordClientPrsense = (system) => { return new Promise((res) => { io.timeout(25000).emit('set_system', { system: system }, (status) => { res(); - }); + }); }); }; diff --git a/client/discordAudioBot/pdabWrappers.mjs b/client/discordAudioBot/pdabWrappers.mjs index 01f017c..9e87af3 100644 --- a/client/discordAudioBot/pdabWrappers.mjs +++ b/client/discordAudioBot/pdabWrappers.mjs @@ -1,4 +1,4 @@ -import { connectToChannel, leaveVoiceChannel, checkIfConnectedToVC, initDiscordBotClient, requestDiscordUsername, requestDiscordID, requestDiscordClientClose, closePdabSocketServer, setDiscordClientPrsense } from './pdabHandler.mjs'; +import { connectToChannel, leaveVoiceChannel, checkIfConnectedToVC, initDiscordBotClient, requestDiscordUsername, requestDiscordID, requestDiscordClientClose, closePdabSocketServer, setDiscordClientPrsense, startPdabSocketServer } from './pdabHandler.mjs'; import { openOP25, closeOP25 } from '../op25Handler/op25Handler.mjs'; let activeDiscordClient = undefined; @@ -14,6 +14,7 @@ export const joinDiscordVC = async (joinData) => { console.log("Checking if there is a client open"); if (!await checkIfClientIsOpen()) { console.log("There is no open client, starting it now"); + await startPdabSocketServer(); // Open an instance of OP25 console.log("Starting OP25") openOP25(joinData.system);