public Task <VkGroupMembersResult> GetMembers(string gidScreenName, int?count = null, int?offset = null, VkMembersGroupSort sort = VkMembersGroupSort.IDDesc) { return(CallJsonApiDynamic <VkGroupMembersResult>("groups.getMembers", new { gid = gidScreenName, count = count, offset = offset, sort = sort.GetEnumValue() })); }
/// <summary> /// Возвращает всех друзей группы за один раз /// </summary> /// <param name="src"> </param> /// <param name="gid"></param> /// <param name="sort"></param> /// <returns></returns> public static async Task <int[]> GetAllMembers(this IVkGroupsApi src, int gid, VkMembersGroupSort sort = VkMembersGroupSort.IDDesc) { const int maxPartSize = 1000; var offset = 0; var result = new List <int>(); while (true) { try { var vkUserInfo = await src.GetMembers(gid, sort : sort, offset : offset, count : maxPartSize); if (vkUserInfo.Users.Length == 0) { break; } result.AddRange(vkUserInfo.Users); offset += maxPartSize; } catch (VkRequestTooManyRequestsPerSecond ex) { Thread.Sleep(500); } catch (Exception ex) { Thread.Sleep(500); } } return(result.ToArray()); }