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 --- src/Config.ts | 2 ++ src/Discord.ts | 24 +++++++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) (limited to 'src') 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