[C#] Wie wird der TeamSpeak channel sortiert

  • Moin,


    Ich möchte mit der ServerQuery einen TeamSpeak Viewer machen, meine Frage leutet nun wie sortiert TeamSpeak die channels?

    Könnte man vielleicht ein beispiel C#-Code erhalten.


    Grüße.

  • Hallo Leo,


    ich kann dir gerade leider nicht sagen, wie die Logik ist, damit man die Channels entsprechend wie im TeamSpeak darstellen kann, wenn man die Liste der Channels abfragt.


    Um aber vielleicht etwas Zeit und Aufwand zu sparen: Das TeamSpeak 3 PHP Framework (TS3PHPFramework) bietet eine sehr einfache Funktion, um einen TS3 Viewer zu erstellen:

    PHP
    1. // load framework files
    2. require_once("libraries/TeamSpeak3/TeamSpeak3.php");
    3. // connect to local server, authenticate and spawn an object for the virtual server on port 9987
    4. $ts3_VirtualServer = TeamSpeak3::factory("serverquery://username:password@127.0.0.1:10011/?server_port=9987");
    5. // build and display HTML treeview using custom image paths (remote icons will be embedded using data URI sheme)
    6. echo $ts3_VirtualServer->getViewer(new TeamSpeak3_Viewer_Html("images/viewericons/", "images/countryflags/", "data:image"));

    Diesen kann man bei Bedarf auch nach belieben anpassen (customizen).

  • Sebbo

    Changed the title of the thread from “Wie wird der TeamSpeak channel sortiert” to “[C#] Wie wird der TeamSpeak channel sortiert”.
  • Also... du kannst die Channels systematisch aufstellen lassen.

    Jeder Channel hat eine pid und cid und order_channel.

    Du kannst die channels vom Main-channel (dein server meistens cid = 0) nach unten aufbauen lassen.

  • Hallo LeoLeo,


    wie schon von anderen hier erwähnt wurde, gibt dir der Query-Befehl "channellist" eine Liste aller Channel inkl. der jeweiligen cid (ChannelID) und pid (ParentID = ID des Elternchannels) zurück.

    Anhand dieser Daten kannst du bspw. per Rekursion ein Array generieren, dass der Channelstruktur, wie du sie auf dem Teamspeak Server siehst, ähnelt.

    Leider habe ich keine Ahnung von C# aber vielleicht hilft dir das Beispiel auf dieser Webseite weiter. Es handelt sich dabei allerdings um Javascript Code.