PycordPaginator

paginator using pycord_components


Keywords
discord, py, paginaion, button, components, discord_components, pycord, py-cord, component, discord-bot, discord-components, discord-py, discord-py-rewrite, interaction, pagination, paginator
License
MIT
Install
pip install PycordPaginator==0.0.3

Documentation

Pycord-Paginator

discord-components logoWith pycord-components

paginator using pycord_components

Welcome!

It's a paginator for pycord-components! Thanks to the original creator khk4912 (khk4912 /EZPaginator)!

This project is open source .

official discord server, so if you have a question, feel free to ask it on this server.

It was produced by referring to the open source of "decave27".

Install

pip install --upgrade PycordPaginator

Example

from PycordPaginator import Paginator
from discord.ext.commands import Bot
from pycord_components import PycordComponents
import discord

bot = Bot("your prefix")

@bot.event
async def on_ready():
    PycordComponents(bot)
    print(f"Logged in as {bot.user}!")

@bot.command()
async def pagination(ctx):
    embeds = [discord.Embed(title="1 page"), discord.Embed(title="2 page"), discord.Embed(title="3 page"),
                  discord.Embed(title="4 page"), discord.Embed(title="5 page")]
    desc = {
        "Basic help":"Basic help description",
        "example help1":"example help1 description",
        "example help2":"example help2 description",
        "example help3":"example help3 description",
        "example help4":"example help4 description"
    }


    e = Paginator(
        client=bot.components_manager,
        embeds=embeds,
        channel=ctx.channel,
        only=ctx.author,
        ctx=ctx,
        use_select=True,
        desc=desc)
    await e.start()

bot.run("your token")

result

use_select == True

button

use_select == False

select

option

class Paginator:
    def __init__(
        self,
        client: PycordComponents,
        channel: Messageable,
        ctx: Interaction,
        contents: List[str] = None,
        embeds: List[discord.Embed] = None,
        use_select: bool = False, #if False, use buttons
        only: discord.ext.commands.Context.author = None,
        desc: dict = None
    ):

License

This project is under the MIT License.

Contribute

Anyone can contribute to this by forking the repository, making a change, and create a pull request!

But you have to follow these to PR.

Thanks to

  • khk4912 - Original Paginator developer
  • Leek5 - pycord componets lib developer