public ReadOnlyCollection <Country> GetCountries(bool?needAll = null, List <Iso3166> codes = null, int?count = null, int?offset = null) { VkErrors.ThrowIfNumberIsNegative(() => offset); VkErrors.ThrowIfNumberIsNegative(() => count); var parameters = new VkParameters { { "code", codes }, { "offset", offset }, { "count", count }, { "need_all", needAll } }; return(_vk.Call("database.getCountries", parameters, true).ToReadOnlyCollectionOf <Country>(x => x)); }
public bool RegisterDevice([NotNull] string token, string deviceModel, string systemVersion, bool?noText = null, SubscribeFilter subscribe = null) { VkErrors.ThrowIfNullOrEmpty(() => token); var parameters = new VkParameters { { "token", token }, { "device_model", deviceModel }, { "system_version", systemVersion }, { "no_text", noText }, { "subscribe", subscribe } }; return(_vk.Call("account.registerDevice", parameters)); }
/// <summary> /// Транслирует аудиозапись в статус пользователю или сообществу. /// </summary> /// <param name="audio">Идентификатор аудиозаписи, которая будет отображаться в статусе, в формате owner_id_audio_id. Например, 1_190442705. /// Если параметр не указан, аудиостатус указанных сообществ и пользователя будет удален.</param> /// <param name="targetIds">Перечисленные через запятую идентификаторы сообществ и пользователя, которым будет транслироваться аудиозапись. /// Идентификаторы сообществ должны быть заданы в формате "-gid", где gid - идентификатор сообщества. Например, 1,-34384434. По умолчанию аудиозапись /// транслируется текущему пользователю.</param> /// <returns>В случае успешного выполнения возвращает массив идентификаторов сообществ и пользователя, которым был установлен или удален аудиостатус.</returns> public ReadOnlyCollection <long> SetBroadcast(string audio, IEnumerable <long> targetIds) { VkErrors.ThrowIfNullOrEmpty(() => audio); var parameters = new VkParameters { { "audio", audio } }; parameters.Add("target_ids", targetIds); VkResponseArray response = _vk.Call("audio.setBroadcast", parameters); return(response.ToReadOnlyCollectionOf <long>(x => x)); }
public ReadOnlyCollection <User> GetMembers(long gid, out int totalCount, uint?count = null, uint?offset = null, GroupsSort sort = null, UsersFields fields = null, GroupsFilters filters = null) { VkErrors.ThrowIfNumberIsNegative(() => gid); var parameters = new GroupsGetMembersParams { GroupId = gid.ToString(), Count = count, Offset = offset, Sort = sort, Fields = fields, Filter = filters }; return(GetMembers(out totalCount, parameters)); }
/// <summary> /// Позволяет пожаловаться на видеозапись. /// </summary> /// <param name="ownerId"> /// Идентификатор пользователя или сообщества, которому принадлежит видеозапись. /// целое число, /// обязательный параметр (Целое число, обязательный параметр). /// </param> /// <param name="videoId"> /// Идентификатор видеозаписи. положительное число, обязательный параметр /// (Положительное число, /// обязательный параметр). /// </param> /// <param name="reason"> /// Тип жалобы: /// 0 – это спам /// 1 – детская порнография /// 2 – экстремизм /// 3 – насилие /// 4 – пропаганда наркотиков /// 5 – материал для взрослых /// 6 – оскорбление положительное число (Положительное число). /// </param> /// <param name="comment"> Комментарий для жалобы. строка (Строка). </param> /// <param name="searchQuery"> /// Поисковой запрос, если видеозапись была найдена /// через поиск. строка (Строка). /// </param> /// <returns> /// После успешного выполнения возвращает <c> true </c>. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/video.report /// </remarks> public bool Report(long videoId, ReportReason reason, long?ownerId, string comment = null, string searchQuery = null) { VkErrors.ThrowIfNumberIsNegative(expr: () => videoId); var parameters = new VkParameters { { "video_id", videoId } , { "owner_id", ownerId } , { "reason", reason } , { "comment", comment } , { "search_query", searchQuery } }; return(_vk.Call(methodName: "video.report", parameters: parameters)); }
/// <summary> /// Изменяет текст комментария к видеозаписи. /// </summary> /// <param name="commentId">Идентификатор комментария.</param> /// <param name="message">Новый текст комментария.</param> /// <param name="ownerId">Идентификатор пользователя или сообщества, которому принадлежит видеозапись. /// Обратите внимание, идентификатор сообщества в параметре <paramref name="ownerId"/> необходимо указывать со знаком "-" — например, /// <paramref name="ownerId"/>=-1 соответствует идентификатору сообщества ВКонтакте API (club1). /// </param> /// <returns>После успешного выполнения возвращает true.</returns> /// <remarks> /// Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref="Settings.Video"/>. /// Страница документации ВКонтакте <see href="http://vk.com/dev/video.editComment"/>. /// </remarks> public bool EditComment(long commentId, string message, long?ownerId) { VkErrors.ThrowIfNullOrEmpty(() => message); VkErrors.ThrowIfNumberIsNegative(() => commentId); var parameters = new VkParameters { { "comment_id", commentId }, { "message", message }, { "owner_id", ownerId }, { "v", _vk.ApiVersion } }; return(_vk.Call("video.editComment", parameters)); }
public ReadOnlyCollection <GroupMember> IsMember(string gid, IEnumerable <long> uids) { foreach (var uid in uids) { VkErrors.ThrowIfNumberIsNegative(() => uid); } var parameters = new VkParameters { { "group_id", gid }, { "user_ids", string.Join(", ", uids) } }; var response = _vk.Call("groups.isMember", parameters); return(response.ToReadOnlyCollectionOf <GroupMember>(x => x)); }
public long CreateComment(long videoId, string message, long?ownerId, bool isFromGroup = false) { VkErrors.ThrowIfNullOrEmpty(() => message); VkErrors.ThrowIfNumberIsNegative(() => videoId); var parameters = new VkParameters { { "video_id", videoId }, { "owner_id", ownerId }, { "message", message }, { "from_group", isFromGroup } }; return(_vk.Call("video.createComment", parameters)); }
/// <summary> /// Создает пустой альбом видеозаписей. /// </summary> /// <param name="groupId">Идентификатор сообщества (если необходимо создать альбом в сообществе). положительное число (Положительное число).</param> /// <param name="title">Название альбома. строка (Строка).</param> /// <param name="privacy">Уровень доступа к альбому в специальном формате. /// Приватность доступна для альбомов с видео в профиле пользователя. список строк, разделенных через запятую (Список строк, разделенных через запятую).</param> /// <returns> /// После успешного выполнения возвращает идентификатор созданного альбома (album_id). /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/video.addAlbum /// </remarks> public long AddAlbum(string title, long?groupId = null, IEnumerable <Privacy> privacy = null) { VkErrors.ThrowIfNullOrEmpty(() => title); VkErrors.ThrowIfNumberIsNegative(() => groupId); var parameters = new VkParameters { { "group_id", groupId }, { "title", title }, { "privacy", privacy } }; var response = _vk.Call("video.addAlbum", parameters); return(response["album_id"]); }
/// <inheritdoc /> public RepostResult Repost(string @object, string message, long?groupId, bool markAsAds) { VkErrors.ThrowIfNullOrEmpty(expr: () => @object); VkErrors.ThrowIfNumberIsNegative(expr: () => groupId); var parameters = new VkParameters { { "object", @object } , { "message", message } , { "group_id", groupId } , { "mark_as_ads", markAsAds } }; return(_vk.Call(methodName: "wall.repost", parameters: parameters)); }
/// <summary> /// Возвращает список альбомов видеозаписей пользователя или сообщества. /// </summary> /// <param name="ownerId">Идентификатор владельца альбомов (пользователь или сообщество). По умолчанию — идентификатор текущего пользователя. целое число, по умолчанию идентификатор текущего пользователя (Целое число, по умолчанию идентификатор текущего пользователя).</param> /// <param name="offset">Смещение, необходимое для выборки определенного подмножества альбомов. По умолчанию — 0. положительное число (Положительное число).</param> /// <param name="count">Количество альбомов, информацию о которых нужно вернуть. По умолчанию — не больше 50, максимум — 100). положительное число, по умолчанию 50, максимальное значение 100 (Положительное число, по умолчанию 50, максимальное значение 100).</param> /// <param name="extended">1 – позволяет получать поля count, photo_320, photo_160 и updated_time для каждого альбома. Если альбом пустой, то поля photo_320 и photo_160 возвращены не будут. По умолчанию – 0. флаг, может принимать значения 1 или 0 (Флаг, может принимать значения 1 или 0).</param> /// <param name="needSystem">1 — возвращать системные альбомы. флаг, может принимать значения 1 или 0, по умолчанию 0 (Флаг, может принимать значения 1 или 0, по умолчанию 0).</param> /// <returns> /// После успешного выполнения возвращает общее количество альбомов с видеозаписями, и массив объектов album, каждый из которых содержит следующие поля: /// /// id — идентификатор альбома; /// owner_id — идентификатор владельца альбома; /// title — название альбома. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/video.getAlbums /// </remarks> public VkCollection <VideoAlbum> GetAlbums(long?ownerId = null, long?offset = null, long?count = null, bool?extended = null, bool?needSystem = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "owner_id", ownerId }, { "offset", offset }, { "count", count }, { "extended", extended }, { "need_system", needSystem } }; return(_vk.Call("video.getAlbums", parameters).ToVkCollectionOf <VideoAlbum>(x => x)); }
/// <inheritdoc /> public VkCollection <Group> Get(GroupsGetParams @params, bool skipAuthorization = false) { VkErrors.ThrowIfNumberIsNegative(expr: () => @params.UserId); var response = _vk.Call(methodName: "groups.get", parameters: @params, skipAuthorization: skipAuthorization); // в первой записи количество членов группы для (response["items"]) if (@params.Extended == null || [email protected]) { return(response.ToVkCollectionOf(selector: id => new Group { Id = id })); } return(response.ToVkCollectionOf <Group>(selector: r => r)); }
/// <inheritdoc /> public bool Invite(long groupId, long userId, long?captchaSid = null, string captchaKey = null) { VkErrors.ThrowIfNumberIsNegative(expr: () => groupId); VkErrors.ThrowIfNumberIsNegative(expr: () => userId); var parameters = new VkParameters { { "group_id", groupId } , { "user_id", userId } , { "captcha_sid", captchaSid } , { "captcha_key", captchaKey } }; return(_vk.Call(methodName: "groups.invite", parameters: parameters)); }
/// <summary> /// Возвращает список пользователей, которые были приглашены в группу. /// </summary> /// <param name="groupId">Идентификатор группы, список приглашенных в которую пользователей нужно вернуть. положительное число, обязательный параметр (Положительное число, обязательный параметр).</param> /// <param name="offset">Смещение, необходимое для выборки определённого подмножества пользователей. положительное число (Положительное число).</param> /// <param name="count">Количество пользователей, информацию о которых нужно вернуть. положительное число, по умолчанию 20 (Положительное число, по умолчанию 20).</param> /// <param name="fields">Список дополнительных полей, которые необходимо вернуть. /// Доступные значения: nickname, domain, sex, bdate, city, country, timezone, photo_50, photo_100, photo_200_orig, has_mobile, contacts, education, online, relation, last_seen, status, can_write_private_message, can_see_all_posts, can_post, universities список строк, разделенных через запятую (Список строк, разделенных через запятую).</param> /// <param name="nameCase">Падеж для склонения имени и фамилии пользователя. Возможные значения: именительный – nom, родительный – gen, дательный – dat, винительный – acc, творительный – ins, предложный – abl. По умолчанию nom. строка (Строка).</param> /// <returns></returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/groups.getInvitedUsers /// </remarks> public VkCollection <User> GetInvitedUsers(long groupId, long?offset = null, long?count = null, UsersFields fields = null, NameCase nameCase = null) { VkErrors.ThrowIfNumberIsNegative(() => groupId); var parameters = new VkParameters { { "group_id", groupId }, { "offset", offset }, { "count", count }, { "fields", fields }, { "name_case", nameCase } }; return(_vk.Call("groups.getInvitedUsers", parameters).ToVkCollectionOf <User>(x => x)); }
public ReadOnlyCollection <> Delete(LikeObjectType type, long itemId, long?ownerId = null) { VkErrors.ThrowIfNumberIsNegative(() => itemId); var parameters = new VkParameters { { "type", type }, { "item_id", itemId }, { "owner_id", ownerId } }; VkResponseArray response = _vk.Call("likes.delete", parameters); return(response.ToReadOnlyCollectionOf <>(x => x)); }
public bool EditAlbum(long albumId, string title, long?groupId = null) { VkErrors.ThrowIfNullOrEmpty(() => title); VkErrors.ThrowIfNumberIsNegative(() => albumId); VkErrors.ThrowIfNumberIsNegative(() => groupId); var parameters = new VkParameters { { "album_id", albumId }, { "title", title }, { "group_id", groupId } }; return(_vk.Call("video.editAlbum", parameters)); }
public bool IsLiked(string type, long itemId, long?userId = null, long?ownerId = null) { VkErrors.ThrowIfNumberIsNegative(() => itemId); VkErrors.ThrowIfNumberIsNegative(() => userId); var parameters = new VkParameters { { "type", type }, { "item_id", itemId }, { "user_id", userId }, { "owner_id", ownerId } }; return(_vk.Call("likes.isLiked", parameters)); }
/// <summary> /// Изменяет текст комментария к видеозаписи. /// </summary> /// <param name="ownerId"> /// Идентификатор пользователя или сообщества, которому принадлежит видеозапись. /// Обратите внимание, /// идентификатор сообщества в параметре owner_id необходимо указывать со знаком /// "-" — например, owner_id=-1 /// соответствует идентификатору сообщества ВКонтакте API (club1) целое число, по /// умолчанию идентификатор текущего /// пользователя (Целое число, по умолчанию идентификатор текущего пользователя). /// </param> /// <param name="commentId"> /// Идентификатор комментария. целое число, обязательный параметр (Целое число, /// обязательный /// параметр). /// </param> /// <param name="message"> /// Новый текст комментария (является обязательным, если не задан параметр /// attachments). строка /// (Строка). /// </param> /// <param name="attachments"> /// Новый список объектов, приложенных к комментарию и разделённых символом ",". /// Поле attachments представляется в /// формате: /// <type><owner_id>_<media_id>,<type><owner_id>_< /// media_id> /// <type> — тип медиа-вложения: /// photo — фотография /// video — видеозапись /// audio — аудиозапись /// doc — документ /// <owner_id> — идентификатор владельца медиа-вложения /// <media_id> — идентификатор медиа-вложения. /// Например: /// photo100172_166443618,photo66748_265827614 /// Параметр является обязательным, если не задан параметр message. список строк, /// разделенных через запятую (Список /// строк, разделенных через запятую). /// </param> /// <returns> /// После успешного выполнения возвращает <c> true </c>. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/video.editComment /// </remarks> public bool EditComment(long commentId, string message, long?ownerId = null, IEnumerable <MediaAttachment> attachments = null) { VkErrors.ThrowIfNullOrEmpty(expr: () => message); VkErrors.ThrowIfNumberIsNegative(expr: () => commentId); var parameters = new VkParameters { { "owner_id", ownerId } , { "comment_id", commentId } , { "message", message } , { "attachments", attachments } }; return(_vk.Call(methodName: "video.editComment", parameters: parameters)); }
public ReadOnlyCollection <Group> Get(long uid, bool extended = false, GroupsFilters filters = null, GroupsFields fields = null, uint offset = 0, uint count = 1000) { VkErrors.ThrowIfNumberIsNegative(() => uid); var parameters = new GroupsGetParams { Count = count, Extended = extended, Fields = fields, Filter = filters, Offset = offset, UserId = uid }; return(Get(parameters).ToReadOnlyCollection()); }
/// <summary> /// Добавляет видеозапись в список пользователя. /// </summary> /// <param name="videoId">Идентификатор видеозаписи.</param> /// <param name="ownerId">Идентификатор пользователя или сообщества, которому принадлежит видеозапись. /// Обратите внимание, идентификатор сообщества в параметре <paramref name="ownerId"/> необходимо указывать со знаком "-" — например, /// <paramref name="ownerId"/>=-1 соответствует идентификатору сообщества ВКонтакте API (club1). /// </param> /// <returns>После успешного выполнения возвращает идентификатор созданной видеозаписи.</returns> /// <remarks> /// Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref="Settings.Video"/>. /// Страница документации ВКонтакте <see href="http://vk.com/dev/video.add"/>. /// </remarks> public long Add(long videoId, long?ownerId = null) { VkErrors.ThrowIfNumberIsNegative(() => videoId); var parameters = new VkParameters { { "video_id", videoId }, { "owner_id", ownerId }, { "v", _vk.ApiVersion } }; VkResponse response = _vk.Call("video.add", parameters); return(response); }
public VkCollection <Document> Get(int?count = null, int?offset = null, long?ownerId = null, DocFilter?filter = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "count", count }, { "offset", offset }, { "owner_id", ownerId }, { "type", filter } }; return(_vk.Call("docs.get", parameters).ToVkCollectionOf <Document>(r => r)); }
/// <summary> /// Создает пустой альбом аудиозаписей. /// </summary> /// <param name="title">название альбома</param> /// <param name="groupId">идентификатор сообщества (если альбом нужно создать в сообществе)</param> /// <returns>Идентификатор созданного альбома</returns> /// <remarks> /// Страница документации ВКонтакте <see href="http://vk.com/dev/audio.addAlbum"/>. /// </remarks> public long AddAlbum(string title, long?groupId = null) { VkErrors.ThrowIfNullOrEmpty(() => title); VkErrors.ThrowIfNumberIsNegative(() => groupId); var parameters = new VkParameters { { "title", title }, { "group_id", groupId } }; VkResponse response = _vk.Call("audio.addAlbum", parameters); return(response["album_id"]); }
public ReadOnlyCollection <Faculty> GetFaculties(long universityId, int?count = null, int?offset = null) { VkErrors.ThrowIfNumberIsNegative(() => universityId); VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "university_id", universityId }, { "offset", offset }, { "count", count } }; return(_vk.Call("database.getFaculties", parameters, true).ToReadOnlyCollectionOf <Faculty>(x => x)); }
public ReadOnlyCollection <User> GetUsers(int?count = null, int?offset = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); var parameters = new VkParameters { { "count", count }, { "offset", offset } }; VkResponseArray response = _vk.Call("fave.getUsers", parameters); return(response.ToReadOnlyCollectionOf <User>(x => x)); }
public bool SetSilenceMode([NotNull] string deviceId, int?time = null, int?chatId = null, int?userId = null, bool?sound = null) { VkErrors.ThrowIfNullOrEmpty(() => deviceId); var parameters = new VkParameters { { "device_id", deviceId }, { "time", time }, { "chat_id", chatId }, { "user_id", userId }, { "sound", sound } }; return(_vk.Call("account.setSilenceMode", parameters)); }
/// <summary> /// Создает новый список друзей у текущего пользователя. /// </summary> /// <param name="name">Название создаваемого списка друзей.</param> /// <param name="userIds">Идентификаторы пользователей, которых необходимо поместить в созданный список.</param> /// <returns>После успешного выполнения возвращает идентификатор созданного списка друзей.</returns> /// <remarks> /// Для вызова этого метода Ваше приложение должно иметь права с битовой маской, содержащей <see cref="Settings.Friends"/>. /// Страница документации ВКонтакте <see href="http://vk.com/dev/friends.addList"/>. /// </remarks> public long AddList(string name, IEnumerable <long> userIds) { VkErrors.ThrowIfNullOrEmpty(() => name); var parameters = new VkParameters { { "name", name } }; parameters.Add("user_ids", userIds); VkResponse response = _vk.Call("friends.addList", parameters); return(response["lid"]); }
/// <summary> /// Одобряет или создает заявку на добавление в друзья. /// </summary> /// <param name="userId">идентификатор пользователя, которому необходимо отправить заявку, либо заявку от которого необходимо одобрить.</param> /// <param name="text">текст сопроводительного сообщения для заявки на добавление в друзья. Максимальная длина сообщения — 500 символов.</param> /// <param name="captchaSid">Id капчи (только если для вызова метода необходимо ввести капчу)</param> /// <param name="captchaKey">Текст капчи (только если для вызова метода необходимо ввести капчу)</param> /// <returns> /// После успешного выполнения возвращает одно из следующих значений: /// 1 — заявка на добавление данного пользователя в друзья отправлена; /// 2 — заявка на добавление в друзья от данного пользователя одобрена; /// 4 — повторная отправка заявки. /// </returns> /// <remarks> /// Страница документации ВКонтакте <see href="http://vk.com/dev/friends.add"/>. /// </remarks> public AddFriendStatus Add(long userId, string text = "", long?captchaSid = null, string captchaKey = null) { VkErrors.ThrowIfNumberIsNegative(() => userId); var parameters = new VkParameters { { "user_id", userId }, { "text", text }, { "captcha_sid", captchaSid }, { "captcha_key", captchaKey } }; VkResponse response = _vk.Call("friends.add", parameters); return(response); }
public VkCollection <Region> GetRegions(int countryId, string query = "", int?count = null, int?offset = null) { VkErrors.ThrowIfNumberIsNegative(() => countryId); VkErrors.ThrowIfNumberIsNegative(() => offset); VkErrors.ThrowIfNumberIsNegative(() => count); var parameters = new VkParameters { { "country_id", countryId }, { "q", query }, { "offset", offset }, { "count", count } }; return(_vk.Call("database.getRegions", parameters, true).ToVkCollectionOf <Region>(r => r)); }
public ReadOnlyCollection <User> GetInvitedUsers(long groupId, out int userCount, long?offset = null, long?count = null, UsersFields fields = null, NameCase nameCase = null) { VkErrors.ThrowIfNumberIsNegative(() => groupId); var parameters = new VkParameters { { "group_id", groupId }, { "offset", offset }, { "count", count }, { "fields", fields }, { "name_case", nameCase } }; var response = _vk.Call("groups.getInvitedUsers", parameters); userCount = response["count"]; return(response["items"].ToReadOnlyCollectionOf <User>(x => x)); }
public VkCollection <Faculty> GetFaculties(long universityId, int?count = null, int?offset = null) { VkErrors.ThrowIfNumberIsNegative(expr: () => universityId); VkErrors.ThrowIfNumberIsNegative(expr: () => count); VkErrors.ThrowIfNumberIsNegative(expr: () => offset); var parameters = new VkParameters { { "university_id", universityId } , { "offset", offset } , { "count", count } }; return(_vk.Call(methodName: "database.getFaculties", parameters: parameters, skipAuthorization: true) .ToVkCollectionOf <Faculty>(selector: x => x)); }