diff options
author | destruc7i0n <destruc7i0n@users.noreply.github.com> | 2021-12-31 13:07:22 -0500 |
---|---|---|
committer | destruc7i0n <destruc7i0n@users.noreply.github.com> | 2021-12-31 13:07:22 -0500 |
commit | e489d05f1691c6d15dfde2138cc55e40265fe6f1 (patch) | |
tree | b9f4d0c40eee600de557158742806d0cbd7e7c2f /src | |
parent | fallback to bot message if webhook fails (diff) | |
parent | Missed an old 1.12 death message in the regex (diff) | |
download | shulker-e489d05f1691c6d15dfde2138cc55e40265fe6f1.tar.gz shulker-e489d05f1691c6d15dfde2138cc55e40265fe6f1.zip |
Merge branch 'death-message-regex' of https://github.com/MageLuingil/shulker into MageLuingil-death-message-regex
Diffstat (limited to 'src')
-rw-r--r-- | src/Config.ts | 2 | ||||
-rw-r--r-- | src/MinecraftHandler.ts | 15 | ||||
-rw-r--r-- | src/Shulker.ts | 11 |
3 files changed, 19 insertions, 9 deletions
diff --git a/src/Config.ts b/src/Config.ts index bcc45ef..485d6ae 100644 --- a/src/Config.ts +++ b/src/Config.ts @@ -34,6 +34,7 @@ export interface Config { WEBHOOK: string REGEX_SERVER_PREFIX: string REGEX_MATCH_CHAT_MC: string + REGEX_DEATH_MESSAGE: string REGEX_IGNORED_CHAT: string SERVER_NAME: string @@ -45,5 +46,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 3353994..48c30b4 100644 --- a/src/MinecraftHandler.ts +++ b/src/MinecraftHandler.ts @@ -111,15 +111,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 } } } diff --git a/src/Shulker.ts b/src/Shulker.ts index 220cd03..517d1e2 100644 --- a/src/Shulker.ts +++ b/src/Shulker.ts @@ -10,6 +10,11 @@ class Shulker { discordClient: DiscordClient handler: Handler + readonly deprecatedConfigs: string[] = ['DEATH_KEY_WORDS']; + + constructor() { + } + loadConfig () { const configFile = process.argv.length > 2 ? process.argv[2] : './config.json' if (!fs.existsSync(configFile)) { @@ -25,6 +30,12 @@ class Shulker { return false } + for (let option of this.deprecatedConfigs) { + if (this.config.hasOwnProperty(option)) { + console.log('[WARN] Using deprecated config option ' + option + '. Check README.md for current options.') + } + } + if (this.config.USE_WEBHOOKS) { console.log('[INFO] Using Discord WebHooks to send messages') } else { |