> For the complete documentation index, see [llms.txt](https://lc4.gitbook.io/lavalink-client/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lc4.gitbook.io/lavalink-client/readme.md).

# Lavalink Client

## INFORMATION

The Client is still on development, but already very powerful, its made fully in typescript with a modern coding style, to have the best coding experience and intellisense possible, while supporting old coding styles like cjs.

This Documentation is far from finished, Once this "Information" is gone, the Documentation is finished.&#x20;

The estimated finished Time of the Library is End of August.

The estimated finished Time of the Documentation is somewhen in September.

If you want to know how things work, check out the [Example Discord Bot](/lavalink-client/basics/example-discord-bot.md), because there almost every feature is shown and used.

## Install

<details>

<summary>👉 via NPM</summary>

```bash
npm install --save lavalink-client
```

Dev Version: (Current)

```bash
npm install tomato6966/lavalink-client
```

</details>

<details>

<summary>👉 via YARN</summary>

```bash
yarn add lavalink-client
```

Dev Version: (Current)

```bash
yarn add tomato6966/lavalink-client
```

</details>

## Libraries Supported

* [Discord.js](https://discord.js.org/)
* [Eris](https://abal.moe/Eris/)
* [Discordeno](https://discordeno.js.org)

*...all Discord Client Libraries!*

## Features

* 💯 Lavalink v4 Supported only (with Lavalink Plugins)
* ✅ Player-Destroy Reasons like:
  * Channel got deleted, Player got disconnected...
* ✨ Choose able queue stores (maps, collections, redis, databases, ...)
  * You can create your own queueStore, thus make it easy to sync queues accross multiple connections (e.g. dashboard-bot)
  * Automated Queue Sync methods
  * Automated unresolveable Tracks (save the queries as Partial Track Objects -> Fetch the tracks only once they are gonna play)
* 😍 Included Filter & Equalizer Management
* 👍 Multiple Player Options *for easier use*
  * onDisconnect -> Player Destroy / auto Reconnect
  * onEmptyQueue -> Player Destroy / leave After x Time
  * instaFixFilter -> seek the player after applying a filter, to instantly apply it's effect (only works for little-durational-songs)
  * applyVolumeAsFilter -> instead of using lavalink.volume, it uses lavalink.filters.volume which is much different!
* 🛡️ Lavalink Validations
  * It only let's you use the filters / plugins / sources, if Lavalink actually has it enabled
* 🧑‍💻 Memory friendly and easy style
  * Only the required data is displayed, and the store-way & types match Lavalink#IMPLEMENTATION.md
* 😘 Automated Handlings
  * Skips the songs, on TrackEnd, TrackStuck, TrackError,
  * Destroys the player on channeldelete
  * Pauses / resumes the player if it get's muted / unmuted (server-wide) \[soon]
  * ...
* 😁 Much much more!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lc4.gitbook.io/lavalink-client/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
