diff options
author | surepy <24486494+surepy@users.noreply.github.com> | 2020-10-01 17:16:30 -0700 |
---|---|---|
committer | surepy <24486494+surepy@users.noreply.github.com> | 2020-10-01 17:16:30 -0700 |
commit | 1ac0fc4a8e61e345c2e6eed715d47958c8020bca (patch) | |
tree | f1ed628d3c5b00688a8151605d2ef6ac72072cc1 | |
parent | Merge pull request #61 from MarshallOliver/Discord-mentions-regex (diff) | |
download | shulker-1ac0fc4a8e61e345c2e6eed715d47958c8020bca.tar.gz shulker-1ac0fc4a8e61e345c2e6eed715d47958c8020bca.zip |
Add compatibility options for minecraft versions lower than 1.7.2
-rw-r--r-- | config.json | 2 | ||||
-rw-r--r-- | src/Config.ts | 2 | ||||
-rw-r--r-- | src/Discord.ts | 24 |
3 files changed, 27 insertions, 1 deletions
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) |