They're not exactly friendly to that sort of thing, I wouldn't be surprised if they add some traps to catch people making their own client.
So I'd +1 the sibling comment's suggestion to consider alternatives to Discord, if you're setting up your own community
How, it sounds like they're trying to catch you, e.g. I took...
> and they have banned people for it in the past (if they do something detectable, like enabling A/B testing feature flags that their account ID doesn't match :/)
...to mean they push out changes just to detect the clients who don't conform. I'm sure they could be very sneaky about it in a way that would be hard to "just do better" For instance: have some client behavior change that's hidden behind a feature flag or even calendar date, wait a long time until all official clients are updated, then trigger it and ban the laggards who can be assumed to be using an unofficial client.
FLOSS, easy to self host, and works nicely.
Provide it the official client and point it at public api endpoints (or an LLM operated mitm proxy), set it to work to reimplement.