From dd8befa9e0350e7c6ffb5c5ca511741fad06abdf Mon Sep 17 00:00:00 2001 From: Liam Date: Thu, 17 Oct 2024 19:02:32 +0100 Subject: [PATCH] fix logs --- projects/backend/src/bot/bot.ts | 4 ++-- projects/backend/src/index.ts | 4 ++-- projects/backend/src/service/player.service.ts | 2 +- projects/backend/src/service/score.service.ts | 2 +- projects/common/src/websocket/scoresaber-websocket.ts | 4 +++- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/projects/backend/src/bot/bot.ts b/projects/backend/src/bot/bot.ts index 3c2dd25..89f1a86 100644 --- a/projects/backend/src/bot/bot.ts +++ b/projects/backend/src/bot/bot.ts @@ -40,8 +40,8 @@ export function initDiscordBot() { * @param channelId the channel id to log to * @param message the message to log */ -export function logToChannel(channelId: DiscordChannels, message: EmbedBuilder) { - const channel = DiscordBot.channels.cache.find(c => c.id === channelId); +export async function logToChannel(channelId: DiscordChannels, message: EmbedBuilder) { + const channel = await DiscordBot.channels.fetch(channelId); if (channel == undefined) { throw new Error(`Channel "${channelId}" not found`); } diff --git a/projects/backend/src/index.ts b/projects/backend/src/index.ts index 462db9b..6721e0c 100644 --- a/projects/backend/src/index.ts +++ b/projects/backend/src/index.ts @@ -42,8 +42,8 @@ connectScoreSaberWebSocket({ await PlayerService.trackScore(playerScore); await ScoreService.notifyNumberOne(playerScore); }, - onDisconnect: error => { - logToChannel( + onDisconnect: async error => { + await logToChannel( DiscordChannels.backendLogs, new EmbedBuilder().setDescription(`ScoreSaber websocket disconnected: ${error}`) ); diff --git a/projects/backend/src/service/player.service.ts b/projects/backend/src/service/player.service.ts index 3de3350..6f003d7 100644 --- a/projects/backend/src/service/player.service.ts +++ b/projects/backend/src/service/player.service.ts @@ -43,7 +43,7 @@ export class PlayerService { // Only notify in production if (isProduction()) { - logToChannel( + await logToChannel( DiscordChannels.trackedPlayerLogs, new EmbedBuilder() .setTitle("New Player Tracked") diff --git a/projects/backend/src/service/score.service.ts b/projects/backend/src/service/score.service.ts index d79387d..1efae0f 100644 --- a/projects/backend/src/service/score.service.ts +++ b/projects/backend/src/service/score.service.ts @@ -45,7 +45,7 @@ export class ScoreService { return; } - logToChannel( + await logToChannel( DiscordChannels.numberOneFeed, new EmbedBuilder() .setTitle(`${player.name} set a #1 on ${leaderboard.songName} ${leaderboard.songSubName}`) diff --git a/projects/common/src/websocket/scoresaber-websocket.ts b/projects/common/src/websocket/scoresaber-websocket.ts index f24101e..1193a90 100644 --- a/projects/common/src/websocket/scoresaber-websocket.ts +++ b/projects/common/src/websocket/scoresaber-websocket.ts @@ -21,7 +21,7 @@ type ScoresaberSocket = { * * @param error the error that caused the connection to close */ - onDisconnect?: (error: WebSocket.ErrorEvent) => void; + onDisconnect?: (error?: WebSocket.ErrorEvent) => void; }; /** @@ -48,6 +48,8 @@ export function connectScoreSaberWebSocket({ onMessage, onScore, onDisconnect }: websocket.onclose = () => { console.log("Lost connection to the ScoreSaber WebSocket. Attempting to reconnect..."); + + onDisconnect && onDisconnect(); setTimeout(connectWs, 5000); // Reconnect after 5 seconds };