Created
August 25, 2012 10:59
-
-
Save aldehir/3463717 to your computer and use it in GitHub Desktop.
TS3ServerQuery Examples
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package net.visualcoding.ts3serverquery.example; | |
| import net.visualcoding.ts3serverquery.TS3ServerQueryClient; | |
| import net.visualcoding.ts3serverquery.TS3Result; | |
| import net.visualcoding.ts3serverquery.TS3Map; | |
| public class ClientListExample { | |
| public static void main(String[] args) throws Exception { | |
| if(args.length < 4) { | |
| System.err.println("Usage: java ClientListExample <host> <port> " + | |
| "<username> <password"); | |
| System.exit(1); | |
| } | |
| // Instantiate a client object | |
| TS3ServerQueryClient client = new TS3ServerQueryClient(args[0], | |
| Integer.parseInt(args[1])); | |
| // Connect to the server | |
| client.connect(); | |
| // Build a map for the arguments to our login command | |
| TS3Map arguments = new TS3Map(); | |
| arguments.add("client_login_name", args[2]); | |
| arguments.add("client_login_password", args[3]); | |
| // Execute the login command | |
| TS3Result result = client.execute("login", arguments); | |
| // Check if we were able to successfully log in | |
| if(result.hasError()) { | |
| System.err.println("Login failed"); | |
| System.exit(2); | |
| } else { | |
| System.out.println("Login successful"); | |
| } | |
| // Switch over to virtual server 1 | |
| result = client.execute("use sid=1"); | |
| // Issue the clientinfo command to get all the clients in the server | |
| result = client.execute("clientlist"); | |
| // Output the results | |
| System.out.println(result); | |
| // Disconnect from the client and terminate program | |
| client.disconnect(); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package net.visualcoding.ts3serverquery.example; | |
| import net.visualcoding.ts3serverquery.TS3Map; | |
| import net.visualcoding.ts3serverquery.TS3Result; | |
| import net.visualcoding.ts3serverquery.TS3EventListener; | |
| import net.visualcoding.ts3serverquery.TS3ServerQueryClient; | |
| import net.visualcoding.ts3serverquery.event.TS3MessageEvent; | |
| import net.visualcoding.ts3serverquery.event.TS3ClientMovedEvent; | |
| import net.visualcoding.ts3serverquery.event.TS3ClientConnectedEvent; | |
| import net.visualcoding.ts3serverquery.event.TS3ClientDisconnectedEvent; | |
| public class EventListenerExample { | |
| public static void main(String[] args) throws Exception { | |
| if(args.length < 4) { | |
| System.err.println("Usage: java EventListenerExample <host> <port> " | |
| + "<username> <password"); | |
| System.exit(1); | |
| } | |
| // Instantiate a client object | |
| final TS3ServerQueryClient client = new TS3ServerQueryClient(args[0], | |
| Integer.parseInt(args[1])); | |
| // Connect to the server | |
| client.connect(); | |
| // Log in | |
| TS3Result result = client.execute("login " + args[2] + " " + args[3]); | |
| if(result.hasError()) { | |
| System.out.println("Login failed"); | |
| System.exit(2); | |
| } else { | |
| System.out.println("Login successful"); | |
| } | |
| // Connect to virtual server 1 | |
| client.execute("use sid=1"); | |
| // Add in our custom event listener | |
| client.addEventListener(new EventListener()); | |
| // Register client for notifications | |
| if(client.registerNotifications()) { | |
| System.out.println("Registered for notifications"); | |
| } | |
| // Add a shutdown hook so we gracefully disconnect from the server | |
| Runtime.getRuntime().addShutdownHook(new Thread() { | |
| public void run() { | |
| try { | |
| client.disconnect(); | |
| System.out.println("Disconnected from server"); | |
| } catch(Exception e) { } | |
| } | |
| }); | |
| } | |
| private static class EventListener implements TS3EventListener { | |
| public void onClientConnected(TS3ClientConnectedEvent event) { | |
| System.out.println("Client connected: " + event.getClientName()); | |
| } | |
| public void onClientDisconnected(TS3ClientDisconnectedEvent event) { | |
| System.out.println("Client disconnected: " + event.getClientName()); | |
| } | |
| public void onClientMoved(TS3ClientMovedEvent event) { | |
| System.out.println("Client moved: " + event.getClientName()); | |
| } | |
| public void onMessage(TS3MessageEvent event) { | |
| switch(event.getMode()) { | |
| case Server: | |
| System.out.println("Server message: " + event.getMessage()); | |
| break; | |
| case Channel: | |
| System.out.println("Channel message: " + event.getMessage()); | |
| break; | |
| case Private: | |
| System.out.println("Private message from " + | |
| event.getClientName() + ": " + event.getMessage()); | |
| break; | |
| default: | |
| // what? | |
| } | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment