teamspeak.js
A fully typesafe and easy-to-use Node.js client for interacting with Teamspeak 3 servers via ServerQuery. 💡 Inspired by Discord.js, bringing a similar event-driven interface to TeamSpeak 3.
Installation
# Install with npm
npm install teamspeak3.js
# Or with yarn
yarn add teamspeak3.js
# Or with pnpm
pnpm add teamspeak3.js
Quick Start
import { Query } from 'teamspeak3.js';
const query = new Query({
host: '127.0.0.1',
port: 10011,
});
query.on('ready', async () => {
console.log('Connected to TeamSpeak server!');
await query.login('serveradmin', 'p4ssw0rd');
await query.useVirtualServer(1);
await query.notifications.subscribeAll();
// Fetch all clients
const clients = await query.clients.fetch();
console.log('There are currently', clients.size, 'clients');
// Create a new permanent channel
const channel = await query.channels.create({
name: 'New Channel',
type: 'permanent'
});
});
// Event handling
query.on('ChannelCreate', (channel) => {
console.log('Channel created:', channel);
});
query.on('TextMessage', (message) => {
console.log('Message:', message.content);
});
query.connect();
Features
TypeScript First
Built from the ground up with TypeScript for excellent developer experience and type safety.
Modern API
Clean, intuitive API design inspired by discord.js with Promise-based methods and event handling.
Server Management
Comprehensive server administration tools for managing channels, users, and permissions.
Real-time Events
Listen to server events like user joins, channel changes, and message notifications.
Secure Connection
Secure ServerQuery connections with proper authentication and error handling.
Documentation
Comprehensive documentation and examples coming soon to help you get started quickly.
Coming Soon
teamspeak3.js is actively being developed. Proper documentation, more examples, and additional features are on the way. Star the repository to stay updated on our progress!