We’re using Discord’s Rich Presence/RPC integration directly from the client. NewSO ships with discord-rpc.dll, initializes it with our Discord application ID, then calls Discord_UpdatePresence whenever the player changes screens, enters a lot, enables privacy mode, etc. The Discord app has the NewSO name/assets registered, so Discord renders it as NewSO rich presence with state, lot name, player count, images, and join/spectate secrets where applicable.
