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.
Integriert verschiedene GitHub-Funktionalitäten ins Forum und synchronisiert diese zwischen Forum und GitHub.
API für Steam
Steam bietet eine große Auswahl an Möglichkeiten, was Entwickler mit deren API alles anstellen können. Login via Steam ist dabei nur eine Sache. Es geht noch viel mehr. Aus diesem Grund habe ich die Steam-API für das WSC entwickelt. Diese Erweiterung unterstützt alle API-Anfragen, wofür ihr kein Steam-Partner sein müsst.
Dafür benötigst ihr zuerst einmal einen Steam-Account. Dieser kann kostenlos erstellt werden. Danach geht ihr auf folgende Seite und könnt einen API-Key registrieren: https://steamcommunity.com/dev/apikey
Füge dev.hanashi.wsc.steam-api mit Mindest-Version 1.0.0 als Abhängigkeit in deiner package.xml ein.
Nun kannst du API-Funktionen aufrufen. Jede Funktion wird wie folgt ausgeführt:
\wcf\system\steam\SteamAPI::execute($interface, $method, $version, $data);
Wir wollen beispielsweise die News für ein Spiel abrufen. Dafür führen wir folgenden Code aus:
\wcf\system\steam\SteamAPI::execute('ISteamNews', 'GetNewsForApp', 2, ['appid' => 440]);
Als Rückgabe bekommen wir nun die letzten News für das Spiel mit der ID 440.
Es gibt auch Befehle die keine Parameter entgegen nehmen. Dabei wird $data einfach weggelassen:
\wcf\system\steam\SteamAPI::execute('ISteamWebAPIUtil', 'GetSupportedAPIList', 1);
In der API wurden weitere optionale Parameter implementiert. Schaue dir dazu die Methode wcf\system\steam\SteamAPI::execute an.
Im Falle eines Fehlers wird eine Exception vom Typ wcf\system\exception\SteamException geworfen.
Zuerst benötigst du die OpenID-URL für Steam. Diese kannst du wie folgt generieren lassen:
\wcf\system\steam\SteamAPI::getOpenIDUrl($redirectUri, $realm);
$redirectUri ist die URL wo Steam den Benutzer hinleiten soll, nachdem er seinen Account auf der Steam-Seite bestätigt hat. Diese Seite muss im nächsten Schritt implementiert werden.
$realm ist die Domain mit Protokoll der Seite (z.B.: https://example.org).
Im nächsten Schritt muss die angegebene Redirect-URI implementiert werden. Dort reicht es folgende Methode auszuführen:
\wcf\system\steam\SteamAPI::validateOpenID();
Diese gibt die Steam-ID des Benutzers zurück. Danach kann diese für weitere Login-Versuche benutzt werden.
Die komplette Dokumentation ist hier zu finden: https://tools.hanashi.dev/steam-api-doc/
Es wird nun mindestens WSC 5.5.14 vorausgesetzt.
API-Key war noch im Code *facepalm* (ja API-Key ist nun ungültig)
Kompatibilitätsproblem mit anderen Steam-Plugins behoben: