robertwayne / dpymenus

Simplified menus for discord.py developers.
https://dpymenus.com/
MIT License
26 stars 4 forks source link
discord discord-bot discord-py menus reaction-buttons

Discord Menus

With the recent news that `discord.py` will no longer be mainainted, as well as my own bot being moved over to Rust w/ Twilight for several months now, this project will no longer be maintained.



Simplified menus for discord.py developers.

Version Docs Python Version



user creates an embed, reaction buttons are added, and user navigates the
menu by clicking the buttons

Table of Contents

The Book
API Docs
Examples





Features

dpymenus is an unofficial add-on for the discord.py library that lets you quickly compose various styles of menus which react to user input.

Quick Start

pip install dpymenus

Read "Installation" from The Book for further information.

Examples

from discord.ext import commands
from dpymenus import Page, PaginatedMenu

class Demo(commands.Cog):
    def __init__(self, client):
        self.client = client

    @commands.command()
    async def demo(self, ctx: commands.Context):
        page1 = Page(title='Page 1', description='First page test!')
        page1.add_field(name='Example A', value='Example B')

        page2 = Page(title='Page 2', description='Second page test!')
        page2.add_field(name='Example C', value='Example D')

        page3 = Page(title='Page 3', description='Third page test!')
        page3.add_field(name='Example E', value='Example F')

        menu = PaginatedMenu(ctx)
        menu.add_pages([page1, page2, page3])
        await menu.open()

def setup(client):
    client.add_cog(Demo(client))

The examples directory contains working examples for almost every feature of the library.

In addition, the chapter on "Examples" walks you through setting up the built-in example runner.

Support

If you are looking for support on how to use particular library functions, please ask in the discussions tab.

If you've encountered a bug, submit an issue.

In addition, feel free to add me on Discord @ Rob (롭)#0013 -- I am open to discuss the library and assist when I am free, but I prefer you use the GitHub options as it may help other people as well.

Contributing

dpymenus is open-source for a reason -- I welcome all additions, bug fixes, and changes if they fit within the scope of the library. Please see the chapter on "Contributing" in the book for detailed information. Don't be shy!


Have you found this library useful? Please leave a ⭐ on the project -- it means a lot to me!

Check out my other discord.py utility: cogwatch -- Automatic hot-reloading for your discord.py command files.