Twitch-Login
Diese Erweiterung ergänzt den Login mit Twitch.
Diese Erweiterung ergänzt den Login mit Twitch.
Dieses Plugin ermöglicht die Synchronisierung von Benutzergruppen zwischen der WoltLab Suite und deinem Discord Server.
Dieses Plugin ermöglicht die Synchronisierung von Benutzergruppen und Channelgruppen zwischen der WoltLab Suite und deinem TeamSpeak-Server.
Dieses Plugin dient als Schnittstelle zwischen weiteren Plugins und Ihrem TeamSpeak-Server. Dieses Plugin ist vor allem für Entwickler relevant. Es kann allerdings auch als Basis-Plugin für andere Plugins dienen.
Es können verschiedenen Server-Verbindungen eingestellt werden, auf diese dann von anderen Plugins zugegriffen werden können.
Füge die Abhängigkeit zu diesem Plugin in deiner package.xml ein:
<requiredpackage minversion="1.5.2">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!']);
}
}
Alles anzeigen
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!']);
Alles anzeigen
Fehlerbehebung
Verbesserungen
Fehlerbehebung
Achtung: Es wird nun mindestens WoltLab Suite 5.3 vorausgesetzt.
FIX: Deprecated PHP 7.4 function
Mit SSH wurde fälschlicherweise eine ErrorException anstatt einer TeamSpeakException ausgegeben
Verbesserte Ausgabe bei Fehlern zum Besseren Debugging.