de.stefan1200.jts3servermod.interfaces

## Interface JTS3ServerMod_Interface

-     public interface JTS3ServerMod_Interface

  Interface of the JTS3ServerMod class, which allows you to use the public JTS3ServerMod methods to make your plugin development easier.
  The author of the JTS3ServerMod is not responsible for any damage or data loss!
  E-Mail:
  info@stefan1200.de
  Homepage:
  http://www.stefan1200.de
  Author:
    Stefan Martens

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static byte` | `ERROR_LEVEL_CRITICAL` Use this log level if a critical error occurred, which have to stop the bot in most cases.
    `static byte` | `ERROR_LEVEL_DEBUG` Use this log level for debugging purposes only.
    `static byte` | `ERROR_LEVEL_ERROR` Use this log level if an error occurred or the configuration is wrong.
    `static byte` | `ERROR_LEVEL_INFO` Use this log level for info messages (something was done successful or stuff like that).
    `static byte` | `ERROR_LEVEL_WARNING` Use this log level to warn the user about a possible problem, but everything could work like expected.
    `static int` | `LIST_AWAY` Use this constant at the setListModes() method.
    `static int` | `LIST_COUNTRY` Use this constant at the setListModes() method.
    `static int` | `LIST_GROUPS` Use this constant at the setListModes() method.
    `static int` | `LIST_INFO` Use this constant at the setListModes() method.
    `static int` | `LIST_IP` Use this constant at the setListModes() method.
    `static int` | `LIST_TIMES` Use this constant at the setListModes() method.
    `static int` | `LIST_UID` Use this constant at the setListModes() method.
    `static int` | `LIST_VOICE` Use this constant at the setListModes() method.
    `static String` | `VERSION` Human readable version string, which will be used everywhere to show JTS3ServerMod version to users.
    `static long` | `VERSION_BUILD` Internal version number for comparing version for version check or plugins.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBotTimer(TimerTask task, long firstStart, long interval)` Add your TimerTask to the bot timer.
    `void` | `addLogEntry(String functionName, byte type, String msg, boolean outputToSystemOut)` Add a log entry to the bot log.
    `void` | `addLogEntry(String functionName, Throwable e, boolean outputToSystemOut)` Add a throwable stack trace to the bot log.
    `void` | `addTS3ChannelEvent(Object obj)` Register function for Teamspeak 3 channel events.
    `void` | `addTS3ServerEvent(Object obj)` Register function for Teamspeak 3 server events.
    `Vector<HashMap<String,String>>` | `getChannelGroupCache()` Returns the channel group list cache.
    `String` | `getChannelGroupName(int groupID)` Returns the channel group name of the channel group id.
    `int` | `getChannelGroupType(int groupID)` Returns the channel group type of the channel group id.
    `Vector<HashMap<String,String>>` | `getChannelList()` Returns the last loaded channel list from the currently connected Teamspeak 3 server.
    `String` | `getChannelName(int channelID)` Returns the channel name of the channel id.
    `int` | `getCheckInterval()` Returns the current check interval of the JTS3ServerMod.
    `ClientDatabaseCache_Interface` | `getClientCache()` Returns the used instance of the ClientDatabaseCache, which contains the client database cache, like unique id, ip address, names and last connected time of all clients, of the currently connected server.
    `int` | `getClientDBID(String uniqueID)` Returns the client database id of a client with the given unique id.
    `Vector<HashMap<String,String>>` | `getClientList()` Returns the last loaded client list from the currently connected Teamspeak 3 server.
    `HashMap<String,String>` | `getClientListEntry(int clientID)` Returns a clientlist entry of a single client.
    `int` | `getDefaultChannelID()` Returns the default channel id of the Teamspeak 3 server.
    `String` | `getDifferenceTime(long from, long to)` Returns a human readable String with the difference between two time stamps.
    `String` | `getFileSizeString(long size, boolean base1000)` Reformats the a size in bytes into human readable GB/GiB, MB/MiB or KB/KiB sizes, depends on the size.
    `long` | `getIdleTime(HashMap<String,String> clientInfo, int ignoreInChannel)` Extracts the client_idle_time from the clientInfo HashMap, converts this to a long and writes down a warning to the bot log, if the Teamspeak 3 server returned an invalid value (which can happen rarely).
    `int` | `getInstanceID()` Returns the virtual bot instance id in the MySQL database.
    `int` | `getListedGroup(String groupIDs, Vector<Integer> list)` Returns the first group id, which is listed in the Vector list and in the comma separated list of groups as well.
    `short` | `getMaxMessageLength(String type)` Request the maximum allowed length for messages.
    `String` | `getMessageEncoding()` Returns the message encoding, which was selected by the user.
    `MySQLConnect` | `getMySQLConnection()` Returns the used instance of the MySQL connection.
    `Vector<HashMap<String,String>>` | `getServerGroupCache()` Returns the server group list cache.
    `String` | `getServerGroupName(int groupID)` Returns the server group name of the server group id.
    `int` | `getServerGroupType(int groupID)` Returns the server group type of the server group id.
    `ServerInfoCache_Interface` | `getServerInfoCache()` Returns the used instance of the ServerInfoCache, which contains some information about the currently connected server.
    `String` | `getStringFromTimestamp(long timestamp)` Converts the time stamp in milliseconds to a string containing the date and time with the user defined formatting rules.
    `int` | `getUTF8Length(CharSequence sequence)` Get the UTF-8 byte size of a string with UTF-8 characters, important for TS3 chat messages (with a maximum of 1024).
    `String` | `getVersionString(String version)` Reformats the client version string of the Teamspeak 3 client into a human readable version string with date and time.
    `boolean` | `isGlobalMessageVarsEnabled()` Returns if the global message variables are enabled or disabled.
    `boolean` | `isGroupListed(String groupIDs, int searchGroupID)` Check if the comma separated list of groups contains the given group id.
    `boolean` | `isGroupListed(String groupIDs, Vector<Integer> list)` Check if the Vector list contains any of the comma separated list of groups.
    `boolean` | `isIDListed(int searchID, Vector<Integer> list)` Check if a Vector list contains a given id.
    `boolean` | `isLocalClientDatabaseCacheEnabled()` Check if the local Client Database Cache is enabled in the bot configuration.
    `boolean` | `isMessageLengthValid(String type, String message)` Check if the message length is valid.
    `boolean` | `isUIDListed(Vector<String> uidList, String uid)` Check if the given unique id is in the Vector.
    `boolean` | `loadMessages(String configPrefix, String configKey_Path, String[] configValues)` Loads messages from a simple messages file by keeping the messages encoding set by the user.
    `boolean` | `removeChannelListEntry(int channelID)` Removes a channellist entry of a single channel.
    `boolean` | `removeClientListEntry(int clientID)` Removes a clientlist entry of a single client.
    `String` | `replaceGlobalMessageVars(String message)` Replace the global message variables at the given string.
    `boolean` | `sendMessageToClient(String configPrefix, String mode, int clientID, String message)` Send a chat or poke message to a client.
    `boolean` | `setChannelName(int channelID, String newName)` Set a new channel name in the channellist cache entry of a single channel.
    `void` | `unloadFunction(Object c)` Use this to unload a function.

