diff --git a/aurora.dme b/aurora.dme index 6ddcd549..50ca5836 100644 --- a/aurora.dme +++ b/aurora.dme @@ -959,6 +959,7 @@ #include "code\modules\events\spontaneous_appendicitis.dm" #include "code\modules\events\viral_infection.dm" #include "code\modules\events\wallrot.dm" +#include "code\modules\ext_scripts\discord.dm" #include "code\modules\ext_scripts\irc.dm" #include "code\modules\ext_scripts\python.dm" #include "code\modules\flufftext\Dreaming.dm" diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 1a60f756..ed42f2de 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -161,6 +161,13 @@ var/list/age_restrictions = list() // Holds all of the age restrictions for jobs and antag roles in a single associated list + var/use_discord_bot = 0 + var/discord_login = "" + var/discord_password = "" + var/discord_mention_everyone = 1 + var/discord_admin_url = "" + var/discord_cciaa_url = "" + /datum/configuration/New() var/list/L = typesof(/datum/game_mode) - /datum/game_mode for (var/T in L) @@ -533,6 +540,24 @@ if ("whitelists_on_sql") config.whitelists_on_sql = 1 + if ("use_discord_bot") + config.use_discord_bot = 1 + + if ("discord_login") + config.discord_login = value + + if ("discord_password") + config.discord_password = value + + if ("discord_mention_everyone") + config.discord_mention_everyone = text2num(value) + + if ("discord_admin_url") + config.discord_admin_url = value + + if ("discord_cciaa_url") + config.discord_cciaa_url = value + else log_misc("Unknown setting in configuration: '[name]'") diff --git a/code/modules/ext_scripts/discord.dm b/code/modules/ext_scripts/discord.dm new file mode 100644 index 00000000..fbf7ac42 --- /dev/null +++ b/code/modules/ext_scripts/discord.dm @@ -0,0 +1,14 @@ +/proc/send_to_discord(var/channel, var/message) + if (!config.use_discord_bot) + return + + if (channel == "admin_channel") + channel = config.discord_admin_url + else if (channel == "cciaa_channel") + channel = config.discord_cciaa_url + + if (!config.discord_mention_everyone && findtext(message, "@everyone")) + replacetextEx(message, "@everyone", "") + + ext_python("discordbot_message.py", "[config.discord_login] [config.discord_password] [channel] [message]") + return