diff --git a/src/adapter/discord/discord-publisher.ts b/src/adapter/discord/discord-publisher.ts index f298aa3..7fb09e7 100644 --- a/src/adapter/discord/discord-publisher.ts +++ b/src/adapter/discord/discord-publisher.ts @@ -86,12 +86,22 @@ export class DiscordPublisher implements GameStatusPublisher { .replace('${playerCount}', status.playerCount.toString()) .replace('${maxPlayers}', status.maxPlayers.toString()); if (status.queuedPlayers) { - message = message.replace( + if (message.indexOf('${queuedPlayersMessage}') !== -1) { + message = message.replace( '${queuedPlayersMessage}', this.formats.queuedPlayers.replace('${queuedPlayers}', status.queuedPlayers.toString(10)) - ); + ); + } + if (message.indexOf('${queuedPlayers}') !== -1) { + message = message.replace( + '${queuedPlayers}', + status.queuedPlayers.toString(10) + ); + } } else { - message = message.replace('${queuedPlayersMessage}', ''); + message = message + .replace('${queuedPlayersMessage}', '') + .replace('${queuedPlayers}', ''); } this.client.user?.setPresence({ status: 'online', diff --git a/src/index.ts b/src/index.ts index 3330974..d3488d2 100644 --- a/src/index.ts +++ b/src/index.ts @@ -22,7 +22,7 @@ class App { this.client = await this.createDiscordClient(); try { const publisher = new DiscordPublisher(this.client, new FileBackedMapRepository(), { - playerCount: process.env.DISCORD_PUBLISHER_MESSAGE_FORMAT || '${playerCount}/${maxPlayers} $queuedPlayers', + playerCount: process.env.DISCORD_PUBLISHER_MESSAGE_FORMAT || '${playerCount}/${maxPlayers} $queuedPlayersMessage', queuedPlayers: process.env.DISCORD_PUBLISHER_MESSAGE_QUEUED_FORMAT || '(+${queuedPlayers})', }); this.useCase = new ProvideGameStatus(providerFactory().build(), publisher);