Currently, every option is a field on the Client class.
The new approach will have all the options in a separate field.
For example: client.helpCommandLimit
New approach: client.options.helpCommandLimit
I'm changing it like this for more clarity.
I also want to add a feature where you can override certain options for a specific command.
I'll add a new field to Command and one to CommandContext to change and view the options respectively.
And while we're at it, why not let an option be a function that takes the context and any more arguments that provide more information (or maybe put them on the context too?)
Currently, every option is a field on the
Clientclass.The new approach will have all the options in a separate field.
For example:
client.helpCommandLimitNew approach:
client.options.helpCommandLimitI'm changing it like this for more clarity.
I also want to add a feature where you can override certain options for a specific command.
I'll add a new field to
Commandand one toCommandContextto change and view the options respectively.And while we're at it, why not let an option be a function that takes the context and any more arguments that provide more information (or maybe put them on the context too?)