Skip to content

Client API Oberfläche

ResonixNode(options)

Optionen:

SchlüsselTypBeschreibung
baseUrlstringServer Basis‑URL (z. B. http://localhost:2333).
versionstring?API Versionssegment (z. B. v0).
fetchfunction?Eigenes Fetch (Tests / Polyfill).
debugboolean?Zusätzliche Logs (Player, Frames).

Gemeinsamer REST Client (ResonixRest) wird intern genutzt.

ResonixManager(client, node)

Methoden:

  • join({ guildId, voiceChannelId, adapterCreator, selfDeaf? }) -> VoiceConnection
  • create(guildId, connection) -> ResonixPlayer (nutzt vorhandenen wieder)
  • get(guildId) -> existierender Player oder undefined
  • leave(guildId) / destroy(guildId) -> Entfernen / Aufräumen

ResonixPlayer

Eigenschaften:

  • id (interne Player ID = g<guildId>)
  • audioPlayer (Discord AudioPlayer Instanz)

Methoden:

  • play(uri: string) – Erstellt Backend Player (ID = g<guildId>), startet Stream.
  • pause() / resume() – Pausiert / setzt fort (Server + lokal).
  • setVolume(v: number) – Setzt serverseitigen Volume Filter.
  • destroy() – Schließt WebSocket, stoppt Audio, löscht Backend Player.

Interne Verhalten Highlights

  • Jedes play() zerstört ggf. vorhandenen Backend Player für einen einfachen Lifecycle.
  • WebSocket Frames (3840 Bytes) -> Readable -> Raw AudioResource.
  • Energie Heuristik für erste Frames (Sanity Check auf Audio).

Geplante Erweiterungen

  • Ereignisse (TrackStart, etc.) an Client weiterreichen.
  • Automatischer Reconnect mit Backoff.
  • Optionale lokale Queue Abstraktion.

Released under the BSD-3-Clause License.