6.0.1 • Published 11 months ago

node-ts v6.0.1

Weekly downloads
4,048
License
LGPL-3.0
Repository
github
Last release
11 months ago

node-ts Build Status npm version Dependency Status License Downloads Per Month

This is a CommonJS module which allows you to connect to any TeamSpeak® 3 server which has the Server Query API enabled. Using the Server Query API, you can do everything a normal TeamSpeak user can do (except sending and receiving voice data) automatically via JavaScript/TypeScript (e. g. listing clients logged in on the server).

The Server Query specification is available here. I also created a script to import the complete query API from a TeamSpeak 3 server using the help command. This (json) dump will later be used to auto genrate some stuff. It is available as Gist here.

This is a fork of gwTumm's node-teamspeak which has been ported from JS to TS.

Install

npm install -S node-ts # install package

Example Usage

After registering a Server Query account using your TeamSpeak Client, you can login using node-ts (Alternatively, you can login as the root account "ServerAdmin" which is created during the installation of the server). The following code prints out a JSON-array containing all clients that are currently connected to the first virtual server:

import { TeamSpeakClient } from "node-ts";
// Node.js without ES Modules:
// const { TeamSpeakClient } = require("node-ts");

async function main() {
	const client = new TeamSpeakClient("server.example.com");

	try {
		await client.connect();

		await client.send("use", { sid: 1 });

		const me = await client.send("whoami");
		console.log(me);

		// Log in to use more features
		await client.send("login", {
			client_login_name: "##USERNAME##",
			client_login_password: "##PASSWORD##"
		});

		const clientList = await client.send("clientlist");
		console.log(clientList);

		await client.subscribePrivateTextEvents(); // Tell the server we want to receive private text events

		// Register a callback for these events
		client.on("textmessage", data => {
			console.log(`Message received: ${data.msg}`);
		});

	} catch (err) {
		console.error("An error occurred:")
		console.error(err);
	}
}
main();

Usage information

  • TeamSpeakClient.send is the main method that executes a command. An array with options and an object with parameters can be passed to the send-function. The function returns a Promise. See the TypeScript file for more information.
  • Every TeamSpeakClient instance is an EventEmitter. You can install listeners to the "close" and "error" event. The error-event will only be fired if there was socket-error, not if a sent command failed.
  • If you want to register to notifications sent by the TeamSpeak-Server, you can send a normal command servernotifyregister (consider specification). Any event sent by the server that starts with "notify" is then fired as an event (e. g. as soon as a notifyclientmove notification is sent by the server, the TeamSpeakClient-instance fires the "clientmove" event with only one parameter which is an object containing the given parameters).
6.0.1

11 months ago

6.0.0

1 year ago

5.1.2

3 years ago

5.1.1

4 years ago

5.1.0

4 years ago

5.0.9

4 years ago

5.0.8

4 years ago

5.0.7

4 years ago

5.0.6

4 years ago

5.0.5

4 years ago

5.0.4

4 years ago

5.0.3

4 years ago

5.0.2

5 years ago

5.0.1

5 years ago

5.0.0

5 years ago

4.0.1

5 years ago

4.0.0

5 years ago

3.0.7

5 years ago

3.0.6

5 years ago

3.0.5

5 years ago

3.0.4

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.1

5 years ago

2.1.2

8 years ago

2.1.1

8 years ago

2.1.0

8 years ago

2.0.0

8 years ago

1.2.3

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.18

10 years ago

1.0.17

10 years ago

1.0.16

10 years ago

1.0.15

10 years ago

1.0.14

10 years ago

1.0.13

10 years ago

1.0.12

10 years ago

1.0.11

10 years ago

1.0.10

10 years ago

1.0.9-beta

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago