public Ready(JObject data) { JsonObjectReader r = data.GetReader(); ProtocolVersion = r.ReadInt32("v"); ClientServerUser = User.CreateFromJson(r.ReadObject("user").ToObject <UserJson>(), null); // ReSharper disable once CoVariantArrayConversion (read-only) DmChannels = r.ReadArray("private_channels").AllObject <ChannelJson>().Select(x => DirectMessageTextChannel.CreateFromJson(x, null)).ToArray(); ServersToCreate = r.ReadObjectArray <UaServerJson>("guilds").Where(x => x.unavailable).Select(x => x.id).ToList(); SessionId = r.ReadString("session_id"); Trace = r.ReadStringArray("_trace"); }