Exemplo n.º 1
0
        private async Task SendGfys(string title, IEnumerable <Gfy> gfys)
        {
            var gfyUrls = gfys.Select(d => "https://gfycat.com/" + d.Name).ToList().AsReadOnly();

            var message = new PaginatedMessage(gfyUrls, title, Context.User);

            await paginator.SendPaginatedMessageAsync(Context.Channel, message);
        }
Exemplo n.º 2
0
        public async Task Help2Async()
        {
            var Guild     = Context.Guild as SocketGuild;
            var gldConfig = GuildHandler.GuildConfigs[Guild.Id];

            if (Context.Channel is IDMChannel)
            {
                var builder = new EmbedBuilder
                {
                    Color = new Color(114, 137, 218),
                    Title = $"Here are my commands:"
                };

                foreach (var module in _service.Modules)
                {
                    var description =
                        (from cmd in module.Commands let result = module.Name where result != "Owner" select cmd)
                        .Aggregate <CommandInfo, string>(null,
                                                         (current, cmd) => current + $"{gldConfig.Prefix}{cmd.Name} - {cmd.Summary}\n");

                    if (!string.IsNullOrWhiteSpace(description))
                    {
                        builder.AddField(x =>
                        {
                            x.Name  = module.Name;
                            x.Value = description;
                        });
                    }
                }
                await ReplyAsync("", false, builder.Build());
            }
            else
            {
                var pages = new List <string>();

                foreach (var module in _service.Modules)
                {
                    string description = null;
                    foreach (var cmd in module.Commands)
                    {
                        var result = module.Name;

                        if (result != "Owner")
                        {
                            description += $"{gldConfig.Prefix}{cmd.Name} - {cmd.Summary}\n";
                        }
                    }

                    if (!string.IsNullOrWhiteSpace(description))
                    {
                        pages.Add($"**{module.Name}**\n{description}");
                    }
                }
                var message = new PaginatedMessage(pages, "Help Commands", new Color(0xb100c1), Context.User);

                await _paginator.SendPaginatedMessageAsync(Context.Channel, message);
            }
        }
Exemplo n.º 3
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);
        }
        public async Task Paginate()
        {
            var pages = new List <string>
            {
                "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus semper felis sapien, in gravida neque pharetra nec. Aliquam eu feugiat lectus. Vestibulum sollicitudin, neque vitae lacinia viverra, arcu quam accumsan turpis, et sollicitudin nisi erat ut nibh. Cras venenatis vulputate ipsum sed laoreet. Nulla ut ligula elit. Cras ornare justo id risus venenatis, sed porttitor purus consectetur. Fusce quam arcu, egestas nec felis eu, finibus auctor felis. Donec imperdiet, risus at laoreet efficitur, lacus enim ultricies sapien, a rutrum nibh enim quis nunc. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec ac orci elementum, luctus leo scelerisque, egestas lorem. Praesent vitae diam nec tortor mollis tristique sed sit amet ligula. Phasellus quis felis nisi. Cras non ultricies turpis.",
                "Fusce blandit augue nec dignissim tempor. Ut mollis ligula neque, eget eleifend sem fringilla eget. Cras id massa imperdiet, egestas nulla vitae, egestas tellus. Nam dapibus nibh libero, non lacinia enim accumsan at. Donec dapibus felis nunc, sed tincidunt metus bibendum a. Quisque eget convallis mauris. Integer erat dui, tincidunt aliquet fringilla nec, gravida in ligula. Maecenas imperdiet porttitor est sed pretium.",
                "Nam dignissim dolor quis dolor ornare lobortis. Aliquam iaculis neque id auctor facilisis. Fusce vehicula enim vitae quam semper suscipit. Cras pharetra risus turpis, at faucibus enim dictum nec. ",
                "Phasellus ut sapien luctus, dapibus ligula a, pulvinar lectus. Cras elementum lorem sodales ullamcorper tincidunt. Nam eleifend fermentum varius. Etiam maximus tempor pharetra",
                "Praesent in rutrum lectus, eu ultrices diam. Aenean nec aliquam justo, at fermentum lorem. Sed mattis varius vehicula. Cras non volutpat nisi. Suspendisse potenti. Nullam tincidunt velit id maximus gravida. Etiam id tellus ac sem elementum tristique quis non ante.",
            };
            var message = new PaginatedMessage(pages, "Lorem Ipsum", new Color(0xb100c1), Context.User);

            await paginator.SendPaginatedMessageAsync(Context.Channel, message);
        }
Exemplo n.º 5
0
        public async Task Paginate()
        {
            DiscordServer server = DiscordServer.GetServerFromID(Context.Guild.Id);

            if (server != null)
            {
                Console.WriteLine(server.lootItems.Count);
                if (server.lootItems == null || !(server.lootItems.Count > 0))
                {
                    await ReplyAsync("There is no loot.");

                    return;
                }
                var pages = new List <string>();

                int    itemPage   = 0;
                int    itemNumber = 0;
                string page       = "";
                foreach (LootItem item in server.lootItems)
                {
                    itemPage++;
                    itemNumber++;
                    page += itemNumber + " - " + item.Name + " : " + item.Description + "\n";
                    if (itemPage > 5)
                    {
                        itemPage = 0;
                        pages.Add(page);
                        page = "";
                    }
                }
                if (page != "")
                {
                    pages.Add(page);
                }

                var message = new PaginatedMessage(pages, "Reward List", new Color(0xb100c1), Context.User);

                await paginator.SendPaginatedMessageAsync(Context.Channel, message);
            }
        }