From 73e60b81f1b0384831daf8956fa0de4203e1acc3 Mon Sep 17 00:00:00 2001 From: ThePendulum Date: Sat, 13 Jan 2024 02:26:03 +0100 Subject: [PATCH] Added ping. --- src/schat.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/schat.js b/src/schat.js index 723eae7..fda09e7 100755 --- a/src/schat.js +++ b/src/schat.js @@ -149,7 +149,14 @@ async function connect(bot, games) { }, }); - socket.ws.on('message', async (msg) => { + socket.ws.on('message', async (msgData) => { + const msg = msgData.toString(); + + if (typeof msg === 'string' && msg.includes('pong')) { + logger.debug(`Received pong ${msg.split(':')[1]}`); + return; + } + const [domain, data] = JSON.parse(msg); logger.debug(`Received ${domain}: ${JSON.stringify(data)}`); @@ -187,6 +194,21 @@ async function connect(bot, games) { socket.ws.send(JSON.stringify([domain, data])); }; + function ping() { + setTimeout(() => { + if (socket.ws && socket.ws?.readyState === socket.ws?.OPEN) { + const now = Date.now(); + + socket.ws.send(`ping:${now}`); + logger.debug(`Sent ping ${now}`); + } + + ping(); + }, 10000); + } + + ping(); + socket.connect(); return socket;