Skip to content

Have DefaultHelpCommand use get_bot_mapping #9329

@DanielBaulig

Description

@DanielBaulig

Summary

DefaultHelpCommand does not use and ignores the mapping provided to send_bot_help.

Reproduction Steps

It's impossible to customize the DefaultHelpCommand implementation by altering it's get_bot_mapping implementation.

from discord.ext import commands

class CustomizedDefaultHelpCommand(commands.DefaultHelpCommand):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
    def get_bot_mapping(self):
        mapping = super().get_bot_mapping()
        # make some arbitrary changes to mapping
        return mapping

It seems DefaultHelpCommand just ignores the mapping argument passed to it and "scours" the bot manually itself. There doesn't seem to be a good reason for that, but maybe I am missing something?

Would it be possible to rewrite DefaultHelpCommand's send_bot_help implementation to use the provided mapping instead of gathering one itself? That way it would be easily possible to adjust which commands to display and how without having to reimplement send_bot_help itself.

Minimal Reproducible Code

See above.

Expected Results

Overriding and changing get_bot_mapping should result in the actual output of send_bot_help to change.

Actual Results

Output of send_bot_help remains unphased.

Intents

message_content = True, but seems irrelevant

System Information

Checklist

  • I have searched the open issues for duplicates.
  • I have shown the entire traceback, if possible.
  • I have removed my token from display, if visible.

Additional Context

I've been trying to change the structure of the !help output to better suit my cog layout/structure. Also see the following SO question for more background: https://stackoverflow.com/questions/75908271/how-to-make-a-cog-a-prefix-command-group

Metadata

Metadata

Assignees

No one assigned

    Labels

    unconfirmed bugA bug report that needs triaging

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions