Discord-Push (Kalender)
Discord-Push (Kalender) ist eine Erweiterung für Discord. Beim Hinzufügen von neuen Termin kann automatisch eine Vorschau des Termins in Discord gepostet werden.
Discord-Push (Kalender) ist eine Erweiterung für Discord. Beim Hinzufügen von neuen Termin kann automatisch eine Vorschau des Termins in Discord gepostet werden.
Dieses Plugin ermöglicht die Synchronisierung von Benutzergruppen und Channelgruppen zwischen der WoltLab Suite und deinem TeamSpeak-Server.
Dieses Plugin kann automatisch Labels in einem Forum setzen. Dies ist sinnvoll um ein Ticket-System via Forum umzusetzen und das manuelle Zuordnen von Labels zu vermeiden.
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
Technische Änderungen
Diese Version setzt nun mindestens WSC 6.0.0 voraus.
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