Пример #1
0
        public async Task GetCompleteEmoteInfoListAsync()
        {
            var fields = EmoteStats.GetAllValues(true, Context.Guild.Id, true)
                         .Where(o => Context.Guild.Emotes.Any(x => x.ToString() == o.EmoteID))
                         .Select(o => new EmbedFieldBuilder().WithName(o.GetRealId()).WithValue(o.GetFormatedInfo()))
                         .ToList();

            var pages = new List <PaginatedEmbedPage>();

            const int maxFieldsCount = EmbedBuilder.MaxFieldCount - 1;
            var       pagesCount     = Math.Ceiling((float)fields.Count / maxFieldsCount);

            for (int i = 0; i < pagesCount; i++)
            {
                var page = new PaginatedEmbedPage(null);
                page.AddFields(fields.Skip(i * maxFieldsCount).Take(maxFieldsCount));

                pages.Add(page);
            }

            var embed = new PaginatedEmbed()
            {
                Title       = "Kompletní statistika emotů",
                Pages       = pages,
                ResponseFor = Context.User
            };

            await SendPaginatedEmbedAsync(embed);
        }
Пример #2
0
        private PaginatedEmbed GetPaginatedResult(List <EmbedFieldBuilder> fields, string title)
        {
            var pages = new List <PaginatedEmbedPage>();

            const int maxFieldsCount = EmbedBuilder.MaxFieldCount - 1;
            var       pagesCount     = Math.Ceiling((float)fields.Count / maxFieldsCount);

            for (int i = 0; i < pagesCount; i++)
            {
                var page = new PaginatedEmbedPage(null);
                page.AddFields(fields.Skip(i * maxFieldsCount).Take(maxFieldsCount));

                pages.Add(page);
            }

            return(new PaginatedEmbed()
            {
                Title = title,
                Pages = pages,
                ResponseFor = Context.User
            });
        }