discord-pretty-help
An embed version of the built-in help command for discord.py
Inspired by the DefaultHelpCommand that discord.py uses, but revised for embeds and additional sorting on individual pages that can be "scrolled" through.
Installation
pip install discord-pretty-help
Usage
Example of how to use it:
from discord.ext import commands
from pretty_help import PrettyHelp
bot = commands.Bot(command_prefix="!", help_command=PrettyHelp())
Added Optional Args
color- Set the default embed colordelete_invoke- Delete the message that invoked the help command. Requires message delete permission. Defaults isFalseending_note- Set the footer of the embed. Ending notes are fed acommands.Context(ctx) and aPrettyHelp(help) instance for more advanced customization.image_url- The url of the image to be used on the embedindex_title- Set the index page name default is "Categories"menu- The menu to use for navigating pages. Uses apretty_help.PrettyMenu()instance. Default ispretty_help.AppMenu()no_category- Set the name of the page with commands not part of a category. Default is "No Category"paginator- The paginator to use. One is created by default.send_typing- A bool that indicates if the bot will send a typing indicator. Defaults toTrueshow_index- Show the index page or notsort_commands- Sort commands and categories alphabeticallythumbnail_url- The url of the thumbnail to be used on the embed
Menus
pretty_help.EmojiMenu
- Uses Emojis to navigate
active_time- Set the time (in seconds) that the message will be active. Default is 30sdelete_after_timeout- Delete the message afteractive_timeinstead of removing reactions. DefaultFalsepage_left- The emoji to use to page leftpage_right- The emoji to use to page rightremove- The emoji to use to remove the help message
pretty_help.AppMenu
- Uses Application Interactions (buttons) for navigating
timeout- The duration the interaction will be active for. Defaults toNone.ephemeral- Send as an ephemeral message. Defaults toFalse.
By default, the help will just pick a random color on every invoke. You can change this using the color argument:
Example of using a different menu and customization:
from discord.ext import commands
from pretty_help import EmojiMenu, PrettyHelp
# ":discord:743511195197374563" is a custom discord emoji format. Adjust to match your own custom emoji.
menu = EmojiMenu(page_left="\U0001F44D", page_right="👎", remove=":discord:743511195197374563", active_time=5)
# Custom ending note
ending_note = "The ending note from {ctx.bot.user.name}\nFor command {help.clean_prefix}{help.invoked_with}"
bot = commands.Bot(command_prefix="!")
bot.help_command = PrettyHelp(menu=menu, ending_note=ending_note)
The basic help command will break commands up by cogs. Each cog will be a different page. Those pages can be navigated.
Changelog
[2.0.0]
- Subcommands in pages are indicated with a 🔗, previously it was unclear they were sub commands of the page title
- Support Application commands
- Support for GroupCogs
- Navigation using discord interactions e.g. Buttons and select menus
Notes:
- discord.py must already be installed to use this
manage-messagespermission is recommended so reactions can be removed automatically
Forks for other discord.py based libraries (could be out of date):
Metadata
Release files for discord-pretty-help 2.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| discord_pretty_help-2.0.6.tar.gz | 11.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| discord_pretty_help-2.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.0 kB
Release files / discord_pretty_help-2.0.6.tar.gz
| Download URL | discord_pretty_help-2.0.6.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a273631d610bc1b83462f37268b952100d16a81bec072f6b6680dd664350dc44
|
|
BLAKE2b-256 checksum How to use checksums |
d6eb2ff22da75e36e0bd4f55a6ddbcdf511d5e8f3dfabc7058cff1b4e761e10e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.2 CPython/3.11.0 Windows/10
|
Release files / discord_pretty_help-2.0.6-py3-none-any.whl
| Download URL | discord_pretty_help-2.0.6-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21206a7dd7985cbe97d7bec8c206a48efc31d79a01d9972f418e79dc8e538f16
|
|
BLAKE2b-256 checksum How to use checksums |
596cbb7d0aef3820a7f22225118539d4ab5112a7ff8ed33bb85575cea676a2fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.4.2 CPython/3.11.0 Windows/10
|
Security for discord-pretty-help 2.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.