This Library allows you to connect to a TeamSpeak 3 Server Query
Notice: This is a Library which may be required by other Scripts! This is not a standalone Script!
FOR ALL WHO INSTALL THIS LIBRARY
To be able to use the Script the User needs to alter the config.ini and add this 2 lines:
For Developers:
After loading the ServerQuery with
You need to instance it first with
The constructor of ServerQuery expects one object as an argument
host -> the teamspeak server host ip, default value if empty is "127.0.0.1"
port -> the teamspeak query telnet port, default value if empty is 10011
net -> fully optional to load the net module from a different script
you can subscribe to events with
Events you can subscribe to are
connect -> gets fired when the connection to the TCP Socket was successfull
close -> gets fired when the connection to the TeamSpeak gets closed
error -> when something bad happens
notify -> gets called when you receive a TeamSpeak Event
to send a query command you can call the
it takes multiple arguments in a non specific order:
string -> the command which should be sent
object -> object with keys which will get escaped
array -> flags for example within the clientlist command
function -> the callback function
Notice: This is a Library which may be required by other Scripts! This is not a standalone Script!
FOR ALL WHO INSTALL THIS LIBRARY
To be able to use the Script the User needs to alter the config.ini and add this 2 lines:
Code:
[Scripts.Privileges]
ServerQuery = ["net"]
For Developers:
After loading the ServerQuery with
var ServerQuery = require("ServerQuery.js")
You need to instance it first with
var ts3 = new ServerQuery({host: "127.0.0.1", port: 10011})
The constructor of ServerQuery expects one object as an argument
host -> the teamspeak server host ip, default value if empty is "127.0.0.1"
port -> the teamspeak query telnet port, default value if empty is 10011
net -> fully optional to load the net module from a different script
you can subscribe to events with
ts3.on(event_name, function(ev) { ... })
Events you can subscribe to are
connect -> gets fired when the connection to the TCP Socket was successfull
close -> gets fired when the connection to the TeamSpeak gets closed
error -> when something bad happens
notify -> gets called when you receive a TeamSpeak Event
to send a query command you can call the
execute
functionit takes multiple arguments in a non specific order:
string -> the command which should be sent
object -> object with keys which will get escaped
{ msg: "Hello World!" }
will be sent like msg=Hello\sWorld!
array -> flags for example within the clientlist command
["-uid", "-away", "-country"]
function -> the callback function
JavaScript:
registerPlugin({
name: "Example Plugin for ServerQuery.js",
version: "1.0.0",
description: "Example Script to interact with a TeamSpeak Server Query",
author: "Multivitamin <[email protected]>",
vars: []
}, function() {
var engine = require("engine")
var event = require("event")
//wait for all scripts to finnish loading
event.on("load", function() {
//load the external library
var ServerQuery = require("ServerQuery.js")
//check if the Library has been loaded
if (typeof ServerQuery !== "function") return engine.log("This Script requires to have ServerQuery.js installed!")
//create a new instance of it
var ts3 = new ServerQuery({ host: "127.0.0.1", port: 10011 })
//event connect gets fired when the Query has successfully connected with the TeamSpeak Server
ts3.on("connect", function() {
engine.log("TS3 CONNECTED!")
//authenticate with the TeamSpeak Server
ts3.send("login", ["serveradmin", "qGH9i3rs"], function(err) {
if (err) return engine.log("Query Error: "+JSON.stringify(err))
//select a virtualserver
ts3.send("use", {port: 9987}, function(err) {
if (err) return engine.log("Query Error: "+JSON.stringify(err))
//send a whoami to get info about the own client
ts3.send("whoami", function(err, res) {
if (err) return engine.log("Query Error: "+JSON.stringify(err))
engine.log("TeamSpeak Logged in and selected Port 9987 and got a WhoAmI Response")
engine.log(res)
})
})
})
})
})
})