mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-14 17:45:02 +01:00
844550f7c2
What it was doing was by and large fine, HOW it was doing it SUCKED I've cleaned it up and the nearby code some, notable hits include: - random if check in secrets ui that was totally unused - proc called add that actually set - lists not defined as such - stupid var names - proc args which did nothing - code which did nothing - oververbose code - proc/var names with no spacing at all Note: This might have changed behavior accidentally, I've done my best to test but we'll need to look out for issue reports in coming days. I was working on bitflag code and saw red, now it's 2 hours later. 🆑 code: Brought browser code up to standard with the rest of the codebase admin: Hey lads, I cleaned up how non TGUI windows work on the backend, please let me know if anything is broken! PING ME MOTHERFUCKER /🆑
40 lines
1.9 KiB
Plaintext
40 lines
1.9 KiB
Plaintext
// IF you have linked your account, this will trigger a verify of the user
|
|
/client/verb/verify_in_discord()
|
|
set category = "OOC"
|
|
set name = "Verify Discord Account"
|
|
set desc = "Verify your discord account with your BYOND account"
|
|
|
|
// Safety checks
|
|
if(!CONFIG_GET(flag/sql_enabled))
|
|
to_chat(src, span_warning("This feature requires the SQL backend to be running."))
|
|
return
|
|
|
|
// Why this would ever be unset, who knows
|
|
var/prefix = CONFIG_GET(string/discordbotcommandprefix)
|
|
if(!prefix)
|
|
to_chat(src, span_warning("This feature is disabled."))
|
|
return
|
|
|
|
if(!SSdiscord || !SSdiscord.reverify_cache)
|
|
to_chat(src, span_warning("Wait for the Discord subsystem to finish initialising"))
|
|
return
|
|
var/message = ""
|
|
// Simple sanity check to prevent a user doing this too often
|
|
var/cached_one_time_token = SSdiscord.reverify_cache[usr.ckey]
|
|
if(cached_one_time_token && cached_one_time_token != "")
|
|
message = "You already generated your one time token, it is [cached_one_time_token]. If you need a new one, you will have to wait until the round ends, or switch to another server; try verifying yourself on Discord by copying this command: <span class='code user-select'>[prefix]verify [cached_one_time_token]</span> and pasting it into the verification channel."
|
|
|
|
|
|
else
|
|
// Will generate one if an expired one doesn't exist already, otherwise will grab existing token
|
|
var/one_time_token = SSdiscord.get_or_generate_one_time_token_for_ckey(ckey)
|
|
SSdiscord.reverify_cache[usr.ckey] = one_time_token
|
|
message = "Your one time token is: [one_time_token]. Assuming you have the required living minutes in game, you can now verify yourself on Discord by using the command: <span class='code user-select'>[prefix]verify [one_time_token]</span>"
|
|
|
|
//Now give them a browse window so they can't miss whatever we told them
|
|
var/datum/browser/window = new /datum/browser(usr, "discordverification", "Discord Verification")
|
|
window.set_content("<div>[message]</div>")
|
|
window.open()
|
|
|
|
|