예제 #1
0
        public async void Items_LoadedCorrectly()
        {
            var items = await api.GetItemList();

            var pan = items.Where(x => x.Name == "fryingpane").FirstOrDefault();

            Assert.Equal(58, items.Count());
            Assert.NotNull(pan);
        }
예제 #2
0
        public async Task ItemList()
        {
            var items = await _api.GetItemList();

            var pageCount = int.Parse(Math.Ceiling(items.Count / 12m).ToString());
            var pages     = new List <Page>();

            int counter = 0;

            for (int i = 0; i < pageCount; i++)
            {
                var fields = new List <EmbedFieldBuilder>()
                {
                    new EmbedFieldBuilder()
                    {
                        Name     = ":pushpin:",
                        IsInline = true
                    },
                    new EmbedFieldBuilder()
                    {
                        Name     = ":pushpin:",
                        IsInline = true
                    },
                };

                string leftCol = "", rightCol = "";

                for (int j = 0; j < 6; j++)
                {
                    try
                    {
                        leftCol  += $"{items[counter].Name}\n";
                        rightCol += $"{items[counter + 6].Name}\n";
                        counter++;
                    }
                    catch (ArgumentOutOfRangeException) { break; }
                }

                fields[0].Value = leftCol;
                fields[1].Value = rightCol;

                pages.Add(new Page()
                {
                    Fields = fields
                });
                counter += 6;
            }

            var msg = new PaginatedMessage(pages, ":closed_book: Item List", _config.AuthorBlog, new Color(0x01D484), Context.User);
            await _paginator.SendPaginatedMessageAsync(Context.Channel, msg);
        }