As I work on Tilemap Town's protocol and its commands I'm noticing that there's often multiple ways to ask the server to do a particular thing, but that's not automatically bad. A lot of that was the result of making things more generic.
There's simple, easy commands that do some common task with some assumptions in there (like "change your own graphic") and more general commands ("change an entity's property").
But then there's also protocol messages that can change properties.
I think it's actually genuinely helpful to have it where you can perform actions through both protocol commands specifically made for them and text commands, since then if your client doesn't support something you can still do it. There's also some features you can only use with text commands so far.
The thing I'd probably want to avoid is having multiple commands with similar scope and functionality, or anything that's "this command, but friendlier!" when I could improve the original.
Chitter is a social network fostering a friendly, inclusive, and incredibly soft community.