- - ### Field Detail

    - #### ERROR_LEVEL_CRITICAL

          static final byte ERROR_LEVEL_CRITICAL

      Use this log level if a critical error occurred, which have to stop the bot in most cases. In normal cases no function trigger critical errors, only the bot itself.
      Since:
        5.3
      See Also:
        Constant Field Values

    - #### ERROR_LEVEL_DEBUG

          static final byte ERROR_LEVEL_DEBUG

      Use this log level for debugging purposes only.
      Since:
        5.3
      See Also:
        Constant Field Values

    - #### ERROR_LEVEL_ERROR

          static final byte ERROR_LEVEL_ERROR

      Use this log level if an error occurred or the configuration is wrong. In most cases the function will be disabled if an error occur, but the bot with all other functions is working without further problems.
      Since:
        5.3
      See Also:
        Constant Field Values

    - #### ERROR_LEVEL_INFO

          static final byte ERROR_LEVEL_INFO

      Use this log level for info messages (something was done successful or stuff like that).
      Since:
        5.3
      See Also:
        Constant Field Values

    - #### ERROR_LEVEL_WARNING

          static final byte ERROR_LEVEL_WARNING

      Use this log level to warn the user about a possible problem, but everything could work like expected.
      Since:
        5.3
      See Also:
        Constant Field Values

    - #### LIST_AWAY

          static final int LIST_AWAY

      Use this constant at the setListModes() method. Adds `client_away` and `client_away_message` to the clientlist.
      See Also:
        `LoadConfiguration.setListModes(java.util.BitSet)`, Constant Field Values

    - #### LIST_COUNTRY

          static final int LIST_COUNTRY

      Use this constant at the setListModes() method. Adds `client_country` to the clientlist.
      See Also:
        `LoadConfiguration.setListModes(java.util.BitSet)`, Constant Field Values

    - #### LIST_GROUPS

          static final int LIST_GROUPS

      Use this constant at the setListModes() method. Adds `client_servergroups`, `client_channel_group_id` and `client_channel_group_inherited_channel_id` to the clientlist.
      See Also:
        `LoadConfiguration.setListModes(java.util.BitSet)`, Constant Field Values

    - #### LIST_INFO

          static final int LIST_INFO

      Use this constant at the setListModes() method. Adds `client_version` and `client_platform` to the clientlist.
      See Also:
        `LoadConfiguration.setListModes(java.util.BitSet)`, Constant Field Values

    - #### LIST_IP

          static final int LIST_IP

      Use this constant at the setListModes() method. Adds `connection_client_ip` to the clientlist.
      See Also:
        `LoadConfiguration.setListModes(java.util.BitSet)`, Constant Field Values

    - #### LIST_TIMES

          static final int LIST_TIMES

      Use this constant at the setListModes() method. Adds `client_idle_time`, `client_created` and `client_lastconnected` to the clientlist.
      See Also:
        `LoadConfiguration.setListModes(java.util.BitSet)`, Constant Field Values

    - #### LIST_UID

          static final int LIST_UID

      Use this constant at the setListModes() method. Adds `client_unique_identifier` to the clientlist.
      See Also:
        `LoadConfiguration.setListModes(java.util.BitSet)`, Constant Field Values

    - #### LIST_VOICE

          static final int LIST_VOICE

      Use this constant at the setListModes() method. Adds `client_flag_talking`, `client_input_muted`, `client_output_muted`, `client_input_hardware`, `client_output_hardware`, `client_talk_power`, `client_is_talker`, `client_is_priority_speaker`, `client_is_recording` and `client_is_channel_commander` to the clientlist.
      See Also:
        `LoadConfiguration.setListModes(java.util.BitSet)`, Constant Field Values

    - #### VERSION

          static final String VERSION

      Human readable version string, which will be used everywhere to show JTS3ServerMod version to users.
      See Also:
        Constant Field Values

    - #### VERSION_BUILD

          static final long VERSION_BUILD

      Internal version number for comparing version for version check or plugins.
      Since:
        5.3
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### addBotTimer

          void addBotTimer(TimerTask task,
                           long firstStart,
                           long interval)

      Add your TimerTask to the bot timer.
      Important:
      Never create an own Timer in your class. Only create a TimerTask and add it to the bot timer. This make sure that the bot can stop all used timers at reloading or stopping the bot.
      Parameters:
        `task` - Your TimerTask
        `firstStart` - The first start time in milliseconds
        `interval` - The interval of the TimerTask in milliseconds

    - #### addLogEntry

          void addLogEntry(String functionName,
                           byte type,
                           String msg,
                           boolean outputToSystemOut)

      Add a log entry to the bot log. Possible log levels can be found in the `JTS3ServerMod_Interface`, constant names starts with ERROR_LEVEL_.
      Parameters:
        `functionName` - The config prefix from `HandleBotEvents.initClass(JTS3ServerMod_Interface, de.stefan1200.jts3serverquery.JTS3ServerQuery, String)`
        `type` - Log error level
        `msg` - Message as String for the bot log
        `outputToSystemOut` - Set to `true`, if this should be printed to the system standard output stream. In most cases this should be `false` for plugins.
      See Also:
        `ERROR_LEVEL_DEBUG`, `ERROR_LEVEL_INFO`, `ERROR_LEVEL_WARNING`, `ERROR_LEVEL_ERROR`, `ERROR_LEVEL_CRITICAL`

    - #### addLogEntry

          void addLogEntry(String functionName,
                           Throwable e,
                           boolean outputToSystemOut)

      Add a throwable stack trace to the bot log.
      Parameters:
        `functionName` - The config prefix from `HandleBotEvents.initClass(JTS3ServerMod_Interface, de.stefan1200.jts3serverquery.JTS3ServerQuery, String)`
        `e` - Throwable for the bot log
        `outputToSystemOut` - Set to `true`, if this should be printed to the system standard output stream. In most cases this should be `false` for plugins.

    - #### addTS3ChannelEvent

          void addTS3ChannelEvent(Object obj)

      Register function for Teamspeak 3 channel events. Events will call the method `HandleTS3Events#handleClientEvents(String, HashMap)` at the given class.
      Parameters:
        `obj` - The class of the function which implements the `HandleTS3Events` interface.
      See Also:
        `HandleTS3Events#handleClientEvents(String, HashMap)`

    - #### addTS3ServerEvent

          void addTS3ServerEvent(Object obj)

      Register function for Teamspeak 3 server events. Events will call the method `HandleTS3Events#handleClientEvents(String, HashMap)` at the given class.
      Parameters:
        `obj` - The class of the function which implements the `HandleTS3Events` interface.
      See Also:
        `HandleTS3Events#handleClientEvents(String, HashMap)`

    - #### getChannelGroupCache

          Vector<HashMap<String,String>> getChannelGroupCache()

      Returns the channel group list cache. Will be updated every minute.
      Returns:
        The channel group list cache as HashMap in a Vector.
      Since:
        6.2.0

    - #### getChannelGroupName

          String getChannelGroupName(int groupID)

      Returns the channel group name of the channel group id. This will search in the channel group cache, which will be updated every minute.
      Parameters:
        `groupID` - The channel group id of the channel group
      Returns:
        The name of the channel group or `null`, if the channel group id was not found (or is currently not cached).
      Since:
        6.2.0

    - #### getChannelGroupType

          int getChannelGroupType(int groupID)

      Returns the channel group type of the channel group id. This will search in the channel group cache, which will be updated every minute.
      Parameters:
        `groupID` - The channel group id of the channel group
      Returns:
        The type of the channel group or -1, if the channel group id was not found (or is currently not cached).
      Since:
        6.2.0

    - #### getChannelList

          Vector<HashMap<String,String>> getChannelList()

      Returns the last loaded channel list from the currently connected Teamspeak 3 server.
      Will be updated every minute.
      Returns:
        The last loaded channel list

    - #### getChannelName

          String getChannelName(int channelID)

      Returns the channel name of the channel id. This will search in the channel list cache, which will be updated every minute.
      Parameters:
        `channelID` - The channel id of the channel
      Returns:
        The name of the channel or `null`, if the channel id was not found (or is currently not cached).

    - #### getCheckInterval

          int getCheckInterval()

      Returns the current check interval of the JTS3ServerMod. Can be changed by the user, default is every second.
      Returns:
        The current check interval

    - #### getClientCache

          ClientDatabaseCache_Interface getClientCache()

      Returns the used instance of the ClientDatabaseCache, which contains the client database cache, like unique id, ip address, names and last connected time of all clients, of the currently connected server.
      Returns:
        The used instance of the ClientDatabaseCache
      See Also:
        `ClientDatabaseCache_Interface`

    - #### getClientDBID

          int getClientDBID(String uniqueID)

      Returns the client database id of a client with the given unique id.
      Parameters:
        `uniqueID` - The unique id of the client
      Returns:
        The client database id of the given client or -1 if not found.

    - #### getClientList

          Vector<HashMap<String,String>> getClientList()

      Returns the last loaded client list from the currently connected Teamspeak 3 server.
      Will be loaded every check interval (can be changed by the user, default is every second).
      Returns:
        The last loaded client list

    - #### getClientListEntry

          HashMap<String,String> getClientListEntry(int clientID)

      Returns a clientlist entry of a single client.
      Parameters:
        `clientID` - The client id as int
      Returns:
        Returns an HashMap object of a single client, if the client was found in the last received clientlist, `null` if not.
      Since:
        6.1.0

    - #### getDefaultChannelID

          int getDefaultChannelID()

      Returns the default channel id of the Teamspeak 3 server. Will be updated every minute.
      Returns:
        The default channel id

    - #### getDifferenceTime

          String getDifferenceTime(long from,
                                   long to)

      Returns a human readable String with the difference between two time stamps.
      The result could be something like:
      2 days and 10:28:12 hours
      1:28 minutes
      42 seconds
      Parameters:
        `from` - Smaller time stamp
        `to` - Higher time stamp
      Returns:
        A human readable String with the difference between two time stamps.

    - #### getFileSizeString

          String getFileSizeString(long size,
                                   boolean base1000)

      Reformats the a size in bytes into human readable GB/GiB, MB/MiB or KB/KiB sizes, depends on the size.
      Parameters:
        `size` - The size in bytes as long.
        `base1000` - Set `true` to use the base 1000 for the size.
      Returns:
        The size as String.

    - #### getIdleTime

          long getIdleTime(HashMap<String,String> clientInfo,
                           int ignoreInChannel)

      Extracts the client_idle_time from the clientInfo HashMap, converts this to a long and writes down a warning to the bot log, if the Teamspeak 3 server returned an invalid value (which can happen rarely).
      Parameters:
        `clientInfo` - HashMap containing the client info
        `ignoreInChannel` - Set a channel id here, to prevent writing a warning to the bot log, if the client is in the given channel id.
      Returns:
        The client idle time

    - #### getInstanceID

          int getInstanceID()

      Returns the virtual bot instance id in the MySQL database. Only needed if you access the MySQL database on your own. In most cases you don't need this.
      Returns:
        The virtual bot instance id

    - #### getListedGroup

          int getListedGroup(String groupIDs,
                             Vector<Integer> list)

      Returns the first group id, which is listed in the Vector list and in the comma separated list of groups as well.
      Parameters:
        `groupIDs` - A comma separated list of groups
        `list` - The list as Vector containing Integer
      Returns:
        The first group id which is in both lists.

    - #### getMaxMessageLength

          short getMaxMessageLength(String type)

      Request the maximum allowed length for messages. Chat message length is counted in byte, poke and kick messages in character count.
      Notice:
      You should use `isMessageLengthValid(String, String)` instead.
      Parameters:
        `type` - `chat`, `kick` or `poke` is possible here.
      Returns:
        Returns the allowed length or bytes.
      See Also:
        `isMessageLengthValid(String, String)`

    - #### getMessageEncoding

          String getMessageEncoding()

      Returns the message encoding, which was selected by the user.
      Returns:
        The message encoding, default is UTF-8

    - #### getMySQLConnection

          MySQLConnect getMySQLConnection()

      Returns the used instance of the MySQL connection. You can use this, if you have to access the database of the JTS3ServerMod. In most cases you don't need this.
      Returns:
        The used instance of the MySQL connection.
      See Also:
        `MySQLConnect`

    - #### getServerGroupCache

          Vector<HashMap<String,String>> getServerGroupCache()

      Returns the server group list cache. Will be updated every minute.
      Returns:
        The server group list cache as HashMap in a Vector.
      Since:
        6.2.0

    - #### getServerGroupName

          String getServerGroupName(int groupID)

      Returns the server group name of the server group id. This will search in the server group cache, which will be updated every minute.
      Parameters:
        `groupID` - The server group id of the server group
      Returns:
        The name of the server group or `null`, if the server group id was not found (or is currently not cached).

    - #### getServerGroupType

          int getServerGroupType(int groupID)

      Returns the server group type of the server group id. This will search in the server group cache, which will be updated every minute.
      Parameters:
        `groupID` - The server group id of the server group
      Returns:
        The type of the server group or -1, if the server group id was not found (or is currently not cached).

    - #### getServerInfoCache

          ServerInfoCache_Interface getServerInfoCache()

      Returns the used instance of the ServerInfoCache, which contains some information about the currently connected server.
      Returns:
        The used instance of the ServerInfoCache
      See Also:
        `ServerInfoCache_Interface`

    - #### getStringFromTimestamp

          String getStringFromTimestamp(long timestamp)

      Converts the time stamp in milliseconds to a string containing the date and time with the user defined formatting rules.
      Parameters:
        `timestamp` - The time stamp you want to convert into a String.
      Returns:
        A string containing the date and time with the user defined formatting rules.

    - #### getUTF8Length

          int getUTF8Length(CharSequence sequence)

      Get the UTF-8 byte size of a string with UTF-8 characters, important for TS3 chat messages (with a maximum of 1024).
      Parameters:
        `sequence` - The string
      Returns:
        The UTF-8 byte size of the string

    - #### getVersionString

          String getVersionString(String version)

      Reformats the client version string of the Teamspeak 3 client into a human readable version string with date and time.
      Parameters:
        `version` - The Teamspeak 3 client version string from the clientlist or clientinfo.
      Returns:
        A human readable version string with date and time.

    - #### isGlobalMessageVarsEnabled

          boolean isGlobalMessageVarsEnabled()

      Returns if the global message variables are enabled or disabled. If enabled, you can use the `replaceGlobalMessageVars(String)` method to replace the global message variables.
      This is not needed, if you use the `sendMessageToClient(String, String, int, String)` method.
      Returns:
        Returns `false`, if the global message variables are disabled, `true` if enabled.
      See Also:
        `replaceGlobalMessageVars(String)`

    - #### isGroupListed

          boolean isGroupListed(String groupIDs,
                                int searchGroupID)

      Check if the comma separated list of groups contains the given group id.
      Parameters:
        `groupIDs` - A comma separated list of groups
        `searchGroupID` - A single group id as int
      Returns:
        Returns `true`, if the list contains the given id, `false` if not.
      Since:
        6.1.0

    - #### isGroupListed

          boolean isGroupListed(String groupIDs,
                                Vector<Integer> list)

      Check if the Vector list contains any of the comma separated list of groups.
      Parameters:
        `groupIDs` - A comma separated list of groups
        `list` - The list as Vector containing Integers
      Returns:
        Returns `true`, if the list contains the given id, `false` if not.

    - #### isIDListed

          boolean isIDListed(int searchID,
                             Vector<Integer> list)

      Check if a Vector list contains a given id.
      Parameters:
        `searchID` - The id
        `list` - The list as Vector containing Integer
      Returns:
        Returns `true`, if the list contains the given id, `false` if not.

    - #### isLocalClientDatabaseCacheEnabled

          boolean isLocalClientDatabaseCacheEnabled()

      Check if the local Client Database Cache is enabled in the bot configuration. This can be used at loadConfig() already.
      Returns:
        Returns `true`, if the local Client Database Cache is enabled in the bot configuration, `false` if not.

    - #### isMessageLengthValid

          boolean isMessageLengthValid(String type,
                                       String message)

      Check if the message length is valid.
      Parameters:
        `type` - `chat`, `kick` or `poke` is possible here.
        `message` - The message as string.
      Returns:
        Returns `false`, if the message length is not valid. `true` if everything is good.

    - #### isUIDListed

          boolean isUIDListed(Vector<String> uidList,
                              String uid)

      Check if the given unique id is in the Vector.
      Parameters:
        `uidList` - The list as Vector containing Strings
        `uid` - The unique id as String
      Returns:
        Returns `true`, if the list contains the given unique id, `false` if not.
      Since:
        6.1.0

    - #### loadMessages

          boolean loadMessages(String configPrefix,
                               String configKey_Path,
                               String[] configValues)

      Loads messages from a simple messages file by keeping the messages encoding set by the user. Like at the original messages files from the JTS3ServerMod, the first line have to be:
      `# JTS3ServerMod Config File`
      All lines starting with # or lines with less than 4 characters will be skipped. If there are more lines, than the array size of `configValues`, all following lines will be ignores.
      Example for loading two messages from a file:

           String[] configKeys = {configPrefix + "_firstMessage", configPrefix + "_secondMessage"};
           if (!modClass.loadMessages(configPrefix, "_file", configKeys))
           {
                  throw new BotConfigurationException("Messages could not be loaded!");
           }
           String firstMessage = config.getValue(configKeys[0]);
           String secondMessage = config.getValue(configKeys[1]);

      Parameters:
        `configPrefix` - The config prefix from `HandleBotEvents.initClass(JTS3ServerMod_Interface, de.stefan1200.jts3serverquery.JTS3ServerQuery, String)`
        `configKey_Path` - The config suffix which contains the file path to the messages.
        `configValues` - A String array with the config key names, where the messages should be stored. Needs to be in the same order as in the messages file.
      Returns:
        Returns `false`, if anything was going wrong while loading the messages. More information are printed into the log file. `true` if everything was good or the MySQL mode is activated (in this case all messages are already loaded from the database).

    - #### removeChannelListEntry

          boolean removeChannelListEntry(int channelID)

      Removes a channellist entry of a single channel. Use this to update the channellist cache, if the JTS3ServerMod deletes a channel.
      Notice:
      Only the channellist cache will be updated. To delete a channel on the TS3 server, use the JTS3ServerQuery!
      Parameters:
        `channelID` - The channel id as int
      Returns:
        Returns `true`, if the channel was found and removed from the last received channellist, `false` if not.
      Since:
        6.1.3

    - #### removeClientListEntry

          boolean removeClientListEntry(int clientID)

      Removes a clientlist entry of a single client. Use this to update the clientlist cache, if the JTS3ServerMod kicks a client from the TS3 server.
      Notice:
      Only the clientlist cache will be updated. To kick a client from the TS3 server, use the JTS3ServerQuery!
      Parameters:
        `clientID` - The client id as int
      Returns:
        Returns `true`, if the client was found and removed from the last received clientlist, `false` if not.
      Since:
        6.1.3

    - #### replaceGlobalMessageVars

          String replaceGlobalMessageVars(String message)

      Replace the global message variables at the given string. You should check first, if the user enabled this feature.
      This is not needed, if you use the `sendMessageToClient(String, String, int, String)` method.
      Parameters:
        `message` - The message which might contain global message variables.
      Returns:
        The message with the global message variables replaced
      See Also:
        `isGlobalMessageVarsEnabled()`

    - #### sendMessageToClient

          boolean sendMessageToClient(String configPrefix,
                                      String mode,
                                      int clientID,
                                      String message)

      Send a chat or poke message to a client. If enabled, global message variables will be replaced automatically. Also the message split sequence `§+§` will be parsed automatically and will send multiple messages to the client.
      Parameters:
        `configPrefix` - The config prefix from `HandleBotEvents.initClass(JTS3ServerMod_Interface, de.stefan1200.jts3serverquery.JTS3ServerQuery, String)`
        `mode` - `chat` or `poke` is possible here.
        `clientID` - The client id of the target client.
        `message` - The message as string.
      Returns:
        Returns `false`, if anything was going wrong while sending the messages to the client. More information are printed into the log file. `true` if everything was good.

    - #### setChannelName

          boolean setChannelName(int channelID,
                                 String newName)

      Set a new channel name in the channellist cache entry of a single channel. Use this to update the channellist cache, if the JTS3ServerMod renames a channel.
      Notice:
      Only the channellist cache will be updated. To rename a channel on the TS3 server, use the JTS3ServerQuery!
      Parameters:
        `channelID` - The channel id as int
        `newName` - The new channel name as String
      Returns:
        Returns `true`, if the channel was found and the name was changed successfully, `false` if not.
      Since:
        6.1.3

    - #### unloadFunction

          void unloadFunction(Object c)

      Use this to unload a function. Normally used to unload the own object, so you can simple use `unloadFunction(this)` within the own class.
      Parameters:
        `c` - The class of the function.