TeamSpeak-3-Java-API

A Java 7 implementation of TeamSpeak's 3 server query API.

TeamSpeak 3 Java API

Build Status Gitter

A Java 7 implementation of the TeamSpeak 3 Server Query API.

Features

Getting Started

Download

  • Option 1 (Standalone Jar):

Download the latest release and add it to the buildpath of your project. (sources-jar | javadoc-jar)

  • Option 2 (Maven):

Add the following to your pom.xml

<project>

	<!-- other settings -->

	<repositories>
		<repository>
			<id>TeamSpeak-3-Java-API-mvn-repo</id>
			<url>https://raw.githubusercontent.com/TheHolyWaffle/TeamSpeak-3-Java-API/mvn-repo/</url>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</snapshots>
		</repository>
	</repositories>

	<dependencies>
		<dependency>
			<groupId>com.github.theholywaffle</groupId>
			<artifactId>teamspeak3-api</artifactId>
			<version>[1.0.0,2.0.0)</version>
		</dependency>
	</dependencies>

</project>

Usage

All functionality is contained in the TS3Api object.

  1. Create a TS3Config object and customize it.
  2. Create a TS3Query object with your TS3Config as argument.
  3. Call TS3Query#connect() to connect to the server.
  4. Call TS3Query#getApi() to get an TS3Api object.
  5. Do whatever you want with this api :)

Example

final TS3Config config = new TS3Config();
config.setHost("77.77.77.77");
config.setDebugLevel(Level.ALL);

final TS3Query query = new TS3Query(config);
query.connect();

final TS3Api api = query.getApi();
api.login("serveradmin", "serveradminpassword");
api.selectVirtualServerById(1);
api.setNickname("PutPutBot");
api.sendChannelMessage("PutPutBot is online!");
...

More examples

here

Javadocs

here

Important

Only use FloodRate.UNLIMITED if you are sure that your query account is whitelisted. If not, use FloodRate.DEFAULT. The server will temporarily ban your account if you send too many commands in a short period of time. For more info on this, check the TeamSpeak 3 Server Query Manual, page 6.

TS3Config Settings

Option Description Default value Required
Host/IP IP/Host of TeamSpeak 3 server. yes
QueryPort Query port of TeamSpeak 3 server. 10011 no
FloodRate Prevents possible spam to the server. FloodRate.DEFAULT no
DebugLevel Determines how much will be logged. Level.WARNING no
Debug to file Write logs to logfile (teamspeak.log). False no
Command timeout Time until a command waiting for a response fails 4000 (ms) no

Building this project

We’re using Maven to automate the build process.

Prerequisites:
Compiling:
  • Check out this repository
  • Run mvn clean install in the project directory

This will create 3 JAR files in the target directory: The compiled project, the sources, and the javadocs.

TODO

  • Add Javadoc to core API and wrapper classes.

Questions or bugs?

Please let us know here. We’ll try to help you as soon as we can.

If you just have a simple question or want to talk to us about something else, feel free to join the repository chat on Gitter.

Related Repositories

TeamSpeak-3-Java-API

TeamSpeak-3-Java-API

A Java 7 implementation of TeamSpeak's 3 server query API. ...