summary refs log tree commit diff homepage
path: root/src
diff options
context:
space:
mode:
authordestruc7i0n <6181960+destruc7i0n@users.noreply.github.com>2020-10-05 09:44:24 -0400
committerGitHub <noreply@github.com>2020-10-05 09:44:24 -0400
commit2fe4b2c3648bc3e1b3c0c229f8cdfa1b8f6bffcb (patch)
treeff00c276d8284656d55691559171e80b4cf0d02c /src
parentMerge pull request #61 from MarshallOliver/Discord-mentions-regex (diff)
parentnew config stuff (diff)
downloadshulker-2fe4b2c3648bc3e1b3c0c229f8cdfa1b8f6bffcb.tar.gz
shulker-2fe4b2c3648bc3e1b3c0c229f8cdfa1b8f6bffcb.zip
Merge pull request #63 from surepy/master
Add compatibility options MINECRAFT_TELLRAW_DOESNT_EXIST
Diffstat (limited to 'src')
-rw-r--r--src/Config.ts2
-rw-r--r--src/Discord.ts24
2 files changed, 25 insertions, 1 deletions
diff --git a/src/Config.ts b/src/Config.ts
index dff0b10..acbab21 100644
--- a/src/Config.ts
+++ b/src/Config.ts
@@ -12,6 +12,8 @@ export interface Config {
   MINECRAFT_SERVER_RCON_IP: string
   MINECRAFT_SERVER_RCON_PORT: number
   MINECRAFT_SERVER_RCON_PASSWORD: string
+  MINECRAFT_TELLRAW_DOESNT_EXIST: boolean
+  MINECRAFT_TELLRAW_DOESNT_EXIST_SAY_TEMPLATE: string
   MINECRAFT_TELLRAW_TEMPLATE: string
 
   IS_LOCAL_FILE: boolean
diff --git a/src/Discord.ts b/src/Discord.ts
index 12ac656..93a99ff 100644
--- a/src/Discord.ts
+++ b/src/Discord.ts
@@ -114,7 +114,13 @@ class Discord {
         console.log('[INFO] User attempted a slash command without a role')
       }
     } else {
-      command = `/tellraw @a ${this.makeMinecraftTellraw(message)}`
+        if (this.config.MINECRAFT_TELLRAW_DOESNT_EXIST) 
+        {
+            command = `/say ${this.makeMinecraftTellraw(message)}`
+        }
+        else {
+            command = `/tellraw @a ${this.makeMinecraftTellraw(message)}`
+        }
     }
 
     if (this.config.DEBUG) console.log(`[DEBUG] Sending command "${command}" to the server`)
@@ -123,6 +129,12 @@ class Discord {
       await rcon.command(command).catch((e) => {
         console.log('[ERROR] Could not send command!')
         if (this.config.DEBUG) console.error(e)
+      }).then((str) => {
+        if (str === 'Unknown command. Try /help for a list of commands') {
+            console.error('[ERROR] Could not send command! (Unknown command)')
+            console.error('if this was a chat message, please look into MINECRAFT_TELLRAW_DOESNT_EXIST!')
+            console.error('command: ' + command)
+        }
       })
     }
     rcon.close()
@@ -139,6 +151,16 @@ class Discord {
     for (const v of Object.keys(variables)) {
       variables[v] = JSON.stringify(variables[v]).slice(1,-1)
     }
+    
+    if (this.config.MINECRAFT_TELLRAW_DOESNT_EXIST)
+    {
+        return this.config.MINECRAFT_TELLRAW_DOESNT_EXIST_SAY_TEMPLATE
+                .replace(/%username%/g, variables.username)
+                .replace(/%nickname%/g, variables.nickname)
+                .replace(/%discriminator%/g, variables.discriminator)
+                .replace(/%message%/g, variables.text)
+    }
+
 
     return this.config.MINECRAFT_TELLRAW_TEMPLATE
       .replace(/%username%/g, variables.username)