From e44d7d0eaccddf86ee8726f414780c7ba5db340f Mon Sep 17 00:00:00 2001 From: topi314 Date: Mon, 4 Dec 2023 11:13:35 +0100 Subject: [PATCH 1/8] fix not rendered markdown in docs tags --- docs/api/rest.md | 42 ++++++++++++++++++------------------- docs/api/websocket.md | 22 +++++++++---------- docs/configuration/index.md | 4 ++-- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/docs/api/rest.md b/docs/api/rest.md index 72d3f9722..f8c1205ce 100644 --- a/docs/api/rest.md +++ b/docs/api/rest.md @@ -30,7 +30,7 @@ When Lavalink encounters an error, it will respond with a JSON object containing | message | string | The error message | | path | string | The request path | -
+
Example Payload ```json @@ -128,7 +128,7 @@ Response: [Track](#track) object with the loaded track. -
+
Example Payload ```yaml @@ -153,7 +153,7 @@ Response: | pluginInfo | Object | Addition playlist info provided by plugins | | tracks | array of [Track](#track) objects | The tracks of the playlist | -
+
Example Payload ```yaml @@ -173,7 +173,7 @@ Response: Array of [Track](#track) objects from the search result. -
+
Example Payload ```yaml @@ -197,7 +197,7 @@ Array of [Track](#track) objects from the search result. Empty object. -
+
Example Payload ```yaml @@ -213,7 +213,7 @@ Empty object. [Exception](websocket.md#exception-object) object with the error. -
+
Example Payload ```yaml @@ -243,7 +243,7 @@ Response: [Track](#track) object -
+
Example Payload ```yaml @@ -281,7 +281,7 @@ Request: Array of track data strings -
+
Example Payload ```yaml @@ -297,7 +297,7 @@ Response: Array of [Track](#track) objects -
+
Example Payload ```yaml @@ -381,7 +381,7 @@ There are 15 bands (0-14) that can be changed. "gain" is the multiplier for the given band. The default value is 0. Valid values range from -0.25 to 1.0, where -0.25 means the given band is completely muted, and 0.25 means it is doubled. Modifying the gain could also change the volume of the output. -
+
Band Frequencies | Band | Frequency | @@ -498,7 +498,7 @@ Any smoothing values equal to or less than 1.0 will disable the filter. Plugins can add their own filters. The key is the name of the plugin, and the value is the configuration for that plugin. The configuration is plugin specific. See [Plugins](plugins.md) for more plugin information. -
+
Example Payload ```json @@ -571,7 +571,7 @@ Returns a list of players in this specific session. GET /v4/sessions/{sessionId}/players ``` -
+
Example Payload ```yaml @@ -631,7 +631,7 @@ Response: [Player](#Player) object -
+
Example Payload ```yaml @@ -724,7 +724,7 @@ Request: When `identifier` is used, Lavalink will try to resolve the identifier as a single track. An HTTP `400` error is returned when resolving a playlist, search result, or no tracks. -
+
Example Payload ```yaml @@ -753,7 +753,7 @@ Response: [Player](#Player) object -
+
Example Payload ```yaml @@ -827,7 +827,7 @@ Request: | resuming? | bool | Whether resuming is enabled for this session or not | | timeout? | int | The timeout in seconds (default is 60s) | -
+
Example Payload ```json @@ -846,7 +846,7 @@ Response: | resuming | bool | Whether resuming is enabled for this session or not | | timeout | int | The timeout in seconds (default is 60s) | -
+
Example Payload ```json @@ -911,7 +911,7 @@ Parsed [Semantic Versioning 2.0.0](https://semver.org/) | name | string | The name of the plugin | | version | string | The version of the plugin | -
+
Example Payload ```json @@ -988,7 +988,7 @@ Response: `frameStats` is always missing for this endpoint. [Stats](websocket.md#stats-object) object -
+
Example Payload ```json @@ -1079,7 +1079,7 @@ Response: | class | ?[Route Planner Type](#route-planner-types) | The name of the RoutePlanner implementation being used by this server | | details | ?[Details](#details-object) object | The status details of the RoutePlanner | -
+
Example Payload ```json @@ -1119,7 +1119,7 @@ Request: |---------|--------|-----------------------------------------------------------------------------| | address | string | The address to unmark as failed. This address must be in the same ip block. | -
+
Example Payload ```json diff --git a/docs/api/websocket.md b/docs/api/websocket.md index 487c5aa36..fe3f18516 100644 --- a/docs/api/websocket.md +++ b/docs/api/websocket.md @@ -19,7 +19,7 @@ When opening a websocket connection, you must supply 3 required headers: **\*For more information on resuming see [Resuming](index.md#resuming)** -
+
Example Headers ``` @@ -37,7 +37,7 @@ Websocket messages all follow the following standard format: | op | [OP Type](#op-types) | The op type | | ... | ... | Extra fields depending on the op type | -
+
Example Payload ```yaml @@ -67,7 +67,7 @@ Dispatched by Lavalink upon successful connection and authorization. Contains fi | resumed | bool | Whether this session was resumed | | sessionId | string | The Lavalink session id of this connection. Not to be confused with a Discord voice session id | -
+
Example Payload ```json @@ -100,7 +100,7 @@ Dispatched every x seconds (configurable in `application.yml`) with the current | connected | bool | Whether Lavalink is connected to the voice gateway | | ping | int | The ping of the node to the Discord voice server in milliseconds (`-1` if not connected) | -
+
Example Payload ```json @@ -162,7 +162,7 @@ A collection of statistics sent every minute. \* The expected amount of frames is 3000 (1 every 20 ms) per player. If the `deficit` is negative, too many frames were sent, and if it's positive, not enough frames got sent. -
+
Example Payload ```json @@ -204,7 +204,7 @@ Server dispatched an event. See the [Event Types](#event-types) section for more | guildId | string | The guild id | | ... | ... | Extra fields depending on the event | -
+
Example Payload ```yaml @@ -236,7 +236,7 @@ Dispatched when a track starts playing. |-------|-------------------------------|--------------------------------| | track | [Track](rest.md#track) object | The track that started playing | -
+
Example Payload ```json @@ -287,7 +287,7 @@ Dispatched when a track ends. | `replaced` | The track was replaced | false | | `cleanup` | The track was cleaned up | false | -
+
Example Payload ```json @@ -345,7 +345,7 @@ Dispatched when a track throws an exception. | `suspicious` | The cause might not be exactly known, but is possibly caused by outside factors. For example when an outside service responds in a format that we do not expect | | `fault` | The probable cause is an issue with the library or there is no way to tell what the cause might be. This is the default level and other levels are used in cases where the thrower has more in-depth knowledge about the error | -
+
Example Payload ```json @@ -391,7 +391,7 @@ Dispatched when a track gets stuck while playing. | track | [Track](rest.md#track) object | The track that got stuck | | thresholdMs | int | The threshold in milliseconds that was exceeded | -
+
Example Payload ```json @@ -437,7 +437,7 @@ See the [Discord Docs](https://discord.com/developers/docs/topics/opcodes-and-st | reason | string | The close reason | | byRemote | bool | Whether the connection was closed by Discord | -
+
Example Payload ```json diff --git a/docs/configuration/index.md b/docs/configuration/index.md index 91745d799..011613c41 100644 --- a/docs/configuration/index.md +++ b/docs/configuration/index.md @@ -8,7 +8,7 @@ The server configuration is done in `application.yml`. You can find an example b ## Example application.yml -
+
application.yml ```yaml title="application.yml" @@ -22,7 +22,7 @@ For arrays, the index is appended to the key, starting at 0. For example, `LAVAL ## Example environment variables -
+
environment variables ```env title="enviroment variables" From 031a9fb194e776f0e11847c09add657c27143914 Mon Sep 17 00:00:00 2001 From: devoxin <15076404+devoxin@users.noreply.github.com> Date: Fri, 8 Dec 2023 20:33:14 +0000 Subject: [PATCH 2/8] Add lavalink.py to clients --- docs/clients.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/clients.md b/docs/clients.md index 5abff48ce..62bcaca70 100644 --- a/docs/clients.md +++ b/docs/clients.md @@ -9,6 +9,7 @@ description: A list of Lavalink client libraries. | [Lavalink-Client](https://github.com/lavalink-devs/Lavalink-Client) | Java/Kotlin/JVM | JDA/Discord4J/**Any** | Uses reactor | | [Lavalink.kt](https://github.com/DRSchlaubi/Lavalink.kt) | Kotlin | Kord/JDA/**Any** | Kotlin Coroutines | | [DisGoLink](https://github.com/disgoorg/disgolink) | Go | **Any** | | +| [lavalink.py](https://github.com/devoxin/lavalink.py) | Python | **Any** | | | [Mafic](https://github.com/ooliver1/mafic) | Python | discord.py **V2**/nextcord/disnake/py-cord | | | [Wavelink](https://github.com/PythonistaGuild/Wavelink) | Python | discord.py **V2** | | | [Moonlink.js](https://github.com/1Lucas1apk/moonlink.js) | Node.js | **Any** | | From 9ff9f07d48672f10526368a7c9175e7028fab583 Mon Sep 17 00:00:00 2001 From: topi314 Date: Sat, 9 Dec 2023 12:37:37 +0100 Subject: [PATCH 3/8] update significant changes & fix plugin filters link --- docs/api/rest.md | 26 +++++++++++++------------- docs/changelog/index.md | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/api/rest.md b/docs/api/rest.md index f8c1205ce..c3b5f19ff 100644 --- a/docs/api/rest.md +++ b/docs/api/rest.md @@ -361,19 +361,19 @@ with the Voice Server Update. Please refer to https://discord.com/developers/doc Filters are used in above requests and look like this -| Field | Type | Description | -|----------------|------------------------------------------------|----------------------------------------------------------------------------------------------| -| volume? | float | Adjusts the player volume from 0.0 to 5.0, where 1.0 is 100%. Values >1.0 may cause clipping | -| equalizer? | array of [Equalizer](#equalizer) objects | Adjusts 15 different bands | -| karaoke? | [Karaoke](#karaoke) object | Eliminates part of a band, usually targeting vocals | -| timescale? | [Timescale](#timescale) object | Changes the speed, pitch, and rate | -| tremolo? | [Tremolo](#tremolo) object | Creates a shuddering effect, where the volume quickly oscillates | -| vibrato? | [Vibrato](#vibrato) object | Creates a shuddering effect, where the pitch quickly oscillates | -| rotation? | [Rotation](#rotation) object | Rotates the audio around the stereo channels/user headphones (aka Audio Panning) | -| distortion? | [Distortion](#distortion) object | Distorts the audio | -| channelMix? | [Channel Mix](#channel-mix) object | Mixes both channels (left and right) | -| lowPass? | [Low Pass](#low-pass) object | Filters higher frequencies | -| pluginFilters? | map of [Plugin Filter](#plugin-filter) objects | Filter plugin configurations | +| Field | Type | Description | +|----------------|--------------------------------------------------|----------------------------------------------------------------------------------------------| +| volume? | float | Adjusts the player volume from 0.0 to 5.0, where 1.0 is 100%. Values >1.0 may cause clipping | +| equalizer? | array of [Equalizer](#equalizer) objects | Adjusts 15 different bands | +| karaoke? | [Karaoke](#karaoke) object | Eliminates part of a band, usually targeting vocals | +| timescale? | [Timescale](#timescale) object | Changes the speed, pitch, and rate | +| tremolo? | [Tremolo](#tremolo) object | Creates a shuddering effect, where the volume quickly oscillates | +| vibrato? | [Vibrato](#vibrato) object | Creates a shuddering effect, where the pitch quickly oscillates | +| rotation? | [Rotation](#rotation) object | Rotates the audio around the stereo channels/user headphones (aka Audio Panning) | +| distortion? | [Distortion](#distortion) object | Distorts the audio | +| channelMix? | [Channel Mix](#channel-mix) object | Mixes both channels (left and right) | +| lowPass? | [Low Pass](#low-pass) object | Filters higher frequencies | +| pluginFilters? | map of [Plugin Filters](#plugin-filters) objects | Filter plugin configurations | ##### Equalizer diff --git a/docs/changelog/index.md b/docs/changelog/index.md index 572a99faf..5c43ab435 100644 --- a/docs/changelog/index.md +++ b/docs/changelog/index.md @@ -26,7 +26,7 @@ The most noteworthy of these, as well as any features and breaking changes, are All websocket ops are removed as of `v4.0.0` and replaced with the following endpoints and json fields: -* `play` -> [Update Player Endpoint](#update-player) `encodedTrack` or `identifier` field +* `play` -> [Update Player Endpoint](#update-player) `track`->`encoded` or `track`->`identifier` field * `stop` -> [Update Player Endpoint](#update-player) `encodedTrack` field with `null` * `pause` -> [Update Player Endpoint](#update-player) `pause` field * `seek` -> [Update Player Endpoint](#update-player) `position` field From f790a2e1206fd046222fbe40b199de106d408c8b Mon Sep 17 00:00:00 2001 From: Michael Rittmeister Date: Sun, 17 Dec 2023 14:36:15 +0100 Subject: [PATCH 4/8] Add lyrics.kt (#996) * Add lyrics.kt * Make somone happy --- docs/plugins.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/plugins.md b/docs/plugins.md index 4ea709419..417ab5f86 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -20,5 +20,6 @@ for instructions. | [DuncteBot plugin](https://github.com/DuncteBot/skybot-lavalink-plugin) | Additional source managers that are not widely used | | [Extra Filter plugin](https://github.com/rohank05/lavalink-filter-plugin) | Additional audio filters for lavalink | | [XM plugin](https://github.com/esmBot/lava-xm-plugin) | Support for various [music tracker module](https://en.wikipedia.org/wiki/Module_file) formats | +| [Lyrics.kt plugin](https://github.com/DRSchlaubi/lyrics.kt) | Plugin that fetches timestamped lyrics from YouTube | If you want to make your own plugin see [here](api/plugins.md) \ No newline at end of file From 29f5c957cbf60bfcaa752fec7246295a563e968f Mon Sep 17 00:00:00 2001 From: topi314 Date: Mon, 18 Dec 2023 00:29:49 +0100 Subject: [PATCH 5/8] fix readme & move routeplanner docs --- README.md | 2 +- ROUTEPLANNERS.md => docs/configuration/routeplanner.md | 4 +++- docs/mkdocs.yml | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) rename ROUTEPLANNERS.md => docs/configuration/routeplanner.md (97%) diff --git a/README.md b/README.md index 5382fb723..b5f0b6ea3 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ A [basic example bot](Testbot) is available. * Basic authentication * Prometheus metrics * Docker images -* [Plugin support](PLUGINS.md) +* [Plugin support](https://lavalink.dev/plugins.html) ## Requirements diff --git a/ROUTEPLANNERS.md b/docs/configuration/routeplanner.md similarity index 97% rename from ROUTEPLANNERS.md rename to docs/configuration/routeplanner.md index 2acf184f9..f2721003f 100644 --- a/ROUTEPLANNERS.md +++ b/docs/configuration/routeplanner.md @@ -1,4 +1,6 @@ -# RoutePlanner Strategies +--- +description: Lavalink RoutePlanner Strategies +--- ## Terminology diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7214bf763..1434f86d2 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -24,6 +24,7 @@ nav: - Binary: configuration/binary.md - Systemd: configuration/systemd.md - Docker: configuration/docker.md + - RoutePlanner: configuration/routeplanner.md - Clients: clients.md - Plugins: plugins.md - API: From 6de2a86fbd0910a42e4c69da81560330a58af2d2 Mon Sep 17 00:00:00 2001 From: Abitofevrything <54505189+abitofevrything@users.noreply.github.com> Date: Wed, 27 Dec 2023 14:42:49 +0100 Subject: [PATCH 6/8] Add nyxx_lavalink to clients (#998) * Add nyxx_lavalink to clients * Merge Dart clients into one entry --- docs/clients.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/clients.md b/docs/clients.md index 62bcaca70..eb5688e53 100644 --- a/docs/clients.md +++ b/docs/clients.md @@ -23,6 +23,7 @@ description: A list of Lavalink client libraries. | [Lavalink4NET](https://github.com/angelobreuer/Lavalink4NET) | .NET | Discord.Net/DSharpPlus/Remora | v4+ | | [Coglink](https://github.com/PerformanC/Coglink) | C | Concord | | | [lavalink-rs](https://gitlab.com/vicky5124/lavalink-rs) | Rust, Python | **Any** | `tokio`-based, `asyncio`-based | +| [lavalink](https://github.com/nyxx-discord/nyxx_lavalink) | Dart | nyxx/**Any** | |
v3.7 supporting Client Libraries From aa605c0bd2c41582826720f637b71565a439bdf4 Mon Sep 17 00:00:00 2001 From: Egor Dvachevsky Date: Thu, 28 Dec 2023 16:42:02 +0100 Subject: [PATCH 7/8] Move nomia to clients that support lavalink version 4.x.x (#999) --- docs/clients.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/clients.md b/docs/clients.md index eb5688e53..aed80496b 100644 --- a/docs/clients.md +++ b/docs/clients.md @@ -21,6 +21,7 @@ description: A list of Lavalink client libraries. | [Riffy](https://github.com/riffy-team/riffy) | Node.js | **Any** | | | [DisCatSharp](https://github.com/Aiko-IT-Systems/DisCatSharp) | .NET | DisCatSharp | v10.4.2+ | | [Lavalink4NET](https://github.com/angelobreuer/Lavalink4NET) | .NET | Discord.Net/DSharpPlus/Remora | v4+ | +| [Nomia](https://github.com/DHCPCD9/Nomia) | .NET | DSharpPlus | | | [Coglink](https://github.com/PerformanC/Coglink) | C | Concord | | | [lavalink-rs](https://gitlab.com/vicky5124/lavalink-rs) | Rust, Python | **Any** | `tokio`-based, `asyncio`-based | | [lavalink](https://github.com/nyxx-discord/nyxx_lavalink) | Dart | nyxx/**Any** | | @@ -40,7 +41,6 @@ description: A list of Lavalink client libraries. | [Shoukaku](https://github.com/Deivu/Shoukaku) | Node.js | **Any** | | | [Cosmicord.js](https://github.com/SudhanPlayz/Cosmicord.js) | Node.js | **Any** | | | [DisCatSharp](https://github.com/Aiko-IT-Systems/DisCatSharp) | .NET | DisCatSharp | Only prior v10.4.1 | -| [Nomia](https://github.com/DHCPCD9/Nomia) | .NET | DSharpPlus | | | [Lavalink4NET](https://github.com/angelobreuer/Lavalink4NET) | .NET | Discord.Net/DSharpPlus | < v4 | | [DisGoLink](https://github.com/disgoorg/disgolink) | Go | **Any** | | From c2431ce1b1aab088aff29033b2e44bb840fd5cd1 Mon Sep 17 00:00:00 2001 From: Duncan Sterken Date: Thu, 4 Jan 2024 10:34:48 +0100 Subject: [PATCH 8/8] Add JTL plugin (#1001) Features include: ip-rotation and LavaLyrics support --- docs/plugins.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/plugins.md b/docs/plugins.md index 417ab5f86..e285e3ec0 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -21,5 +21,6 @@ for instructions. | [Extra Filter plugin](https://github.com/rohank05/lavalink-filter-plugin) | Additional audio filters for lavalink | | [XM plugin](https://github.com/esmBot/lava-xm-plugin) | Support for various [music tracker module](https://en.wikipedia.org/wiki/Module_file) formats | | [Lyrics.kt plugin](https://github.com/DRSchlaubi/lyrics.kt) | Plugin that fetches timestamped lyrics from YouTube | +| [Java Timed Lyrics](https://github.com/DuncteBot/java-timed-lyrics) | Timestamped lyrics from YouTube with Genius fallback, supports IP-rotation | -If you want to make your own plugin see [here](api/plugins.md) \ No newline at end of file +If you want to make your own plugin see [here](api/plugins.md)