From 1ac0fc4a8e61e345c2e6eed715d47958c8020bca Mon Sep 17 00:00:00 2001 From: surepy <24486494+surepy@users.noreply.github.com> Date: Thu, 1 Oct 2020 17:16:30 -0700 Subject: Add compatibility options for minecraft versions lower than 1.7.2 --- config.json | 2 ++ src/Config.ts | 2 ++ src/Discord.ts | 24 +++++++++++++++++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/config.json b/config.json index 2ca92fb..be681e0 100644 --- a/config.json +++ b/config.json @@ -12,6 +12,8 @@ "MINECRAFT_SERVER_RCON_IP": "127.0.0.1", "MINECRAFT_SERVER_RCON_PORT": 25575, "MINECRAFT_SERVER_RCON_PASSWORD": "password", + "MINECRAFT_TELLRAW_DOESNT_EXIST": false, + "MINECRAFT_TELLRAW_DOESNT_EXIST_SAY_TEMPLATE": "<%username%> %message%", "MINECRAFT_TELLRAW_TEMPLATE": "[{\"color\": \"white\", \"text\": \"<%username%> %message%\"}]", "IS_LOCAL_FILE": false, 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) -- cgit 1.4.1 From aad0555c91727bad076f4012f94e197c2b353490 Mon Sep 17 00:00:00 2001 From: surepy <24486494+surepy@users.noreply.github.com> Date: Thu, 1 Oct 2020 17:28:55 -0700 Subject: new config stuff --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 49f017e..5cd0f71 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,8 @@ You can also easily Deploy to Heroku and the like, just be sure to edit `YOUR_UR "MINECRAFT_SERVER_RCON_IP": "127.0.0.1", /* Minecraft server IP (make sure you have enabled rcon) */ "MINECRAFT_SERVER_RCON_PORT": <1-65535>, /* Minecraft server rcon port */ "MINECRAFT_SERVER_RCON_PASSWORD": "", /* Minecraft server rcon password */ + "MINECRAFT_TELLRAW_DOESNT_EXIST": false, /* Minecraft doesn't have the tellraw command (<1.7.2), use say instead. !this may be dangerous! */ + "MINECRAFT_TELLRAW_DOESNT_EXIST_SAY_TEMPLATE": "<%username%> %message%", /* used when MINECRAFT_TELLRAW_DOESNT_EXIST is set to true. say template to display on minecraft, same as MINECRAFT_TELLRAW_TEMPLATE. */ "MINECRAFT_TELLRAW_TEMPLATE": "[{\"color\": \"white\", \"text\": \"<%username%> %message%\"}]", /* Tellraw template to display in Minecraft */ "IS_LOCAL_FILE": false, /* should tail the local file, may be a little buggy. please report any you find */ -- cgit 1.4.1