-= Changelog =- Version 2.0.6 (20.11.2016) + Added getCurrentQueryClientDatabaseID() and getCurrentQueryClientUniqueID() o Updated API documentation. Version 2.0.5 (31.08.2016) + Added LISTMODE_CHANNELGROUPLIST to get a list of channel groups. - Bugfix: If the query client was moved by drag and drop with an TS3 client, the query library did not detected the changed channel. Now getCurrentQueryClientChannelID() will return the right channel id. Notice: This detection only works, if the EVENT_MODE_CHANNEL was registered with channel id 0 using addEventNotify(int, int). This is not done by this library to keep full control in your hands. o Updated API documentation. Version 2.0.4 (02.04.2016) + If the TS3 server sends an notifyclient event twice, this library drop the second line now. o Updated API documentation. Version 2.0.3 (31.10.2015) ! Method parseLine() throws a NullPointerException now, if the given argument is null (same behavior like parseRawData()). + Added new method getClientDBIDFromUID() to get the client database id of a client unique id. + Added new list mode ServerGroupsByClientID to getList() method. With this list mode you can request a list of server groups of a client. o Updated the JTS3ServerQueryExample to show the new changes, also a new chat command !myservergroups. o Updated API documentation. Version 2.0.2 (06.07.2015) + Added new method searchClientDB() to search in the TS3 client database using client name or unique id. + Added new info mode ClientDBInfo to getInfo() method. This allows you to request all the client information stored in the TS3 client database. o Updated API documentation. Version 2.0.1 (04.07.2015) + Added ServerGroupClientList to getList() method. This allows you to request a list of clients of a specified server group. o Updated API documentation. Version 2.0 (16.11.2014) ! Removed deprecated method: loginTS3(String loginname, String password, String displayName) Use loginTS3(String loginname, String password) followed by setDisplayName(String displayName) instead! ! Complete redesign of the error handling of this library. Introduced the TS3ServerQueryException with own methods to request single information of this Exception. All methods throw a IllegalStateException, IllegalArgumentException or the new TS3ServerQueryException. IllegalStateException -> Not connected to TS3 server or an invalid response from server received. IllegalArgumentException -> An argument don't match the requirements. TS3ServerQueryException -> The TS3 server returned an error code/message. + Added new method getCurrentQueryClientName() to request the current query client name. + Added new method getCurrentQueryClientServerPort() to request the TS3 virtual server port. o Made parseLine() method public for parsing single line responses. o Updated API documentation. Version 1.0.10 Final (18.06.2014) + Added new argument -secondsempty for telnet command channellist. + Added new selectVirtualServer() for virtual server selection. + Added new DEBUG log file for exceptions, if enabled. - Bugfix at connectTS3Query(): Fixed endless loop because of missing query ban detection o Updated API documentation. Version 1.0.9 Final (05.04.2013) + Added new argument -ip for telnet command clientlist. o Updated API documentation. Version 1.0.8 Final (14.03.2012) o Added thread name and the possibility to set a prefix of the thread name. Version 1.0.7 Final (17.11.2011) o Updated function getLogEntries() to work with Teamspeak 3 server version 3.0.1 and newer. o Added some more stuff (like the command !logview) to the example source code. Version 1.0.6 Final (30.03.2011) - Bugfix at connectTS3Query(): Close connection first, then save the last error if something going wrong. - Bugfix at resetLastError(): Forgot to reset lastPermissionID variable to -1. Version 1.0.5 Final (04.03.2011) - Bugfix at connectTS3Query(): Make always sure to save an error message and close the connection, if something goes wrong. - Bugfix at saveLastError(): Make always sure to reset lastPermissionID variable to -1, if not used. Version 1.0.4 Final (07.12.2010) + Second function connectTS3Query() added, which allows you to bind connection to the given IP address, if possible. o Reworked the DEBUG mode of this library, it is now possible to save the whole communication to a log file. Read API documentation about it. o Updated API documentation. Version 1.0.3 Final (25.10.2010) o Changed function connectTS3Query() to set a timeout of 10 seconds after connecting. This help detecting a blocking read operation, if the TS3 server run into a bug. Version 1.0.2 Final (02.10.2010) o Changed function connectTS3Query() to catch all useless lines after connecting. The connect function now needs 500 ms more time (using socket timeout), but you can change this value to fit your needs (on LAN connections 100 ms should be enough). This change should solve possible problems since TS3 server beta 29. Version 1.0.1 Final (26.09.2010) + Function getPermissionInfo() added. + Function getLastErrorPermissionID() added. o Updated the function echoError() of the example class JTS3ServerQueryExample to show the new functions. o Updated API documentation. Version 1.0 Final (11.09.2010) + Function complainAdd() added. + Function complainDelete() added. + Added new list mode to request the complain list with getList(). + Added new arguments for telnet commands introduced in TS3 server beta 26 and 28. o Updated API documentation. Version 0.9.4 RC 1 (19.07.2010) + Added new arguments for telnet commands introduced in TS3 server beta 25. o Updated API documentation. Version 0.9.3 Beta 12 (14.04.2010) o Some internal changes to improve the detection if still connected to the Teamspeak 3 server. Version 0.9.2 Beta 11 (07.04.2010) + Function deleteChannel() added o An internal timer changed, to make sure that no XServer is needed for this library. Version 0.9.1 Beta 10 (20.02.2010) - Bugfix: Functions addEventNotify() and removeAllEvents() check now if query connection is active. o Changed debug output, if debug mode enabled. Version 0.9 Beta 9 (17.02.2010) + Function selectVirtualServer() with two arguments added, which allows to select by virtual server port. Version 0.8 Beta 8 (17.02.2010) + Function setDisplayName() added + Function loginTS3() with only two arguments added o Old function loginTS3() with three arguments is now deprecated. Version 0.7.2 Beta 7 (15.02.2010) o Better disconnect detection. Version 0.7.1 Beta 6 Hotfix (14.02.2010) o Call teamspeakActionPerformed in an own Thread which solves some issues. Version 0.7.1 Beta 6 (13.02.2010) - Bugfix: getCurrentClientID() return wrong client ID after login. - Bugfix: Fixed some bugs in function getLogEntries(). Timestamp argument is now a long. o Catch exceptions while call teamspeakActionPerformed to save library. o Synchronized a function to get this library threadsave, still need some tests. Version 0.7 Beta 5 (12.02.2010) + Added TeamspeakActionListener interface + Functions addEventNotify() and removeAllEvents() added + Functions setTeamspeakActionListener() and removeTeamspeakActionListener() added o Many internal changes o Created a new example which shows the new features of version 0.7. Version 0.6 Beta 4 (11.02.2010) + Functions getCurrentClientID(), getCurrentClientServerID() and getCurrentClientChannelID() added - Bugfix: Reworked sendTextMessage, now it should work correctly and without warnings. Version 0.5 Beta 3 (10.02.2010) + Added escaping of all special characters, even uncommon ones. + Function encodeTS3String() and decodeTS3String() Version 0.4.1 Beta 2 Hotfix (09.02.2010) - Bugfix: In rare cases the String decoding was wrong. Now it should be right. (thx to Scordo) Version 0.4 Beta 2 (09.02.2010) + Function pokeClient() added + Function getLogEntries() added - Bugfix: String escaping for TS3 server was wrong Version 0.3 Beta 1 (07.02.2010) - First Beta version