Skip to content

Make /help-commands build its command list dynamically from command files #140

Description

@CaptainRatax

Overview

Right now, /help-commands relies on a static command list.

It should be updated so the command list is generated dynamically by scanning the command folders and reading each command file.

The logic should use each command's exported metadata, such as name, description, and any other relevant values, to build the help output automatically.

Admin command visibility

Commands inside the admin folder should only appear in /help-commands when all required conditions are met:

  • The user is a bot admin
  • And the command is used in DM
  • Or the command is used inside the official Ratot server, identified by the RATOT_GUILD_ID environment variable

In other words, admin commands should only be visible if the user is a bot admin and the command is being used either in DM or in the official Ratot server.

In every other case, admin commands must be hidden from the help list.

Expected behavior

  • /help-commands scans the command directories automatically
  • The help list is built from the command files instead of a hardcoded static list
  • Command metadata like name and description is reused directly from each file
  • Commands in the admin folder are only shown when:
    • the user is a bot admin
    • and the command is called in DM
    • or the command is called in the guild whose ID matches RATOT_GUILD_ID
  • Admin commands are not shown to non-admin users
  • Admin commands are not shown in any other guilds

Why this change is useful

This makes the help command easier to maintain, avoids duplicated data, and keeps the command list always in sync with the real commands available in the bot.

It also ensures admin commands are only exposed to authorized users in the correct contexts.

Acceptance criteria

  • /help-commands no longer depends on a static command list
  • Adding or removing a command file updates the help output automatically
  • Admin commands are filtered correctly based on bot admin status, DM usage, and RATOT_GUILD_ID
  • Non-admin users never see admin commands in the help output
  • Non-admin commands continue to appear normally everywhere
  • No private or admin commands are exposed in unauthorized contexts

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestjavascriptPull requests that update javascript code

Projects

  • Status
    Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions