mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-16 04:34:21 +00:00
## About The Pull Request 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. ## Why It's Good For The Game I was working on bitflag code and saw red, now it's 2 hours later. ## Changelog 🆑 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()
|
|
|
|
|