Add Get() to the ApplicationCommands query builder, for fetching an individual application command.
Add Commands() to the ApplicationCommands query builder, for fetching all application commands.
Add various missing fields for ApplicationCommand, CreateApplicationCommand, and UpdateApplicationCommand.
Add BulkOverwrite() to the ApplicationCommands query builder, which allows overwriting all commands (global and guild still separate). Naming was defined by how it's described here.
Fix Update() and Delete() on ApplicationCommands query builder, where the generated URL didn't include / as the prefix, leading to a malformed request.
One of the big items I think with this change, is most users likely should shift to using BulkOverwrite(), which effectively defines all of their commands. The downside with the currently documented example is that if commands are added, then removed from the array, they never actually get removed from the application and/or guild.
There are three items I'm still not sure about.
[ ] The naming of Get() for singular, and Commands() for listing. I skimmed through some of the other builders/methods and wasn't sure what was best for naming standards to differentiate 1 vs many.
[ ] Commands() should probably accept an input, which allows the command list to include localized names and descriptions. I wasn't sure if:
It should just default to enabling that (can't be much additional query data?)
If an Option struct of some kind should be used. If this is the best option, not sure on best naming, as I don't see many of these types of structs across the project.
If this should somehow be built into the query builder as an additional method.
[ ] Should I update the command examples to use BulkOverwrite()?
Breaking Change?
no
Checklist:
[x] I have performed a self-review of my own code
[x] Commented complex situations or referenced the discord documentation
[ ] Updated documentation
[ ] Added/Updated unit tests
[ ] Added/Updated benchmarks (if this is a performance critical component)
Description
Get()
to theApplicationCommands
query builder, for fetching an individual application command.Commands()
to theApplicationCommands
query builder, for fetching all application commands.ApplicationCommand
,CreateApplicationCommand
, andUpdateApplicationCommand
.BulkOverwrite()
to theApplicationCommands
query builder, which allows overwriting all commands (global and guild still separate). Naming was defined by how it's described here.Update()
andDelete()
onApplicationCommands
query builder, where the generated URL didn't include/
as the prefix, leading to a malformed request.One of the big items I think with this change, is most users likely should shift to using
BulkOverwrite()
, which effectively defines all of their commands. The downside with the currently documented example is that if commands are added, then removed from the array, they never actually get removed from the application and/or guild.There are three items I'm still not sure about.
Get()
for singular, andCommands()
for listing. I skimmed through some of the other builders/methods and wasn't sure what was best for naming standards to differentiate 1 vs many.Commands()
should probably accept an input, which allows the command list to include localized names and descriptions. I wasn't sure if:Option
struct of some kind should be used. If this is the best option, not sure on best naming, as I don't see many of these types of structs across the project.BulkOverwrite()
?Breaking Change?
no
Checklist: