/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static Education FromJson(VkResponse response) { if (response["university"] == null || response["university"].ToString() == "0") return null; var education = new Education { UniversityId = Utilities.GetNullableLongId(response["university"]), UniversityName = response["university_name"], FacultyId = Utilities.GetNullableLongId(response["faculty"]), FacultyName = response["faculty_name"], Graduation = (int?)Utilities.GetNullableLongId(response["graduation"]) }; if (education.UniversityId.HasValue && education.UniversityId == 0) education.UniversityId = null; if (education.FacultyId.HasValue && education.FacultyId == 0) education.FacultyId = null; if (education.Graduation.HasValue && education.Graduation == 0) education.Graduation = null; education.EducationForm = response["education_form"]; // установлено экcпериментальным путем education.EducationStatus = response["education_status"]; // установлено экcпериментальным путем return education; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static Previews FromJson(VkResponse response) { var previews = new Previews { Photo50 = response["photo_50"], Photo100 = response["photo_100"] ?? response["photo_medium"], Photo130 = response["photo_130"], Photo200 = response["photo_200"] ?? response["photo_200_orig"], Photo400 = response["photo_400_orig"] }; if (response.ContainsKey("photo")) { if (Uri.IsWellFormedUriString(response["photo"].ToString(), UriKind.Absolute)) { previews.Photo50 = response["photo"]; } else { previews.Photo = response["photo"]; } } previews.PhotoMax = response["photo_max"] ?? response["photo_max_orig"] ?? response["photo_big"] ?? previews.Photo400 ?? previews.Photo200 ?? previews.Photo100 ?? previews.Photo50; return previews; }
internal static Chat FromJson(VkResponse response) { var chat = new Chat(); chat.Id = response["id"]; chat.Type = response["type"]; chat.Title = response["title"]; chat.AdminId = Utilities.GetNullableLongId(response["admin_id"]); chat.Users = response["users"]; #region Поля найденые експерементально chat.Left = response.ContainsKey("left") ? response["left"] : false; if (response.ContainsKey("push_settings")) { chat.Sound = response["push_settings"]["sound"]; chat.DisabledUntil = response["push_settings"]["disabled_until"]; } else { chat.Sound = null; chat.DisabledUntil = null; } #endregion return chat; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static VkObject FromJson(VkResponse response) { var obj = new VkObject { Id = Utilities.GetNullableLongId(response["object_id"]) }; string type = response["type"]; switch (type) { case "group": { obj.Type = VkObjectType.Group; break; } case "user": { obj.Type = VkObjectType.User; break; } case "application": { obj.Type = VkObjectType.Application; break; } default: { return obj; } } return obj; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static Lyrics FromJson(VkResponse response) { return new Lyrics { Id = response["lyrics_id"], Text = response["text"] }; }
/// <summary> /// Разобрать из JSON. /// </summary> /// <param name="response">Ответ от vk.</param> /// <returns></returns> internal static Comments FromJson(VkResponse response) { return new Comments { Count = response["count"], CanPost = response["can_post"] }; }
internal static Tags FromJson(VkResponse response) { var tags = new Tags(); tags.Count = response["count"]; return tags; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static PushSettings FromJson(VkResponse response) { var settings = new PushSettings { Sound = response.ContainsKey("sound") && response["sound"], DisabledUntil = response.ContainsKey("disabled_until") ? response["disabled_until"] : null }; return settings; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static Tags FromJson(VkResponse response) { var tags = new Tags { Count = response["count"] }; return tags; }
internal static LastActivity FromJson(VkResponse re) { var lastActivity = new LastActivity(); lastActivity.IsOnline = re["online"]; lastActivity.Time = re["time"]; return lastActivity; }
internal static PostSource FromJson(VkResponse response) { var postSource = new PostSource(); postSource.Type = response["type"]; postSource.Data = response["data"]; return postSource; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static Reposts FromJson(VkResponse response) { var reposts = new Reposts { Count = response["count"], UserReposted = response["user_reposted"] }; return reposts; }
internal static UploadServerInfo FromJson(VkResponse response) { var info = new UploadServerInfo(); info.UploadUrl = response["upload_url"]; info.AlbumId = Utilities.GetNullableLongId(response["album_id"] ?? response["aid"]); info.UserId = Utilities.GetNullableLongId(response["user_id"] ?? response["mid"]); return info; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static UploadServerInfo FromJson(VkResponse response) { var info = new UploadServerInfo { UploadUrl = response["upload_url"], AlbumId = Utilities.GetNullableLongId(response["album_id"] ?? response["aid"]), UserId = Utilities.GetNullableLongId(response["user_id"] ?? response["message_id"] ?? response["mid"]) }; return info; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static Relative FromJson(VkResponse response) { var relative = new Relative { Id = response["id"] ?? response["uid"], Type = response["type"], Name = response["name"] }; return relative; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static LastActivity FromJson(VkResponse re) { var lastActivity = new LastActivity { IsOnline = re["online"], Time = re["time"] }; return lastActivity; }
internal static PollAnswer FromJson(VkResponse response) { var answer = new PollAnswer(); answer.Id = response["id"]; answer.Text = response["text"]; answer.Votes = response["votes"]; answer.Rate = response["rate"]; return answer; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static ChatPushSettings FromJson(VkResponse response) { var result = new ChatPushSettings { PeerId = response["peer_id"], Sound = response["sound"], DisabledUntil = response["disabled_until"] }; return result; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static LongPollServerResponse FromJson(VkResponse response) { var longPollServerResponse = new LongPollServerResponse { Key = response["key"], Server = response["server"], Ts = response["ts"], Pts = response["pts"] }; return longPollServerResponse; }
internal static Chat FromJson(VkResponse response) { var chat = new Chat(); chat.Id = response["id"]; chat.Type = response["type"]; chat.Title = response["title"]; chat.AdminId = Utilities.GetNullableLongId(response["admin_id"]); chat.Users = response["users"]; return chat; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static Contact FromJson(VkResponse response) { var contact = new Contact { UserId = response["user_id"], Description = response["desc"], Email = response["email"], Phone = response["phone"] }; return contact; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static MessagesGetObject FromJson(VkResponse response) { var dialogsGetObject = new MessagesGetObject { TotalCount = response["count"], Unread = response["unread_dialogs"], RealOffset = response["real_offset"], Messages = response["items"].ToReadOnlyCollectionOf<Message>(m => m) }; return dialogsGetObject; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static Geo FromJson(VkResponse response) { // TODO: TEST IT!!!!! var geo = new Geo { Place = response["place"], Coordinates = response["coordinates"], Type = response["type"] }; return geo; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static Likes FromJson(VkResponse response) { var likes = new Likes { Count = response["count"], UserLikes = response["user_likes"], CanLike = response["can_like"], CanPublish = response["can_publish"] }; return likes; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static PollAnswer FromJson(VkResponse response) { var answer = new PollAnswer { Id = response["id"], Text = response["text"], Votes = response["votes"], Rate = response["rate"] }; return answer; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static PostSource FromJson(VkResponse response) { var postSource = new PostSource { Type = response["type"], Data = response["data"], Platform = response["source_platform"], Uri = response["source_url"] }; return postSource; }
/// <summary> /// Десериализовать из Json. /// </summary> /// <param name="response">Jndtn.</param> /// <returns></returns> internal static GroupMember FromJson(VkResponse response) { var group = new GroupMember { UserId = response["user_id"], Member = response["member"], Request = response["request"], Invitation = response["invitation"] }; return group; }
internal static Tag FromJson(VkResponse tag) { var result = new Tag(); result.Id = tag["tag_id"]; result.Name = tag["tagged_name"]; result.UserId = tag["uid"]; result.PlacerId = tag["placer_id"]; result.Date = tag["tag_created"] ?? tag["date"]; result.IsViewed = tag["viewed"]; return result; }
internal static ExternalLink FromJson(VkResponse response) { var contact = new ExternalLink(); contact.Id = response["id"]; contact.Url = response["url"]; contact.Name = response["name"]; contact.Description = response["desc"]; contact.Photo50 = response["photo_50"]; contact.Photo100 = response["photo_100"]; ; return contact; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> internal static History FromJson(VkResponse response) { var reposts = new History { Id = response["id"], Length = response["length"], Date = response["date"], EditorId = response["editor_id"], EditorName = response["editor_name"] }; return reposts; }
/// <summary> /// Инициализирует новый экземпляр класса NeedValidationException /// </summary> /// <param name="response">Ответ от сервера vk</param> public NeedValidationException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; RedirectUri = response["redirect_uri"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response"> Ответ от сервера vk </param> public VideoCommentsClosedException(VkResponse response) : base(message: response[key: "error_msg"]) { ErrorCode = response[key : "error_code"]; }
/// <inheritdoc /> public AppKeyInvalidException(VkResponse error) : base(message: error) { }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public PermissionToPerformThisActionException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public NonStandaloneApplicationsException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public VideoAlreadyAddedException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public VideoAlbumIsFullException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса NeedValidationException /// </summary> /// <param name="response">Ответ от сервера vk</param> public OutOfLimitsException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response"> Ответ от сервера vk </param> public AdsRecentlyPostedException(VkResponse response) : base(message: response[key: "error_msg"]) { ErrorCode = response[key : "error_code"]; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns>Объект перечисления типа TFilter - Непосредственно наследник</returns> public static TFilter FromJson(VkResponse response) { var value = response.ToString(); return(FromJsonString(value)); }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public CannotSendToUserFirstlyException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public InvalidRequestException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public ErrorWorkWithAdsException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса NeedValidationException /// </summary> /// <param name="response"> Ответ от сервера vk </param> public PostLimitException(VkResponse response) : base(message: response[key: "error_msg"]) { ErrorCode = response[key : "error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public CaptchaNeededException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; Sid = response["captcha_sid"]; Img = response["captcha_img"]; }
internal static Photo PhotoFromJson(VkResponse response) { Photo photo = new Photo(); long? nullable1 = (long?)(response[(object)"photo_id"] ?? response[(object)"pid"] ?? response[(object)"id"]); photo.Id = nullable1; long?nullable2 = (long?)(response[(object)"album_id"] ?? response[(object)"aid"]); photo.AlbumId = nullable2; long?nullable3 = (long?)response[(object)"owner_id"]; photo.OwnerId = nullable3; Uri uri1 = (Uri)(response[(object)"photo_75"] ?? response[(object)"src_small"]); photo.Photo75 = uri1; Uri uri2 = (Uri)(response[(object)"photo_130"] ?? response[(object)"src"]); photo.Photo130 = uri2; Uri uri3 = (Uri)(response[(object)"photo_604"] ?? response[(object)"src_big"]); photo.Photo604 = uri3; Uri uri4 = (Uri)(response[(object)"photo_807"] ?? response[(object)"src_xbig"]); photo.Photo807 = uri4; Uri uri5 = (Uri)(response[(object)"photo_1280"] ?? response[(object)"src_xxbig"]); photo.Photo1280 = uri5; Uri uri6 = (Uri)(response[(object)"photo_2560"] ?? response[(object)"src_xxxbig"]); photo.Photo2560 = uri6; int?nullable4 = (int?)response[(object)"width"]; photo.Width = nullable4; int?nullable5 = (int?)response[(object)"height"]; photo.Height = nullable5; string str1 = (string)response[(object)"text"]; photo.Text = str1; DateTime?nullable6 = (DateTime?)(response[(object)"date"] ?? response[(object)"created"]); photo.CreateTime = nullable6; long?nullableLongId1 = GetNullableLongId(response[(object)"user_id"]); photo.UserId = nullableLongId1; long?nullableLongId2 = GetNullableLongId(response[(object)"post_id"]); photo.PostId = nullableLongId2; string str2 = (string)response[(object)"access_key"]; photo.AccessKey = str2; long?nullableLongId3 = GetNullableLongId(response[(object)"placer_id"]); photo.PlacerId = nullableLongId3; DateTime?nullable7 = (DateTime?)response[(object)"tag_created"]; photo.TagCreated = nullable7; long?nullable8 = (long?)response[(object)"tag_id"]; photo.TagId = nullable8; Likes likes = (Likes)response[(object)"likes"]; photo.Likes = likes; Comments comments = (Comments)response[(object)"comments"]; photo.Comments = comments; bool?nullable9 = (bool?)response[(object)"can_comment"]; photo.CanComment = nullable9; Tags tags = (Tags)response[(object)"tags"]; photo.Tags = tags; Uri uri7 = (Uri)response[(object)"photo_src"]; photo.PhotoSrc = uri7; string str3 = (string)response[(object)"photo_hash"]; photo.PhotoHash = str3; Uri uri8 = (Uri)response[(object)"src_small"]; photo.SmallPhotoSrc = uri8; float? nullable10 = (float?)response[(object)"lat"]; double?nullable11 = nullable10.HasValue ? new double?((double)nullable10.GetValueOrDefault()) : new double?(); photo.Latitude = nullable11; nullable10 = (float?)response[(object)"long"]; double?nullable12 = nullable10.HasValue ? new double?((double)nullable10.GetValueOrDefault()) : new double?(); photo.Longitude = nullable12; return(photo); }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response"> Ответ от сервера vk </param> public ErrorExecutingCodeException(VkResponse response) : base(message: response[key: "error_msg"]) { ErrorCode = response[key : "error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response"> Ответ от сервера vk </param> public AccessToMenuDeniedException(VkResponse response) : base(message: response[key: "error_msg"]) { ErrorCode = response[key : "error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public ConfirmationUserException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public CannotBlacklistYourselfException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// /// </summary> /// <param name="response"></param> /// <returns></returns> public static PhotosList FromJson(VkResponse response) { var list = new PhotosList(); return(list); }
/// <summary> /// Преобразовать из JSON /// </summary> /// <param name="response">Ответ от сервера.</param> /// <returns></returns> IVkModel IVkModel.FromJson(VkResponse response) { return(FromJson(response)); }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public VideoAccessDeniedException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response"> Ответ от сервера vk </param> public GroupsListAccessDeniedException(VkResponse response) : base(message: response[key: "error_msg"]) { ErrorCode = response[key : "error_code"]; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response">Ответ сервера.</param> /// <returns></returns> public static CallbackSettings FromJson(VkResponse response) { return(new CallbackSettings { MessageNew = response["message_new"], MessageReply = response["message_reply"], MessageAllow = response["message_allow"], MessageDeny = response["message_deny"], PhotoNew = response["photo_new"], AudioNew = response["audio_new"], VideoNew = response["video_new"], WallReplyNew = response["wall_reply_new"], WallReplyEdit = response["wall_reply_edit"], WallReplyDelete = response["wall_reply_delete"], WallPostNew = response["wall_post_new"], WallRepost = response["wall_repost"], BoardPostNew = response["board_post_new"], BoardPostEdit = response["board_post_edit"], BoardPostDelete = response["board_post_delete"], BoardPostRestore = response["board_post_restore"], PhotoCommentNew = response["photo_comment_new"], PhotoCommentEdit = response["photo_comment_edit"], PhotoCommentDelete = response["photo_comment_delete"], PhotoCommentRestore = response["photo_comment_restore"], VideoCommentNew = response["video_comment_new"], VideoCommentEdit = response["video_comment_edit"], VideoCommentDelete = response["video_comment_delete"], VideoCommentRestore = response["video_comment_restore"], MarketCommentNew = response["market_comment_new"], MarketCommentEdit = response["market_comment_edit"], MarketCommentDelete = response["market_comment_delete"], MarketCommentRestore = response["market_comment_restore"], PollVoteNew = response["poll_vote_new"], GroupJoin = response["group_join"], GroupLeave = response["group_leave"], UserBlock = response["user_block"], UserUnblock = response["user_unblock"], GroupChangeSettings = response["group_change_settings"], GroupChangePhoto = response["group_change_photo"], GroupOfficersEdit = response["group_officers_edit"] }); }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public ListIdInvalidException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public UnknownException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response">Ответ от сервера vk</param> public CannotAddUserBlacklistedException(VkResponse response) : base(response["error_msg"]) { ErrorCode = response["error_code"]; }
/// <summary> /// Разобрать из json. /// </summary> /// <param name="response"> Ответ сервера. </param> /// <returns> </returns> public static Attachment FromJson(VkResponse response) { var attachment = new Attachment(); string type = response[key : "type"]; switch (type) { case "photo": case "posted_photo": { attachment.Type = typeof(Photo); attachment.Photo = response[key : type]; break; } case "video": { attachment.Type = typeof(Video); attachment.Video = response[key : "video"]; break; } case "audio": { attachment.Type = typeof(Audio); attachment.Audio = response[key : "audio"]; break; } case "doc": { attachment.Type = typeof(Document); attachment.Document = response[key : "doc"]; break; } case "graffiti": { attachment.Type = typeof(Graffiti); attachment.Graffiti = response[key : "graffiti"]; break; } case "link": { attachment.Type = typeof(Link); attachment.Link = response[key : "link"]; break; } case "note": { attachment.Type = typeof(Note); attachment.Note = response[key : "note"]; break; } case "app": { attachment.Type = typeof(ApplicationContent); attachment.ApplicationContent = response[key : "app"]; break; } case "poll": { attachment.Type = typeof(Poll); attachment.Poll = response[key : "poll"]; break; } case "page": { attachment.Type = typeof(Page); attachment.Page = response[key : "page"]; break; } case "album": { attachment.Type = typeof(Album); attachment.Album = response[key : "album"]; break; } case "photos_list": { attachment.Type = typeof(PhotosList); attachment.PhotosList = response[key : "photos_list"]; break; } case "wall": { attachment.Type = typeof(Wall); attachment.Wall = response[key : "wall"]; break; } case "sticker": { attachment.Type = typeof(Sticker); attachment.Sticker = response[key : "sticker"]; break; } case "gift": { attachment.Type = typeof(Gift); attachment.Gift = response[key : "gift"]; break; } case "wall_reply": { attachment.Type = typeof(WallReply); attachment.WallReply = response[key : "wall_reply"]; break; } case "market_album": { attachment.Type = typeof(MarketAlbum); attachment.MarketAlbum = response[key : "market_album"]; break; } case "market": { attachment.Type = typeof(Market); attachment.Market = response[key : "market"]; break; } case "pretty_cards": { attachment.Type = typeof(PrettyCards); attachment.PrettyCards = response[key : "pretty_cards"]; break; } default: { throw new InvalidParameterException(message: string.Format(format: "The type '{0}' of attachment is not defined. {1}" , arg0: type , arg1: response[key: "date"])); } } return(attachment); }
/// <summary> /// Инициализирует новый экземпляр класса VkApiException /// </summary> /// <param name="response"> Ответ от сервера vk </param> public InvalidTimestampException(VkResponse response) : base(message: response[key: "error_msg"]) { ErrorCode = response[key : "error_code"]; }