[MIRROR] Ports Nebula's Discord Webhook Integration

This commit is contained in:
Chompstation Bot
2021-05-27 16:35:07 +00:00
parent bbafe17f3b
commit 34143b83cf
27 changed files with 2800 additions and 14 deletions

View File

@@ -1632,6 +1632,19 @@ datum/admins/var/obj/item/weapon/paper/admin/faxreply // var to hold fax replies
for(var/client/C in GLOB.admins)
if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights)
to_chat(C, "<span class='log_message'><span class='prefix'>FAX LOG:</span>[key_name_admin(src.owner)] has sent a fax message to [destination.department] (<a href='?_src_=holder;AdminFaxView=\ref[rcvdcopy]'>VIEW</a>)</span>")
var/plaintext_title = P.sender ? "replied to [key_name(P.sender)]'s fax" : "sent a fax message to [destination.department]"
var/fax_text = paper_html_to_plaintext(P.info)
log_game(plaintext_title)
log_game(fax_text)
SSwebhooks.send(
WEBHOOK_FAX_SENT,
list(
"name" = "[key_name(owner)] [plaintext_title].",
"body" = fax_text
)
)
else
to_chat(src.owner, "<span class='warning'>Message reply failed.</span>")

View File

@@ -239,7 +239,9 @@ var/list/admin_verbs_debug = list(
/client/proc/admin_give_modifier,
/client/proc/simple_DPS,
/datum/admins/proc/view_feedback,
/client/proc/debug_global_variables
/client/proc/debug_global_variables,
/client/proc/ping_webhook,
/client/proc/reload_webhooks
)
var/list/admin_verbs_paranoid_debug = list(

View File

@@ -203,6 +203,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
log_admin("Ticket #[id]: [key_name(initiator)]: [name] - heard by [admin_number_present] non-AFK admins who have +BAN.")
if(admin_number_present <= 0)
to_chat(C, "<span class='notice'>No active admins are online, your adminhelp was sent to the admin discord.</span>") //VOREStation Edit
<<<<<<< HEAD
send2adminchat() //VOREStation Add
//YW EDIT START
var/list/adm = get_admin_counts()
@@ -213,6 +214,20 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
else
ahelp_discord_message("ADMINHELP: FROM: [initiator_ckey]/[initiator_key_name] - MSG: **[msg]** - Heard by [activeMins] NON-AFK staff members.") //CHOMPEdit
//YW EDIT END
||||||| parent of b9ad56b022... Merge pull request #10316 from VOREStation/upstream-merge-8071
=======
// Also send it to discord since that's the hip cool thing now.
SSwebhooks.send(
WEBHOOK_AHELP_SENT,
list(
"name" = "Ticket ([id]) (Game ID: [game_id]) ticket opened.",
"body" = "[key_name(initiator)] has opened a ticket. \n[msg]",
"color" = COLOR_WEBHOOK_POOR
)
)
>>>>>>> b9ad56b022... Merge pull request #10316 from VOREStation/upstream-merge-8071
GLOB.ahelp_tickets.active_tickets += src
/datum/admin_help/Destroy()
@@ -305,6 +320,14 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
feedback_inc("ahelp_reopen")
TicketPanel() //can only be done from here, so refresh it
SSwebhooks.send(
WEBHOOK_AHELP_SENT,
list(
"name" = "Ticket ([id]) (Game ID: [game_id]) reopened.",
"body" = "Reopened by [key_name(usr)]."
)
)
//private
/datum/admin_help/proc/RemoveActive()
if(state != AHELP_ACTIVE)
@@ -330,6 +353,14 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
var/msg = "Ticket [TicketHref("#[id]")] closed by [key_name_admin(usr)]."
message_admins(msg)
log_admin(msg)
SSwebhooks.send(
WEBHOOK_AHELP_SENT,
list(
"name" = "Ticket ([id]) (Game ID: [game_id]) closed.",
"body" = "Closed by [key_name(usr)].",
"color" = COLOR_WEBHOOK_BAD
)
)
//Mark open ticket as resolved/legitimate, returns ahelp verb
/datum/admin_help/proc/Resolve(silent = FALSE)
@@ -347,6 +378,14 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
var/msg = "Ticket [TicketHref("#[id]")] resolved by [key_name_admin(usr)]"
message_admins(msg)
log_admin(msg)
SSwebhooks.send(
WEBHOOK_AHELP_SENT,
list(
"name" = "Ticket ([id]) (Game ID: [game_id]) resolved.",
"body" = "Marked as Resolved by [key_name(usr)].",
"color" = COLOR_WEBHOOK_GOOD
)
)
//Close and return ahelp verb, use if ticket is incoherent
/datum/admin_help/proc/Reject(key_name = key_name_admin(usr))
@@ -367,6 +406,14 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
log_admin(msg)
AddInteraction("Rejected by [key_name_admin(usr)].")
Close(silent = TRUE)
SSwebhooks.send(
WEBHOOK_AHELP_SENT,
list(
"name" = "Ticket ([id]) (Game ID: [game_id]) rejected.",
"body" = "Rejected by [key_name(usr)].",
"color" = COLOR_WEBHOOK_BAD
)
)
//Resolve ticket with IC Issue message
/datum/admin_help/proc/ICIssue(key_name = key_name_admin(usr))
@@ -386,6 +433,14 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
log_admin(msg)
AddInteraction("Marked as IC issue by [key_name_admin(usr)]")
Resolve(silent = TRUE)
SSwebhooks.send(
WEBHOOK_AHELP_SENT,
list(
"name" = "Ticket ([id]) (Game ID: [game_id]) marked as IC issue.",
"body" = "Marked as IC Issue by [key_name(usr)].",
"color" = COLOR_WEBHOOK_BAD
)
)
//Resolve ticket with IC Issue message
/datum/admin_help/proc/HandleIssue()
@@ -397,11 +452,18 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(initiator)
to_chat(initiator, msg)
feedback_inc("ahelp_icissue")
feedback_inc("ahelp_handling")
msg = "Ticket [TicketHref("#[id]")] being handled by [key_name(usr,FALSE,FALSE)]"
message_admins(msg)
log_admin(msg)
AddInteraction("[key_name_admin(usr)] is now handling this ticket.")
SSwebhooks.send(
WEBHOOK_AHELP_SENT,
list(
"name" = "Ticket ([id]) (Game ID: [game_id]) being handled.",
"body" = "[key_name(usr)] is now handling the ticket."
)
)
//Show the ticket panel
/datum/admin_help/proc/TicketPanel()

View File

@@ -24,6 +24,13 @@
to_world("<span class='alert'>[custom_event_msg]</span>")
to_world("<br>")
SSwebhooks.send(
WEBHOOK_CUSTOM_EVENT,
list(
"text" = custom_event_msg,
)
)
// normal verb for players to view info
/client/verb/cmd_view_custom_event()
set category = "OOC"