internal static MessageResponse Parse(JsonData data) { if (data == null || !data.Has("message_id") || !data.Has("from") || !data.Has("date") || !data.Has("chat")) { return(null); } var messageResponse = new MessageResponse { MessageId = data.Get <int>("message_id"), From = UserResponse.Parse(data.GetJson("from")), Date = data.GetDateTime("date"), Chat = ChatResponse.Parse(data.GetJson("chat")), ForwardFrom = UserResponse.Parse(data.GetJson("forward_from")), ForwardDate = data.GetDateTime("forward_date"), ReplyToMessage = Parse(data.GetJson("reply_to_message")), Text = data.Get <string>("text"), Audio = AudioResponse.Parse(data.GetJson("audio")), Document = DocumentResponse.Parse(data.GetJson("document")), Sticker = StickerResponse.Parse(data.GetJson("sticker")), Video = VideoResponse.Parse(data.GetJson("video")), Voice = VoiceResponse.Parse(data.GetJson("voice")), Caption = data.Get <string>("caption"), Contact = ContactResponse.Parse(data.GetJson("contact")), Location = LocationResponse.Parse(data.GetJson("location")), NewChatParticipant = UserResponse.Parse(data.GetJson("new_chat_participant")), LeftChatParticipant = UserResponse.Parse(data.GetJson("left_chat_participant")), NewChatTitle = data.Get <string>("new_chat_title"), DeleteChatPhoto = data.Get <bool?>("delete_chat_photo"), GroupChatCreated = data.Get <bool?>("group_chat_created"), SupergroupChatCreated = data.Get <bool?>("supergroup_chat_created"), ChannelChatCreated = data.Get <bool?>("channel_chat_created"), MigrateToChatId = data.Get <int?>("migrate_to_chat_id"), MigrateFromChatId = data.Get <int?>("migrate_from_chat_id") }; if (data.Has("photo")) { foreach (var photo in data.GetJsonList("photo")) { messageResponse.Photo.Add(PhotoSizeResponse.Parse(photo)); } } if (data.Has("new_chat_photo")) { foreach (var photo in data.GetJsonList("new_chat_photo")) { messageResponse.NewChatPhoto.Add(PhotoSizeResponse.Parse(photo)); } } return(messageResponse); }
internal static ChatResponse Parse(JsonData data) { if (data == null || !data.Has("id") || !data.Has("type")) { return null; } var chatResponse = new ChatResponse { Id = data.Get<int>("id"), Title = data.Get<string>("title"), UserName = data.Get<string>("username"), FirstName = data.Get<string>("first_name"), LastName = data.Get<string>("last_name") }; switch (data.Get<string>("type")) { case "private": chatResponse.Type = ChatType.Private; break; case "group": chatResponse.Type = ChatType.Group; break; case "channel": chatResponse.Type = ChatType.Channel; break; case "supergroup": chatResponse.Type = ChatType.Supergroup; break; } return chatResponse; }
internal static ChatResponse Parse(JsonData data) { if (data == null || !data.Has("id") || !data.Has("type")) { return(null); } var chatResponse = new ChatResponse { Id = data.Get <int>("id"), Title = data.Get <string>("title"), UserName = data.Get <string>("username"), FirstName = data.Get <string>("first_name"), LastName = data.Get <string>("last_name") }; switch (data.Get <string>("type")) { case "private": chatResponse.Type = ChatType.Private; break; case "group": chatResponse.Type = ChatType.Group; break; case "channel": chatResponse.Type = ChatType.Channel; break; case "supergroup": chatResponse.Type = ChatType.Supergroup; break; } return(chatResponse); }