Socket
Socket
Sign inDemoInstall

node-ts

Package Overview
Dependencies
3
Maintainers
1
Versions
55
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    node-ts

TeamSpeak® 3 Server Query client for node.js implemented using TypeScript


Version published
Maintainers
1
Install size
4.56 MB
Created

Readme

Source

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).

Keywords

FAQs

Last updated on 26 May 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc