diff --git a/scripts/server/class.js b/scripts/server/class.js index 5a08a792..a82091f3 100644 --- a/scripts/server/class.js +++ b/scripts/server/class.js @@ -123,13 +123,12 @@ class ServerData { this.introMusicURL = dbAssoc["svr_intro_music"]; this.realTimeZone = dbAssoc["svr_time_realtime_timezone"]; - this.discordConfig = { - eventChannelWebHookURL: dbAssoc["svr_discord_event_webhook"], - chatChannelWebHookURL: dbAssoc["svr_discord_chat_webhook"], + this.discord = { + logChannelWebhookURL: dbAssoc["svr_discord_event_webhook"], adminChannelWebHookURL: dbAssoc["svr_discord_admin_webhook"], sendEvents: true, sendChat: true, - sendAdminEvents: true, + sendAdmin: true, }; } } diff --git a/scripts/server/config.js b/scripts/server/config.js index 75e0b74d..4fdb9769 100644 --- a/scripts/server/config.js +++ b/scripts/server/config.js @@ -112,6 +112,7 @@ function loadGlobalConfig() { getGlobalConfig().economy = loadEconomyConfig(); getGlobalConfig().locale = loadLocaleConfig(); getGlobalConfig().accents = loadAccentConfig(); + getGlobalConfig().discord = loadDiscordConfig(); } // =========================================================================== @@ -746,6 +747,15 @@ function loadAccentConfig() { // =========================================================================== +function loadDiscordConfig() { + let discordConfig = JSON.parse(loadTextFile(`config/discord.json`)); + if(discordConfig != null) { + return discordConfig; + } +} + +// =========================================================================== + function doesServerHaveGUIEnabled() { return getServerConfig().useGUI; } diff --git a/scripts/server/discord.js b/scripts/server/discord.js index 53aa1cb9..e2d97bc4 100644 --- a/scripts/server/discord.js +++ b/scripts/server/discord.js @@ -89,34 +89,34 @@ function getDiscordUserData(discordUserId) { // =========================================================================== function messageDiscordChatChannel(messageString) { - if(!getServerConfig().discordConfig.sendChat) { + if(!getServerConfig().discord.sendChat) { return false; } messageString = removeColoursInMessage(messageString); - triggerWebHook(getServerConfig().discord.logWebHookURL, JSON.stringify(messageString)); + triggerWebHook(encodeURI(getServerConfig().discord.logChannelWebhookURL), encodeURI(messageString)); } // =========================================================================== function messageDiscordAdminChannel(messageString) { - if(!getServerConfig().discordConfig.sendAdmin) { + if(!getServerConfig().discord.sendAdmin) { return false; } messageString = removeColoursInMessage(messageString); - triggerWebHook(getServerConfig().discord.adminWebHookURL, JSON.stringify(messageString)); + triggerWebHook(encodeURI(getServerConfig().discord.adminChannelWebhookURL), encodeURI(messageString)); } // =========================================================================== function messageDiscordEventChannel(messageString) { - if(!getServerConfig().discordConfig.sendEvents) { + if(!getServerConfig().discord.sendEvents) { return false; } messageString = removeColoursInMessage(messageString); - triggerWebHook(getServerConfig().discord.logWebHookURL, JSON.stringify(messageString)); + triggerWebHook(encodeURI(getServerConfig().discord.logChannelWebhookURL), encodeURI(messageString)); } // =========================================================================== \ No newline at end of file diff --git a/scripts/server/messaging.js b/scripts/server/messaging.js index e45e5dca..394b33c7 100644 --- a/scripts/server/messaging.js +++ b/scripts/server/messaging.js @@ -52,7 +52,7 @@ function messagePlayerNormal(client, messageText, colour = COLOUR_WHITE) { // =========================================================================== function messageAdmins(messageText, colour = getColourByName("softRed")) { - //let plainMessage = removeColoursInMessage(messageText); + // //console.warn(`🛡️ ${plainMessage}`); let clients = getClients(); @@ -62,9 +62,8 @@ function messageAdmins(messageText, colour = getColourByName("softRed")) { } } - //if(getServerConfig().discordConfig.sendAdminEvents) { - // messageDiscordAdminChannel(plainMessage); - //} + let plainMessage = removeColoursInMessage(messageText); + messageDiscordAdminChannel(plainMessage); } // =========================================================================== diff --git a/scripts/server/utilities.js b/scripts/server/utilities.js index 415a0dc6..e6b5542b 100644 --- a/scripts/server/utilities.js +++ b/scripts/server/utilities.js @@ -395,12 +395,15 @@ function getClientFromSyncerId(syncerId) { // =========================================================================== -async function triggerWebHook(webHookURL, payloadData) { +async function triggerWebHook(webHookURL, messageString) { return new Promise(resolve => { - //console.warn(webHookURL); + let tempURL = getGlobalConfig().discord.webhook.baseURL; + tempURL = tempURL.replace("{0}", messageString); + tempURL = tempURL.replace("{1}", webHookURL); + httpGet( - webHookURL, - `data=${payloadData}`, + tempURL, + "", function(data) { //console.warn(JSON.parse(data)); },