Yet another inconsistency between arRPC and Discord RPC, Discord RPC does not send a nonce at all. Now we internally treat "initial-ready" as a magic string to bypass nonce validation.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Sometimes arRPC would just send a response with the Identify opcode and `{"cmd":""}`. It is unclear what causes this and the easiest way to recover that I'm aware of is to close the connection and start a fresh one.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Add a few internal validation functions to make validation cleaner, activation function is called as needed so explicit client activation is not required.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>