Add NewHelpMenu v1.0.0 — fully customisable interactive help system

1,573-line cog with total configurability over every aspect:

Layouts: 6 category layouts (fields/description/inline/numbered/table),
3 home layouts (list/grid/minimal), configurable columns (1-3)

Themes: 4 built-in (default/minimal/compact/dark) + full custom mode

Navigation: 4 nav styles (full/compact/arrows_only/select_only),
select menu dropdown, button navigation, pagination

Button customisation: every button label, emoji, and style is configurable
(home/prev/next/search/favourites/close)

Categories: unlimited custom categories with emoji, colour, thumbnail,
image, description, ordering, role-gating, hide/unhide

Visibility: hide cogs, hide commands, role-gated categories,
permission-based filtering

Extras: modal search, per-user favourites, quick-link URL buttons,
custom home fields, DM help, ephemeral mode, auto-delete,
embed author, tagline, export config, command detail views

70+ admin commands across 10+ command groups.
This commit is contained in:
Viktor AI 2026-05-07 22:33:10 +00:00
parent 680b87db39
commit adf9e0f9d5
5 changed files with 1847 additions and 10 deletions

239
README.md
View file

@ -6,10 +6,225 @@ A premium cog repository for [Red-DiscordBot](https://github.com/Cog-Creators/Re
```
[p]repo add EveCogs https://github.com/everestmcarthur/EveCogs
[p]cog install EveCogs wormhole
[p]load wormhole
[p]cog install EveCogs <cog_name>
[p]load <cog_name>
```
### Available Cogs
| Cog | Description |
|-----|-------------|
| **[Wormhole](#-wormhole-v320)** | Ultimate cross-server message relay — DM relay, starboard, karma, auto-mod, 50+ commands |
| **[NewHelpMenu](#-new-help-menu-v100)** | Fully customisable interactive help system — categories, buttons, themes, search, favourites |
---
# 📖 New Help Menu v1.0.0
**The ultimate customisable help system for Red-DiscordBot.**
Completely replaces Red's default help formatter with a modern, interactive experience powered by Discord buttons, select menus, modals, and rich embeds. Every aspect is configurable — from categories and colours to button styles and role gating.
## ✨ Features
### 🎨 Themes & Branding
- **4 built-in themes** — `default`, `minimal`, `compact`, `dark`
- **Full custom mode** — control every visual aspect independently
- **Custom accent colours** — per-server or per-category
- **Thumbnails & images** — custom icons on home page and per-category
- **Title, description, tagline, footer** — fully templated with `{bot_name}` and `{prefix}` placeholders
- **Footer icons** — custom footer branding
### 📂 Custom Categories
- **Create unlimited categories** — group cogs however you want
- **Per-category customisation** — emoji, colour, thumbnail, image, description
- **Ordering** — set display order for each category
- **Role gating** — restrict category visibility to specific roles
- **Hide/unhide** — toggle category visibility
- **Auto-categories** — uncategorised cogs get their own section automatically
- **Rename** — change category labels on the fly
### 🔘 Interactive Navigation
- **Select menu dropdown** — jump between categories instantly
- **Button navigation** — category buttons when select menus are disabled
- **Pagination** — ◀️ ▶️ buttons with page counter
- **Command detail view** — click into any command for full docs, subcommands, aliases
- **Back navigation** — return to previous views seamlessly
- **Close button** — dismiss the menu
### 🔍 Search
- **Modal search** — pop-up search dialog searches command names, descriptions, aliases, and help text
- **Results view** — shows matching commands with their category
- **Fuzzy matching** — finds commands across all categories
### ⭐ Favourites
- **Per-user favourites** — save frequently-used commands
- **Star button** — add/remove favourites from the detail view
- **Favourites page** — quick access from the main menu
- **Command-based** — `[p]fav <command>` to toggle
### 🛡️ Visibility Control
- **Hide cogs** — remove entire cogs from help
- **Hide commands** — blacklist specific commands
- **Show hidden** — toggle visibility of hidden commands for admins
- **Permission-based filtering** — only shows commands the user can actually run
- **Role-gated categories** — restrict categories to certain roles
### ⚙️ Display Options
- **Aliases** — show/hide command aliases
- **Cooldowns** — show/hide cooldown info
- **Permissions** — show/hide required permission levels
- **Signatures** — show/hide command usage signatures
- **Timestamps** — toggle embed timestamps
- **Subcommand counts** — groups show number of subcommands
### 🔗 Quick Links
- **URL buttons** — add up to 5 link buttons (support server, docs, website, etc.)
- **Custom emoji** — set emoji per link button
### 📧 Delivery Options
- **DM help** — send help to DMs instead of the channel
- **Ephemeral mode** — only visible to the user (slash command contexts)
- **Auto-delete** — delete help messages after configurable seconds
- **Timeout** — interactive view timeout (default 3 minutes)
### 🏠 Home Page Extras
- **Custom fields** — add informational fields to the home embed
- **Home image** — large image on the home page
- **Category overview** — shows all categories with command counts
## 📋 Quick Start
```
[p]cog install EveCogs newhelpmenu
[p]load newhelpmenu
```
That's it! The default help command is now interactive. Customise further:
```
[p]helpmenu theme dark
[p]helpmenu colour #FF6B6B
[p]helpmenu title "🤖 {bot_name} Commands"
[p]helpmenu desc "Use the menu below to browse all commands!"
[p]helpmenu tagline "Powered by EveCogs"
[p]helpmenu cat create Moderation 🛡️ All moderation commands
[p]helpmenu cat addcog Moderation Mod
[p]helpmenu cat addcog Moderation AutoMod
[p]helpmenu cat colour Moderation #E74C3C
[p]helpmenu cat create Fun 🎮 Games and entertainment
[p]helpmenu cat addcog Fun Trivia
[p]helpmenu cat addcog Fun CustomCommands
[p]helpmenu quicklink add "Support" https://discord.gg/your-server 🔗
[p]helpmenu quicklink add "Docs" https://your-docs-site.com 📄
[p]helpmenu set selectmenu on
[p]helpmenu set buttons on
[p]helpmenu set aliases on
[p]helpmenu set dmhelp off
[p]helpmenu set maxperpage 10
[p]helpmenu preview
```
## 📖 Command Reference
### Main Settings (`[p]helpmenu` / `[p]hm`)
| Command | Description |
|---------|-------------|
| `helpmenu toggle` | Enable/disable the custom help menu |
| `helpmenu theme <name>` | Set theme: default, minimal, compact, dark, custom |
| `helpmenu colour <hex>` | Set accent colour |
| `helpmenu resetcolour` | Reset to bot default colour |
| `helpmenu thumbnail [url]` | Set/reset home thumbnail |
| `helpmenu title <text>` | Set title (supports `{bot_name}`, `{prefix}`) |
| `helpmenu description <text>` | Set home description |
| `helpmenu footer <text>` | Set footer text |
| `helpmenu footericon [url]` | Set footer icon |
| `helpmenu tagline [text]` | Set/clear tagline |
| `helpmenu homeimage [url]` | Set/reset home page image |
| `helpmenu buttonstyle <style>` | Set button style: primary, secondary, success, danger |
| `helpmenu pagestyle <style>` | Set pagination button style |
| `helpmenu uncatlabel <text>` | Set uncategorised section label |
| `helpmenu uncatdesc <text>` | Set uncategorised description |
| `helpmenu hideuncat` | Toggle hiding uncategorised section |
| `helpmenu preview` | Preview the help menu |
| `helpmenu settings` | Show all current settings |
| `helpmenu reset` | Reset everything to defaults |
### Toggle Settings (`[p]helpmenu set`)
| Setting | Description |
|---------|-------------|
| `aliases` | Show/hide command aliases |
| `cooldown` | Show/hide cooldown info |
| `permissions` | Show/hide required permissions |
| `signature` | Show/hide command signatures |
| `hidden` | Show/hide hidden commands |
| `timestamp` | Show/hide embed timestamps |
| `selectmenu` | Enable/disable select menu dropdown |
| `buttons` | Enable/disable category buttons |
| `dmhelp` | Send help to DMs |
| `ephemeral` | Ephemeral responses (slash commands) |
| `favourites` | Enable/disable favourites system |
| `search` | Enable/disable search |
| `sortcommands` | Sort commands alphabetically |
| `sortcategories` | Sort categories by order |
| `timeout` | View timeout in seconds (number) |
| `deleteafter` | Auto-delete after seconds (number, 0=never) |
| `maxperpage` | Commands per page (number) |
### Categories (`[p]helpmenu category` / `[p]hm cat`)
| Command | Description |
|---------|-------------|
| `cat create <name> [emoji] [desc]` | Create a new category |
| `cat delete <name>` | Delete a category |
| `cat rename <old> <new>` | Rename a category |
| `cat emoji <name> [emoji]` | Set/clear category emoji |
| `cat description <name> [desc]` | Set category description |
| `cat colour <name> <hex>` | Set category embed colour |
| `cat thumbnail <name> [url]` | Set category thumbnail |
| `cat image <name> [url]` | Set category large image |
| `cat order <name> <number>` | Set display order (lower = first) |
| `cat hide <name>` | Hide a category |
| `cat unhide <name>` | Show a hidden category |
| `cat requirerole <name> [role]` | Set/clear role requirement |
| `cat addcog <name> <CogName>` | Assign a cog to a category |
| `cat removecog <name> <CogName>` | Remove a cog from a category |
| `cat list` | List all categories |
### Visibility (`[p]helpmenu hide` / `unhide`)
| Command | Description |
|---------|-------------|
| `hide cog <CogName>` | Hide a cog from help |
| `hide command <name>` | Hide a command from help |
| `unhide cog <CogName>` | Unhide a cog |
| `unhide command <name>` | Unhide a command |
| `hide list` | List all hidden items |
### Quick Links (`[p]helpmenu quicklink` / `ql`)
| Command | Description |
|---------|-------------|
| `ql add <label> <url> [emoji]` | Add a quick link button |
| `ql remove <label>` | Remove a quick link |
| `ql list` | List all quick links |
### Home Fields (`[p]helpmenu field`)
| Command | Description |
|---------|-------------|
| `field add <name> <value>` | Add a field (append `--inline` for inline) |
| `field remove <name>` | Remove a field |
| `field clear` | Clear all fields |
| `field list` | List all fields |
### User Commands
| Command | Description |
|---------|-------------|
| `[p]favourite <command>` | Toggle a command in your favourites |
| `[p]favourites` | View your favourite commands |
---
# 🌀 Wormhole v3.2.0
@ -143,7 +358,7 @@ Connect channels across multiple servers into named networks. Messages, edits, d
## 📖 Command Reference
Run `[p]wh help` in Discord for the full interactive reference (3-page embed).
Run `[p]wh help` in Discord for the full interactive reference.
### Network Management
| Command | Description |
@ -199,18 +414,24 @@ Run `[p]wh help` in Discord for the full interactive reference (3-page embed).
| **Profiles** | `wh profile <name> [@user]` |
| **Global** | `wh global ban-user/unban-user/ban-server/unban-server/list` |
## 📊 Architecture
---
## 📊 Repository Structure
```
EveCogs/
├── README.md
├── LICENSE (MIT)
├── info.json (repo metadata)
└── wormhole/
├── __init__.py (cog loader + data statement)
├── info.json (cog metadata)
├── utils.py (helpers, embeds, detectors, filters)
└── wormhole.py (main cog — 2,200+ lines, 50+ commands)
├── wormhole/
│ ├── __init__.py
│ ├── info.json
│ ├── utils.py
│ └── wormhole.py (2,200+ lines, 50+ commands)
└── newhelpmenu/
├── __init__.py
├── info.json
└── newhelpmenu.py (1,100+ lines, 50+ commands)
```
## 📄 License

View file

@ -3,6 +3,6 @@
"install_msg": "Welcome to **EveCogs**! Use `[p]cog list` to see available cogs.",
"name": "EveCogs",
"short": "A collection of advanced cogs for Red-DiscordBot.",
"description": "EveCogs is a premium cog repository featuring Wormhole — the ultimate cross-server relay system with DM relay, starboard, karma, auto-moderation, invites, portals, and 50+ commands.",
"description": "EveCogs is a premium cog repository featuring Wormhole — the ultimate cross-server relay system, and New Help Menu — a fully customisable interactive help system with categories, buttons, select menus, themes, search, and favourites.",
"type": "REPO"
}

13
newhelpmenu/__init__.py Normal file
View file

@ -0,0 +1,13 @@
"""New Help Menu — Fully customisable interactive help system for Red-DiscordBot."""
from .newhelpmenu import NewHelpMenu
__red_end_user_data_statement__ = (
"This cog stores Discord user IDs and guild IDs for per-user favourite commands "
"and per-guild help menu configuration."
)
async def setup(bot):
cog = NewHelpMenu(bot)
await bot.add_cog(cog)

30
newhelpmenu/info.json Normal file
View file

@ -0,0 +1,30 @@
{
"author": ["everestmcarthur"],
"install_msg": "Thanks for installing **New Help Menu v1.0.0** — the ultimate customisable help system!\n\nThe cog automatically replaces your default help command with an interactive, button-driven menu.\n\nGet started:\n• `[p]helpmenu theme <name>` — choose a theme (default, minimal, compact, dark)\n• `[p]helpmenu category create <name> <emoji> <description>` — build custom categories\n• `[p]helpmenu category addcog <category> <CogName>` — assign cogs to categories\n• `[p]helpmenu settings` — view all current settings\n• `[p]helpmenu preview` — preview the menu\n\nFull docs: `[p]help helpmenu`",
"name": "NewHelpMenu",
"disabled": false,
"short": "Fully customisable interactive help menu with categories, buttons, select menus, themes, search & favourites.",
"description": "New Help Menu v1.0.0 completely replaces Red's default help formatter with a modern, interactive experience. Features include: custom categories with emoji/colour/thumbnail/image per category, 4 built-in themes (default/minimal/compact/dark) plus full custom mode, button and select-menu navigation, paginated command lists, command search via modal, per-user favourite commands, role-gated category visibility, quick-link buttons (URLs), custom home page fields/images/tagline, per-command detail views with subcommand browsing, cooldown/permission/alias display toggles, DM help mode, ephemeral mode, auto-delete, hidden cogs/commands blacklists, uncategorised section control, and 50+ admin configuration commands.",
"tags": [
"help",
"menu",
"buttons",
"select",
"interactive",
"categories",
"customise",
"customize",
"theme",
"embed",
"search",
"favourites",
"navigation",
"ui",
"paginator"
],
"type": "COG",
"end_user_data_statement": "This cog stores Discord user IDs and guild IDs for per-user favourite commands and per-guild help menu configuration including categories, themes, and display preferences.",
"min_bot_version": "3.5.0",
"min_python_version": [3, 9, 0],
"requirements": []
}

1573
newhelpmenu/newhelpmenu.py Normal file

File diff suppressed because it is too large Load diff