summary refs log tree commit diff homepage
path: root/src/MinecraftHandler.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/MinecraftHandler.ts')
-rw-r--r--src/MinecraftHandler.ts20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/MinecraftHandler.ts b/src/MinecraftHandler.ts
index faf1828..48c30b4 100644
--- a/src/MinecraftHandler.ts
+++ b/src/MinecraftHandler.ts
@@ -3,7 +3,9 @@ import path from 'path'
 import { Tail } from 'tail'
 import express from 'express'
 
-import { Config } from './Config'
+import type { Config } from './Config'
+
+import { fixMinecraftUsername } from './lib/util'
 
 export type LogLine = {
   username: string
@@ -22,10 +24,6 @@ class MinecraftHandler {
     this.config = config
   }
 
-  private static fixMinecraftUsername (username: string) {
-    return username.replace(/(ยง[A-Z-a-z0-9])/g, '')
-  }
-
   private parseLogLine (data: string): LogLine {
     const ignored = new RegExp(this.config.REGEX_IGNORED_CHAT)
 
@@ -58,7 +56,7 @@ class MinecraftHandler {
 
     if (logLine.startsWith('<')) {
       if (this.config.DEBUG){
-        console.log('[DEBUG]: A player sent a chat message')
+        console.log('[DEBUG] A player sent a chat message')
       }
 
       const re = new RegExp(this.config.REGEX_MATCH_CHAT_MC)
@@ -69,7 +67,7 @@ class MinecraftHandler {
         return null
       }
 
-      const username = MinecraftHandler.fixMinecraftUsername(matches[1])
+      const username = fixMinecraftUsername(matches[1])
       const message = matches[2]
       if (this.config.DEBUG) {
         console.log('[DEBUG] Username: ' + matches[1])
@@ -84,18 +82,18 @@ class MinecraftHandler {
     ) {
       // handle disconnection etc.
       if (this.config.DEBUG){
-        console.log(`[DEBUG]: A player's connection status changed`)
+        console.log(`[DEBUG] A player's connection status changed`)
       }
 
       return { username: serverUsername, message: logLine }
     } else if (this.config.SHOW_SERVER_STATUS && (logLine.includes('Starting minecraft server'))) {
         if (this.config.DEBUG) {
-          console.log('[DEBUG]: Server has started')
+          console.log('[DEBUG] Server has started')
         }
         return { username: serverUsername, message: 'Server is online' }
     } else if (this.config.SHOW_SERVER_STATUS && (logLine.includes('Stopping the server'))) {
         if (this.config.DEBUG) {
-          console.log('[DEBUG]: Server has stopped')
+          console.log('[DEBUG] Server has stopped')
         }
         return { username: serverUsername, message: 'Server is offline' }
     } else if (this.config.SHOW_PLAYER_ADVANCEMENT && logLine.includes('made the advancement')) {
@@ -189,7 +187,7 @@ class MinecraftHandler {
   private initTail (callback: Callback) {
     if (fs.existsSync(this.config.LOCAL_FILE_PATH)) {
       console.log(`[INFO] Using configuration for local log file at "${this.config.LOCAL_FILE_PATH}"`)
-      this.tail = new Tail(this.config.LOCAL_FILE_PATH, {useWatchFile: true})
+      this.tail = new Tail(this.config.LOCAL_FILE_PATH, {useWatchFile: this.config.FS_WATCH_FILE ?? true})
     } else {
       throw new Error(`[ERROR] Local log file not found at "${this.config.LOCAL_FILE_PATH}"`)
     }