API PHP-Class für Teamspeak 3 MusikBot (SinusBot)
Sie können den SinusBot (früher auch SoundBoard), ein Musikbot für den eigenen TeamSpeak 3 Server, auch über die eigene Webseite steuern und verwalten. Wir stellen eine API PHP-Class bereit, mit der sich auch die MusikBots von TS3index.com steuern lassen.
Mit der PHP-Class können auch andere Informationen ausgelesen werden. Somit ist es nun möglich über PHP eine Anzeige mit dem aktuellen Status einer Instanz sowie den aktuellen Titel des gespielten Tracks oder Sreams auf der eigenen Homepage anzuzeigen zu lassen.
Beispiele
Eine Verbindung mit dem Server aufbauen
1 2 3 |
include("sinusbot.class.php"); $sinusbot = new SinusBot("http://srvXX.ts3index.com:8087", "BOTUUID"); // URL zum Webinterface sowie BOT-ID, alle Angaben sind im Kundencenter zu finden $sinusbot->login("admin", "*******"); // Login-Name und Passwort zum Webinterface |
Aktuellen Titel und Artist der Instanzen abfragen uns anzeigen
1 2 3 4 5 6 7 8 9 |
$instances = $sinusbot->getInstances(); // Alle Instanzen for ($i = 0; $i < count($instances); $i++) { $status = $sinusbot->getStatus($instances[$i]['uuid']); if ($status['playing']) { echo $instances[$i]["nick"].' spielt '.(($status["currentTrack"]["type"] == "url") ? $status["currentTrack"]["tempTitle"] : $status["currentTrack"]["title"]).' von '.(($status["currentTrack"]["type"] == "url") ? $status["currentTrack"]["tempArtist"] : $status["currentTrack"]["artist"]).'<br>'; } else { echo $instances[$i]["nick"].' ist gestoppt.<br>'; } } |
Liste der hochgeladenen Titel/Tracks
1 2 3 4 5 |
$files = $sinusbot->getFiles(); // Alle Dateien abfragen for ($i = 0; $i < count($files); $i++) { // Liste ausgeben echo $files[$i]['uuid'].': '.$files[$i]['artist'].' - '.$files[$i]['title'].' ('.$files[$i]['album'].')<br>'; } |
Weitere Aktionen
Der Parameter $instanceUUID ist optional für jede Funktion. Wenn Sie den Parameter entfernen, müssen Sie die Instanz zuvor mit der Funktion selectInstance() auswählen.
1 2 3 4 5 6 7 8 9 |
$sinusbot->selectInstance("INSTANCEUUID"); // Instanz auswählen $sinusbot->play("TRACK-UUID", "INSTANCEUUID"); // Abspielen eines Tracks per UUID $sinusbot->playPrevious("INSTANCEUUID"); // Vorherige Lied abspielen $sinusbot->playNext("INSTANCEUUID"); // Nächstes Lied abspielen $sinusbot->playRepeat(1, "INSTANCEUUID"); // Repeat bei Playlist $sinusbot->playShuffle(1, "INSTANCEUUID"); // Shuffle bei Playlist $sinusbot->stop("INSTANCEUUID"); // Wiedergabe stoppen $sinusbot->setVolume(50, "INSTANCEUUID"); // Lautstaerke anpassen |
Download/Upload Track per URL (YouTube, Direktfiles wie MP3-Dateien, …)
1 |
$sinusbot->addJob("https://www.youtube.com/watch?v=xrWYL4sHpuM"); |
Einstellungen der Instanz verändern
1 2 3 4 |
$daten = array(); $daten["nick"] = "Neuer Nickname"; $daten["serverHost"] = "127.0.0.1"; $sinusbot->editSettings($daten, "INSTANCEUUID"); |