TeamSpeak-3-Java-API icon indicating copy to clipboard operation
TeamSpeak-3-Java-API copied to clipboard

getClientServerGroups in ClientJoinEvent returns String

Open kaerns opened this issue 4 years ago • 1 comments

The method getClientServerGroups in ClientJoinEvent returns a commaseperated String instead of an int-array. This is not really a bug but not in line with other situations like in the Client. I'd recommend for both (and similar places) a list for most convenient to simplify group-checks trough the contains method. Also those line-comments don't help if they are not done as proper java-doc comments.

kaerns avatar Jul 23 '19 00:07 kaerns

Hi @essemX

Sorry for taking so long to respond. Had a lot of IRL stuff going on, and it'll probably be another 3-4 weeks until I'll be able to work on this API again.

I've wanted to rewrite that event class for quite some time now. Essentially, the plan is to provide a getClient() method that returns the client data in a nicely bundled wrapper object. The old getter methods - including getClientServerGroups - would then be deprecated.

Part of the issue is that the TS3 server sends us different sets of information about the client depending on whether it's a join event, a clientinfo command, or a clientjoin command, and there's no clear hierarchy. Check out the first 3 columns in this table: http://yat.qa/ressourcen/variablen-parameter/#client

Trying to design useful and clean OOP abstractions around the server query interface sucks.

I'll try to include this in v1.3.0, but I can't make any promises. And as stated above, it'll probably be another month until I can really work on this API again :/

rogermb avatar Aug 02 '19 01:08 rogermb