Es können verschiedenen Server-Verbindungen eingestellt werden, auf diese dann von anderen Plugins zugegriffen werden können.
Unterstützt RAW, SSH, HTTP und HTTPS-Querys.
Information für WoltLab-Cloud-Kunden
Support
Support gibt es in meinem Supportforum oder auf meinem Discord-Server.
Fragen und Antworten
Wie erstelle ich eine neue Verbindung?
Gehe ins ACP -> Konfiguration -> TeamSpeak -> Server -> TeamSpeak-Server hinzufügen.
Wie kann ich die API in meinem Plugin implementieren?
Füge die Abhängigkeit zu diesem Plugin in deiner package.xml ein:
<requiredpackage minversion="3.0.1">eu.hanashi.wsc.teamspeak-api</requiredpackage>
Lass deine Nutzer die Serververbindung im ACP mit Hilfe der option.xml auswählen:
<option name="my_plugin_teamspeak_identity">
<categoryname>my_category</categoryname>
<optiontype>TeamSpeakConnectionSelect</optiontype>
</option>
Den Namen (im Beispiel my_plugin_teamspeak_identity) und die richtige Kategorie (im Beispiel my_category) musst du natürlich selbst wählen.
Nun erstellst du eine PHP-Klasse im Verzeichnis lib/system/teamspeak welche die Klasse AbstractTeamSpeakHandler erbt:
<?php
namespace wcf\system\teamspeak;
class MyPluginTeamSpeakHandler extends AbstractTeamSpeakHandler {
protected $teamspeakID = MY_PLUGIN_TEAMSPEAK_IDENTITIY;
}
Den Datei- und Klassennamen darfst du natürlich selbst wählen. Vergiss dabei nicht die richtige Konstante anstatt MY_PLUGIN_TEAMSPEAK_IDENTITIY einzusetzen.
Nun kannst du in anderen Klassen auf die TeamSpeak-API zugreifen. Hier ein Beispiel in einer Action-Klasse:
<?php
namespace wcf\action;
use wcf\system\teamspeak\MyPluginTeamSpeakHandler;
class MyAction extends AbstractAction {
public function execute() {
parent::execute();
// TeamSpeak-Befehl: serverlist
$serverlist = MyPluginTeamSpeakHandler::getInstance()->serverlist();
// TeamSpeak-Befehl: clientlist -uid -country
$clientlist = MyPluginTeamSpeakHandler::getInstance()->clientlist(['-uid', '-country']);
// TeamSpeak-Befehl: sendtextmessage targetmode=1 target=1 msg=Hello\sWorld!
MyPluginTeamSpeakHandler::getInstance()->sendtextmessage(['targetmode' => 1, 'target' => 1, 'msg' => 'Hello World!']);
}
}
Display More
Wie führe ich einen TeamSpeak-Befehl aus?
Der TeamSpeak-Befehl ist immer gleich der Methode. Die Parameter werden als Array an die Parameter übergeben. Hier einige Beispiele:
<?php
use wcf\system\teamspeak\MyPluginTeamSpeakHandler;
// TemSpeak-Befehl: serverlist
MyPluginTeamSpeakHandler::getInstance()->serverlist();
// TemSpeak-Befehl: clientlist -uid -away -groups
MyPluginTeamSpeakHandler::getInstance()->clientlist(['-uid', '-away', '-groups']);
// TemSpeak-Befehl: clientdbfind pattern=Hanashi
MyPluginTeamSpeakHandler::getInstance()->clientdbfind(['pattern' => 'Hanashi']);
// TemSpeak-Befehl: clientdbfind pattern=FPMPSC6MXqXq751dX7BKV0JniSo= -uid
MyPluginTeamSpeakHandler::getInstance()->clientdbfind(['pattern' => 'FPMPSC6MXqXq751dX7BKV0JniSo=', '-uid']);
// TemSpeak-Befehl: sendtextmessage targetmode=2 target=12 msg=Hello\sWorld!
MyPluginTeamSpeakHandler::getInstance()->sendtextmessage(['targetmode' => 2, 'target' => 12, 'msg' => 'Hello World!']);
Display More
-
Version 3.0.2
- Hanashi
- 2.42 MB
- 5 Downloads
Fehlerbehebung
- behebt die Sicherheitslücke CVE-2023-27560 in phpseclib
-
Version 3.0.1
- Hanashi
- 385.28 kB
- 8 Downloads
Verbesserungen
- Codestyle-Anpassungen
- Primary Key in Install-Script hinzugefügt
- TypeScript Formatierung (siehe Repository)
- phpseclib aktualisiert
- XML-Stil vereinheitlicht
- Template-Formatierung vereinheitlicht
Fehlerbehebung
- im ACP Menü war eine falsche Seite zum Anlegen eines TeamSpeak-Servers verlinkt
-
Version 3.0.0
- Hanashi
- 370.59 kB
- 97 Downloads
Achtung: Es wird nun mindestens WoltLab Suite 5.3 vorausgesetzt.
- CHANGE: Umstellung auf Database PHP API
- CHANGE: Umstellung auf FormBuilder
- CHANGE: ungenutzte uses entfernt
- CHANGE: Umstellung auf GuzzleHttp für HTTP/HTTPS-Query
- CHANGE: Umstellung des JavaScript-Codes auf TypeScript
- CHANGE: phpseclib2 auf phpseclib3 aktualisiert
- FEATURE: Query-Passwort wird beim Bearbeiten des Servers im ACP nicht mehr ausgegeben
- FEATURE: bessere Auswahl der TeamSpeak-Server
- FEATURE: bessere Fehlerausgabe wenn Server nicht angelegt werden kann
-
Version 2.1.1
- Hanashi
- 252.03 kB
- 5 Downloads
- CHANGE: Umstellung auf PSR-12
-
Version 2.1.0
- Hanashi
- 252.36 kB
- 131 Downloads
- FIX: Parameter bei HTTP/HTTPS-Query wurden falsch übergeben
- FIX: Infinite Loop
- FEATURE: Voraussetzungen für multiplen Server Select eingebaut
-
Version 2.0.0
- Hanashi
- 251.32 kB
- 13 Downloads
- FEATURE: die Nutzung von HTTP- und HTTPS-Server-Querys ist nun möglich
- CHANGE: Rohe Rückgaben beim execute wurden entfernt
- CHANGE: Code-Optimierungen
-
Version 1.5.7
- Hanashi
- 1.38 MB
- 72 Downloads
FIX: Deprecated PHP 7.4 function
-
Version 1.5.6
- Hanashi
- 249.68 kB
- 27 Downloads
Verbesserte Ausgabe bei Fehlern zum Besseren Debugging.
Mit SSH wurde fälschlicherweise eine ErrorException anstatt einer TeamSpeakException ausgegeben.
-
Version 1.5.4
- Hanashi
- 251.24 kB
- 211 Downloads
- CHANGE; Umstellung auf MEDIUMINT damit höhere Ports verwendet werden können
-
Version 1.5.3
- Hanashi
- 249.74 kB
- 25 Downloads
- FIX: Behebt Fehlermeldung wenn keine Verbindung zum TS-Server aufgebaut werden konnte
Ivan.K
In der Übersicht steht "Support gibt es in mein Supportforum" Der link dazu ist Broken.
Könnte der Entwickler dies bitte beheben Danke
Hanashi Author
Hallo,
vielen Dank für die Info. Notfalls steht die Webseite auch rechts in der Sidebar: https://hanashi.dev
Die Links werde ich zeitnah korrigieren.
Ivan.K
Danke dir
Ivan.K
Trotzdem mal ne Frage.
Ich muss TS API ganz normal installieren und das das TeamSpeak Sync dan dann Funktioniert das Ja.
Ich habe die Aktuelle Version und PHP 7.2
Weil ich habe die andere Version von Teamspeak Sync aber der Support ist für Arsch.
Ich frage voher will nicht wieder Geld in den sand setzten weil ich gerne so was haben möchte
Hanashi Author
Hallo,
TeamSpeak-Sync liefert die API direkt mit. Du kannst sie also vorher manuell installieren oder mit TeamSpeak-Sync automatisch mit installieren. Natürlich muss das Plugin danach noch entsprechend konfiguriert werden. Mehr dazu findest bei mir im FAQ unter TeamSpeak (das FAQ ist auch ohne Registrierung aufrufbar).
TeamSpeak-Sync läuft auf WoltLab Suite 5.3 und höher. Als PHP Version würde ich mindestens PHP 7.4 empfehlen (noch besser PHP 8.0 oder höher). PHP 7.2 erhält aktuell keine Sicherheitsupdates mehr, mehr dazu findest du hier: https://www.php.net/supported-versions.php
Ich persönlich unterstütze nur noch PHP 7.4+ und ab November nur noch PHP 8.0+
Ivan.K
Aha Never Mind hab die Version PHP Version 7.4.28
SeraphLP
Sehr geiles Plugin
Ich habe nur ein einziges Problem:
Die User werden zwar synchronisiert, jedoch wenn sie auf dem Teamspeak reconnecten dann sind die nicht mehr synchronisiert.
Hanashi Author
Hallo, die API synchronisiert nichts. Sie ist lediglich eine Schnittstelle für Entwickler.
Eisengrind
Kleine Idee für Entwickler:
Ein TS Bot der, wenn etwas in eine bestimmtes Forum gepostet wurde, daraufhin Member eine bestimmte TS Gruppe via Chat anschreibt, mit folgendem Inhalt:
Titel,
Anfangsteil des Inhalts und
Link zum Posting.
Quasi ein Notify Funktion für TS3.
Hanashi Author
Sowas ähnliches ist geplant, insofern TS5 global Chats bekommt. Dann wollte ich das wie beim Discord-Sync machen, dass neue Forenbeiträge in einen globalen Chat gepostet werden. Aber erstmal abwarten