I wonder whether there are constraints that made it difficult to implement this functionality in another way, or this is just a bad design decision.
I wonder whether there are constraints that made it difficult to implement this functionality in another way, or this is just a bad design decision.
The problem isn't that the (fake) bot is in the same namespace as users; if there were any problem like that at all, it would be a shortage of discriminators.
However, that's not what this message is saying. It's saying that the name cannot contain "Clyde". In other words, you wouldn't be able to use any name that had the word "Clyde" in it, taken or not.
The fact that they haven't attempted to block usage of "CIyde" and similar does suggest they might not have thought it through, but it's verifiably not a namespace issue.
Just as a random, poorly thought-out example, internal stuff could be namespaced with a different prefix like "&Clyde" instead of "@Clyde". As long as users know that official stuff is addressed with &, it matters less what people do with @-namespaced stuff because there's an easy way to tell whether it's actually official or not.
By putting official stuff in the same namespace as user-generated stuff, it's much harder to tell whether something is an official tool or not. @CIyde could be a real internal account.
It's not always the wrong choice to mingle identifiers of different types, but I think often people err on the side of convenience (/ laziness) instead of thinking through all of the potential issues.
So it seems almost impossible that this is some technical limitation but rather Discord cracking down on a common deception tactic.