diff --git a/baystation12.dme b/baystation12.dme
index ebdf9775b3f..aede49368ad 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -1036,7 +1036,7 @@
#include "code\modules\examine\descriptions\structures.dm"
#include "code\modules\examine\descriptions\turfs.dm"
#include "code\modules\examine\descriptions\weapons.dm"
-#include "code\modules\ext_scripts\irc.dm"
+#include "code\modules\ext_scripts\discord.dm"
#include "code\modules\ext_scripts\python.dm"
#include "code\modules\flufftext\Dreaming.dm"
#include "code\modules\flufftext\Hallucination.dm"
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index 6c21fed7523..ea01ad942fa 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -168,12 +168,10 @@ var/list/gamemode_cache = list()
var/enter_allowed = 1
- var/use_irc_bot = 0
- var/irc_bot_host = ""
- var/irc_bot_export = 0 // whether the IRC bot in use is a Bot32 (or similar) instance; Bot32 uses world.Export() instead of nudge.py/libnudge
- var/main_irc = ""
- var/admin_irc = ""
- var/python_path = "" //Path to the python executable. Defaults to "python" on windows and "/usr/bin/env python2" on unix
+ var/use_discord_bot = 0
+ var/discord_bot_host = "localhost"
+ var/discord_bot_port = 0
+ var/python_path = "python" //Path to the python executable. Defaults to "python" on windows and "/usr/bin/env python2" on unix
var/use_lib_nudge = 0 //Use the C library nudge instead of the python nudge.
var/use_overmap = 0
@@ -522,12 +520,6 @@ var/list/gamemode_cache = list()
if("allow_holidays")
Holiday = 1
- if("use_irc_bot")
- use_irc_bot = 1
-
- if("irc_bot_export")
- irc_bot_export = 1
-
if("ticklag")
Ticklag = text2num(value)
@@ -579,14 +571,14 @@ var/list/gamemode_cache = list()
if("comms_password")
config.comms_password = value
- if("irc_bot_host")
- config.irc_bot_host = value
+ if("use_discord_bot")
+ config.use_discord_bot = 1
- if("main_irc")
- config.main_irc = value
+ if("discord_bot_host")
+ config.discord_bot_host = value
- if("admin_irc")
- config.admin_irc = value
+ if("discord_bot_port")
+ config.discord_bot_port = value
if("python_path")
if(value)
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index d5e55f4c128..b0ffa96309a 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -440,8 +440,6 @@ var/global/list/additional_antag_types = list()
if(escaped_on_pod_5 > 0)
feedback_set("escaped_on_pod_5",escaped_on_pod_5)
- send2mainirc("A round of [src.name] has ended - [surviving_total] survivors, [ghosts] ghosts.")
-
return 0
/datum/game_mode/proc/check_win() //universal trigger to be called at mob death, nuke explosion, etc. To be called from everywhere.
diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm
index 2b74ee9488e..ce99b333e30 100644
--- a/code/game/gamemodes/gameticker.dm
+++ b/code/game/gamemodes/gameticker.dm
@@ -144,10 +144,10 @@ var/global/datum/controller/gameticker/ticker
var/admins_number = 0
for(var/client/C)
- if(C.holder)
+ if(C.holder && (C.holder.rights & (R_MOD|R_ADMIN)))
admins_number++
if(admins_number == 0)
- send2adminirc("Round has started with no admins online.")
+ send_to_admin_discord("@everyone Round has started with no admins online.")
/* supply_controller.process() //Start the supply shuttle regenerating points -- TLE // handled in scheduler
master_controller.process() //Start master_controller.process()
diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm
index 44c1fecd1fa..2340ba266c6 100644
--- a/code/game/verbs/who.dm
+++ b/code/game/verbs/who.dm
@@ -151,8 +151,8 @@
cciaamsg += "\t[C] is a [C.holder.rank]\n"
num_cciaa_online++
- if(config.admin_irc)
- src << "Adminhelps are also sent to IRC. If no admins are available in game try anyway and an admin on IRC may see it and respond."
+ if(config.use_discord_bot)
+ src << "Adminhelps are also sent to Discord. If no admins are available in game try anyway and an admin on Discord may see it and respond."
msg = "Current Admins ([num_admins_online]):\n" + msg
if(config.show_mods)
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 1c36dbff722..94fc6a7c496 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -116,8 +116,6 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
var/admin_number_present = admins.len - admin_number_afk
log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.")
if(admin_number_present <= 0)
- send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)] - !![admin_number_afk ? "All admins AFK ([admin_number_afk])" : "No admins online"]!!")
- else
- send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)]")
+ send_to_admin_discord("@everyone Request for Help from [key_name(src)]: [html_decode(original_msg)] - !![admin_number_afk ? "All admins AFK ([admin_number_afk])" : "No admins online"]!!")
feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index ea90252bfe9..a75aacd7999 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -108,7 +108,6 @@
C << 'sound/effects/adminhelp.ogg'
log_admin("PM: [key_name(src)]->[key_name(C)]: [msg]")
- send2adminirc("Reply: [key_name(src)]->[key_name(C)]: [html_decode(msg)]")
//we don't use message_admins here because the sender/receiver might get it too
for(var/client/X in admins)
@@ -118,31 +117,25 @@
if(X.key != key && X.key != C.key && (X.holder.rights & (R_ADMIN|R_MOD)))
X << "" + create_text_tag("pm_other", "PM:", X) + " [key_name(src, X, 0)] to [key_name(C, X, 0)]: [msg]"
-/client/proc/cmd_admin_irc_pm(sender)
+/client/proc/cmd_admin_discord_pm(sender)
if(prefs.muted & MUTE_ADMINHELP)
src << "Error: Private-Message: You are unable to use PM-s (muted)."
return
- var/msg = input(src,"Message:", "Reply private message to [sender] on IRC / 400 character limit") as text|null
+ var/msg = input(src,"Message:", "Reply private message to [sender] on Discord") as text|null
if(!msg)
return
sanitize(msg)
- // Handled on Bot32's end, unsure about other bots
-// if(length(msg) > 400) // TODO: if message length is over 400, divide it up into seperate messages, the message length restriction is based on IRC limitations. Probably easier to do this on the bots ends.
-// src << "Your message was not sent because it was more then 400 characters find your message below for ease of copy/pasting"
-// src << "\blue [msg]"
-// return
+ send_to_admin_discord("PlayerPM to [sender] from [key_name(src)]: [html_decode(msg)]")
- send2adminirc("PlayerPM to [sender] from [key_name(src)]: [html_decode(msg)]")
+ src << "" + create_text_tag("pm_out_alt", "", src) + " to Discord-[sender]: [msg]"
- src << "" + create_text_tag("pm_out_alt", "", src) + " to IRC-[sender]: [msg]"
-
- log_admin("PM: [key_name(src)]->IRC-[sender]: [msg]")
+ log_admin("PM: [key_name(src)]->Discord-[sender]: [msg]")
for(var/client/X in admins)
if(X == src)
continue
if(X.holder.rights & (R_ADMIN|R_MOD))
- X << "" + create_text_tag("pm_other", "PM:", X) + " [key_name(src, X, 0)] to IRC-[sender]: [msg]"
+ X << "" + create_text_tag("pm_other", "PM:", X) + " [key_name(src, X, 0)] to Discord-[sender]: [msg]"
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index 313de0150d9..3099be86c71 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -38,6 +38,8 @@
else if (R_CCIAA & C.holder.rights)
C << msg_cciaa
+ send_to_cciaa_discord("!!! @everyone - Emergency message from the station: \"[msg]\", sent by [Sender] !!!")
+
/proc/Syndicate_announce(var/msg, var/mob/Sender)
msg = "\blue ILLEGAL:[key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]"
for(var/client/C in admins)
diff --git a/code/modules/client/client defines.dm b/code/modules/client/client defines.dm
index bbb2359f13e..5684d5cb0f0 100644
--- a/code/modules/client/client defines.dm
+++ b/code/modules/client/client defines.dm
@@ -34,9 +34,9 @@
// comment out the line below when debugging locally to enable the options & messages menu
//control_freak = 1
- var/received_irc_pm = -99999
- var/irc_admin //IRC admin that spoke with them last.
- var/mute_irc = 0
+ var/received_discord_pm = -99999
+ var/discord_admin //IRC- no more IRC, K? Discord admin that spoke with them last.
+ var/mute_discord = 0
////////////////////////////////////
diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm
index 578902d9c04..09127b10095 100644
--- a/code/modules/client/client procs.dm
+++ b/code/modules/client/client procs.dm
@@ -45,14 +45,14 @@
cmd_admin_pm(C,null)
return
- if(href_list["irc_msg"])
- if(!holder && received_irc_pm < world.time - 6000) //Worse they can do is spam IRC for 10 minutes
- usr << "You are no longer able to use this, it's been more then 10 minutes since an admin on IRC has responded to you"
+ if(href_list["discord_msg"])
+ if(!holder && received_discord_pm < world.time - 6000) //Worse they can do is spam IRC for 10 minutes
+ usr << "You are no longer able to use this, it's been more then 10 minutes since an admin on Discord has responded to you"
return
- if(mute_irc)
- usr << ""
+ if(mute_discord)
+ usr << ""
return
- cmd_admin_irc_pm(href_list["irc_msg"])
+ cmd_admin_discord_pm(href_list["discord_msg"])
return
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index bb01c846caf..72f484f36c4 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -8,7 +8,7 @@
message_admins("Admin logout: [key_name(src)]")
if(admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell.
- send2adminirc("[key_name(src)] logged out - no more admins online.")
+ send_to_admin_discord("@everyone [key_name(src)] logged out - no more admins online.")
..()
- return 1
\ No newline at end of file
+ return 1