From 1c4e693af60c74215dbc3fbf5cbd5eeeebe04ecb Mon Sep 17 00:00:00 2001 From: Daniel Matthies Date: Wed, 21 Apr 2021 18:08:04 -0600 Subject: Fixing death message false positives --- src/Config.ts | 2 +- src/MinecraftHandler.ts | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/Config.ts b/src/Config.ts index 5a1417d..8b10801 100644 --- a/src/Config.ts +++ b/src/Config.ts @@ -32,6 +32,7 @@ export interface Config { WEBHOOK: string REGEX_SERVER_PREFIX: string REGEX_MATCH_CHAT_MC: string + REGEX_DEATH_MESSAGE: string REGEX_IGNORED_CHAT: string DEBUG: boolean @@ -42,5 +43,4 @@ export interface Config { SHOW_PLAYER_ADVANCEMENT: boolean SHOW_PLAYER_DEATH: boolean SHOW_PLAYER_ME: boolean - DEATH_KEY_WORDS: string[] } diff --git a/src/MinecraftHandler.ts b/src/MinecraftHandler.ts index 452784a..faf1828 100644 --- a/src/MinecraftHandler.ts +++ b/src/MinecraftHandler.ts @@ -113,15 +113,14 @@ class MinecraftHandler { return { username: serverUsername, message: `**${username}** ${rest}` } } } else if (this.config.SHOW_PLAYER_DEATH) { - for (let word of this.config.DEATH_KEY_WORDS){ - if (data.includes(word)){ - if (this.config.DEBUG) { - console.log( - `[DEBUG] A player died. Matched key word "${word}"` - ) - } - return { username: serverUsername, message: logLine } + const death_msg_re = new RegExp(this.config.REGEX_DEATH_MESSAGE) + const death_msg_match = logLine.match(death_msg_re) + + if (death_msg_match) { + if (this.config.DEBUG) { + console.log(`[DEBUG] A player died. Matched on "${death_msg_match[1]}"`) } + return { username: serverUsername, message: logLine } } } -- cgit 1.4.1