Current issues and roadmap #1

Open
opened 2020-12-27 20:51:21 +00:00 by miguel456 · 0 comments
Owner

Issues

  • Commands need to be separated from the prefix, e.g. <prefix> command, and not <prefix>command. (Most pressing issue)
  • Sometimes, the Command Signature parser messes up the command's argument order.
  • Inability to use nullable arguments.
  • The bot always replies by tagging the user. This is undesirable.
  • The bot doesn't have a proper HTTP "framework". Each command has to initialize it's own Zttp or Guzzle instance. This is not optimal.
  • Commands are too decoupled from the main bot instance. They can't access the actual message sent by the user, they can only reply based on passed parameters.
  • The bot's two most important traits, ParsesCommands and HasSignature are bulky and impractical. The bot needs a better way to define commands and their arguments, and whether they're nullable or not.
  • The Help command's code is impractical. It needs a better way to output help.
  • The bot only listens to one event.

Improvements

  • Add support for slash commands
  • Add support for automatic role assignment on user join
  • Remove the space requirement between the command and prefix
  • Rewrite the command parser
  • Deprecate the signature parser
  • Add future-proof way of adding commands, and defining their arguments and argument data types
  • Add support for embedded replies
  • Add support for reacting to reactions on embeds
  • Refactor the codebase
  • Add database support for the bot
  • Support multiple guilds
  • Add DI container
  • Add plugin system - Plugins are individual PHP packages that can be installed and auto discovered and auto loaded, that add command and action sets, either traditional or slash-commands.
  • Refactor the main bot class - it looks ugly and bulky
  • Create the Staff Manager plugin, that adds a set of slash commands and traditional commands that interact with the RB Recruiter API, and also exposes a WebSocket connection to receive instructions that can interact with any area of the bot

When

All features of this roadmap (excluding role assignment on join) will only be implemented once Staff Manager has an API and reaches version 1.0.0. This includes bug fixes.

SM is under active development, although development is slow due to client projects. Bug fixes are high priority right now.

# Issues * Commands need to be separated from the prefix, e.g. ``<prefix> command``, and not ``<prefix>command``. (Most pressing issue) * Sometimes, the Command Signature parser messes up the command's argument order. * Inability to use nullable arguments. * The bot always replies by tagging the user. This is undesirable. * The bot doesn't have a proper HTTP "framework". Each command has to initialize it's own Zttp or Guzzle instance. This is not optimal. * Commands are too decoupled from the main bot instance. They can't access the actual message sent by the user, they can only reply based on passed parameters. * The bot's two most important traits, ``ParsesCommands`` and ``HasSignature`` are bulky and impractical. The bot needs a better way to define commands and their arguments, and whether they're nullable or not. * The Help command's code is impractical. It needs a better way to output help. * The bot only listens to one event. # Improvements * Add support for [slash commands](https://discord.com/developers/docs/interactions/slash-commands) * Add support for automatic role assignment on user join * Remove the space requirement between the command and prefix * Rewrite the command parser * Deprecate the signature parser * Add future-proof way of adding commands, and defining their arguments and argument data types * Add support for embedded replies * Add support for reacting to reactions on embeds * Refactor the codebase * Add database support for the bot * Support multiple guilds * Add DI container * Add plugin system - Plugins are individual PHP packages that can be installed and auto discovered and auto loaded, that add command and action sets, either traditional or slash-commands. * Refactor the main bot class - it looks ugly and bulky * Create the Staff Manager plugin, that adds a set of slash commands and traditional commands that interact with the RB Recruiter API, and also exposes a WebSocket connection to receive instructions that can interact with any area of the bot ## When All features of this roadmap (excluding role assignment on join) will only be implemented once [Staff Manager](https://code.spacejewel-hosting.com/spacejewelhosting/staffmanager) has an API and reaches version 1.0.0. This includes bug fixes. SM is under active development, although development is slow due to client projects. Bug fixes are high priority right now.
miguel456 added the
bug
enhancement
labels 2020-12-27 20:51:21 +00:00
miguel456 self-assigned this 2020-12-27 20:51:46 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: spacejewelhosting/raspberry-bot#1
No description provided.