TeamSpeak 3 NodeJS Library
Ich möchte euch hier ein TeamSpeak Projekt von mir Vorstellen, es handelt sich hierbei um ein TeamSpeak Query Framework für NodeJS.
Dadurch dass ich über das TeamSpeak PHP Framework von PlanetTeamSpeak
Als Vorwort noch, das ist mein erstes Öffentliches NodeJS Projekt welches ich über GitHub veröffentlich habe (meine GIT Kentnisse sind nicht wirklich die besten) sowie überhaupt mein erstes größeres NodeJS Projekt,
für den Anfang nicht all zu kritisch sein wenn noch nicht alles ES6 Konform ist
Minimal Vorraussetzung zur Nutzung der Library wäre NodeJS 8.x
Zum GitHub Repository gehts hier lang.
Auf NPM ist das Projekt noch nicht zu finden, da lasse ich mir besser noch ein wenig Zeit bis wirklich alles passt
Hier ein wenig Beispiel Code.
const TeamSpeak3 = require(__dirname+"/ts3lib/TeamSpeak3")
// Create a TeamSpeak Connection all Connection Parameters can be found here:
// https://github.com/Multivit4min/TS3-NodeJS-Library/blob/master/docs/TeamSpeak3.md#new-teamspeak3config
var ts3 = new TeamSpeak3({
host: "localhost",
queryport: 10011,
serverport: 9987,
username: "serveradmin",
password: "",
nickname: "NodeJS Query Framework",
antispam: true,
antispamtimer: 350,
keepalive: true
})
// clientconnect event gets fired when a new Client joins the TeamSpeak Server
ts3.on("clientconnect", event => {
//Greets the Client
event.client.message("Hello!")
//the getCache() method retrieves the Data from the last clientList command
console.log(event.client.getCache().client_nickname, "joined the Server!")
})
/*
Event gets fired when Socket has been created and
all Commands which are needed for preparation has been finnished
(server select, Query Nickname set, login etc)
*/
ts3.on("ready", () => {
//Retrieve a List with all Clients which are client_type 0 (non Query Clients)
ts3.clientList({client_type:0})
.then(clients => {
//Iterate over each Client
clients.forEach(client => {
console.log("Sending Message to", client.getCache().client_nickname)
//Sends a normal text message to the Client
client.message("Hello!")
}
})
.catch(e => console.log("CATCHED", e))
})
ts3.on("error", e => console.log("Error", e))
ts3.on("close", e => console.log("Connection has been closed!", e))
Alles anzeigen
Die meisten TeamSpeak Query Commands sind bereits eingebaut, derzeit bin ich noch dran die Dokumentation zu verbessern sowie den FileTransfer zu vervollständigen,
dadurch dass ich keine TeamSpeak Lizenz besitze kann ich auch einige Sachen noch nicht wirklich testen.
Die Dokumentation der Events stehen noch offen, ziemlich sicher werden auch noch einige events überarbeitet
Für Vorschläge, Verbesserungsvorschläge und/oder Kritik bin ich jederzeit offen