public JObject ToJson(LookupContext ctx, APIVersion v) { var o = new JObject(); o.Add("timestamp", Instant.FromUnixTimeMilliseconds((long)(Message.Mid >> 22) + 1420070400000).ToString()); o.Add("id", Message.Mid.ToString()); o.Add("original", Message.OriginalMid.ToString()); o.Add("sender", Message.Sender.ToString()); o.Add("channel", Message.Channel.ToString()); o.Add("guild", Message.Guild?.ToString()); o.Add("system", System?.ToJson(ctx, v)); o.Add("member", Member?.ToJson(ctx, v: v)); return(o); }