/paginator.py

Discord paginator for messages and embeds.

Primary LanguagePythonMIT LicenseMIT

paginator.py

Simple to use discord paginator for messages and embeds with reactions and buttons.


Features

  • Very easy to use
  • Customisable
  • Change pages with buttons or reactions
  • Actively maintained

Links

Installation

You can easily install it using the python package manager pip

pip install paginator.py

Note: paginator.py only works with Diskord

Quickstart

Here are some examples that might help.

Sending a message with pages that uses reaction

from paginator import Paginator, Page, NavigationType
from discord import Embed

...

paginator = Paginator(bot)


@bot.command()
async def test(ctx):
    pages = [
        Page(content="React!", embed=Embed(title="Page #1", description="Testing")),
        Page(embed=Embed(title="Page #2", description="Still testing")),
        Page(embed=Embed(title="Page #3", description="Guess... testing"))
    ]

    await paginator.send(ctx.channel, pages, type=NavigationType.Reactions)

Sending a message with pages that uses buttons

from paginator import Paginator, Page, NavigationType
from discord import Embed

...

paginator = Paginator(bot)


@bot.command()
async def test(ctx):
    pages = [
        Page(content="Click!", embed=Embed(title="Page #1", description="Testing")),
        Page(embed=Embed(title="Page #2", description="Still testing")),
        Page(embed=Embed(title="Page #3", description="Guess... testing"))
    ]

    await paginator.send(ctx.channel, pages, type=NavigationType.Buttons)

Changing the emojis

from paginator import Paginator, PageEmojis

...

paginator = Paginator(bot)

class Emojis(PageEmojis):
    def __init__(self):
        super().__init__()

        self.back = "⏪"
        self.forward = "⏩"

paginator.page_emojis = Emojis()

Contributions

Feel free to open pull requests and improve the library. If you find any issues, please report it.