Show Command Usage Info Instead of Error
I think this error is rather unfriendly and it would be more useful to show them how they could've used the command to get an actual result.

Agreed. At the moment, this is simply a result of the Discord.NET commands system. It generates this error, not us. Need to investigate how/whether the Discord.NET commands system can be enhanced to provider better errors, or whether the CommandResult it returns contains sufficient information to build a better error message.
I agree that this could be a really neat feature, but it looks like this is the extent of the information that we get back from Discord.Net for e.g. !stack:

I'm worried that in order to do this, we'd need to reimplement Discord.Net's CommandParser to get information about what the CommandService was expecting for arguments vs what it received.
It might be worth getting in touch with the Discord.Net developer(s) about this, potentially they have some way to hook into error response?
First step would be to ask Monica in Discord. She's the primary dev for that system.
These days, the error messages aren't shown. The bot simply reacts with a warning emoji:
It could be useful to add some attributes to each command showing an example usage, but I think a better option would be to simply link to the docs. Perhaps after an arbitrary number (2-3) of failed usages by the same user in certain period.
Thoughts?
If you click on the warning emoji to react, it should reply with the error message. But regardless, I'm thinking this entire feature will be unnecessary if we migrate everything to slash commands, since slash commands are discoverable and documented within Discord itself