public async ValueTask <DiscordGuildMemberPacket[]> GetGuildMembersAsync(ulong guildId) { var items = new List <DiscordGuildMemberPacket>(); ulong?lastId = null; while (true) { var url = DiscordApiRoutes.GuildMembers(guildId) + "?limit=1000"; if (lastId.HasValue) { url += "&after=" + lastId; } var response = await RestClient.GetAsync(url).ConfigureAwait(false); HandleErrors(response); var packet = JsonHelper.Deserialize <DiscordGuildMemberPacket[]>(response.Body); items.AddRange(packet); if (packet.Length < 1000) { break; } lastId = packet.Last().User.Id; } return(items.ToArray()); }