Skip to content

nextcord-ext/lava

Repository files navigation

Lava

Python Codacy Badge License Documentation Status

nextcord-ext-lava is a wrapper for Lavalink which abstracts away most of the code necessary to use Lavalink, allowing for easier integration into your projects, while still promising full API coverage and powerful tools to get the most out of it.

Fork

This is a fork of lavalink.py made for nextcord

Getting Started

First you need to run a command to install the library,

pip install n-ext[lava]

Then you need to setup the Lavalink server, you will need to install Java (OpenJDK v13.0.2) from here, and then download the latest Lavalink.jar. Then place an application.yml file in the same directory. The file should look like this. Finally run java -jar Lavalink.jar in the directory of the jar.

Additionally, there is an example cog. It should be noted that the example cog is oriented towards usage with nextcord and Lavalink v3.1+, although backwards compatibility may be possible, it's not encouraged nor is support guaranteed.

Features

  • Regions
  • Multi-Node Support
  • Load Balancing (this includes region-based load balancing)
  • Equalizer

Optional Dependencies

These are used by aiohttp.

aiodns - Speed up DNS resolving.

cchardet - A faster alternative to chardet.

Supported Platforms

While Lavalink.py supports any platform Python will run on, the same can not be said for the Lavalink server. The Lavalink server requires an x86-64 (64-bit) machine running either Windows, or any Linux-based distro. It is highly recommended that you invest in a dedicated server or a VPS. "Hosts" like Glitch, Heroku, etc... are not guaranteed to work with Lavalink, therefore you should try to avoid them. Support will not be offered should you choose to try and host Lavalink on these platforms.

Exceptions

The exception to the "unsupported platforms" rule are ARM-based machines, for example; a Raspberry Pi. While official Lavalink builds do not support the ARM architecture, there are custom builds by Cog-Creators that offer ARM support. These are the official builds, with additional native libraries for running on otherwise unsupported platforms.

Need Further Help?

Documentation

VincentRPS on nextcord github