Update command framework. Now you pass options to commands like this:
@rocket set name={Bruno}
There is no longer any notion of an "argument" for a command. Everything is an option. I did this because it's much easier to just treat all "arguments" as key-value pairs. It also allows us to work around the issue of only being able to support at most one multi-word argument in a command. Because all values for options are enclosed in {} you can put whitespace in your value without the framework interpreting it as multiple arguments. Required options will be enforced by the framework, so they are essentially arguments. I switched from using backticks to enclose the value assigned to some option to using {} because Slack won't do @mentions properly if you enclose them in backticks.
Update commands to use command framework updates.
Update team to have a platform field indicating what type of team it is. This will be useful to people visiting the website as many of our team names don't really hint at the platform they're developing on.
There is no longer any notion of an "argument" for a command. Everything is an option. I did this because it's much easier to just treat all "arguments" as key-value pairs. It also allows us to work around the issue of only being able to support at most one multi-word argument in a command. Because all values for options are enclosed in
{}
you can put whitespace in your value without the framework interpreting it as multiple arguments. Required options will be enforced by the framework, so they are essentially arguments. I switched from using backticks to enclose the value assigned to some option to using{}
because Slack won't do @mentions properly if you enclose them in backticks.team
to have aplatform
field indicating what type of team it is. This will be useful to people visiting the website as many of our team names don't really hint at the platform they're developing on.