.inrole is now paginated

This commit is contained in:
Master Kwoth 2017-11-16 16:20:00 +01:00
parent dc0c8e3088
commit 0ca82ab17c

View File

@ -93,15 +93,17 @@ namespace NadekoBot.Modules.Utility
{
var rng = new NadekoRandom();
var usrs = (await Context.Guild.GetUsersAsync()).ToArray();
var roleUsers = usrs.Where(u => u.RoleIds.Contains(role.Id)).Select(u => u.ToString())
var roleUsers = usrs
.Where(u => u.RoleIds.Contains(role.Id))
.Select(u => u.ToString())
.ToArray();
var inroleusers = string.Join(", ", roleUsers
.OrderBy(x => rng.Next())
.Take(50));
var embed = new EmbedBuilder().WithOkColor()
.WithTitle(" " + Format.Bold(GetText("inrole_list", Format.Bold(role.Name))) + $" - {roleUsers.Length}")
.WithDescription($"```css\n[{role.Name}]\n{inroleusers}```");
await Context.Channel.EmbedAsync(embed).ConfigureAwait(false);
await Context.Channel.SendPaginatedConfirmAsync(_client, 0, (cur) =>
{
return new EmbedBuilder().WithOkColor()
.WithTitle(Format.Bold(GetText("inrole_list", Format.Bold(role.Name))) + $" - {roleUsers.Length}")
.WithDescription(string.Join("\n", roleUsers.Skip(cur * 20).Take(20)));
}, roleUsers.Length, 20).ConfigureAwait(false);
}
[NadekoCommand, Usage, Description, Aliases]