Introductions

The world of JavaScript (JS) is filled with numerous lavalink clients and wrappers. There are currently around 140 of these clients available, but a major drawback is that each one only works with a specific lavalink version. While Riffy existed in the past, I found it to be limited in terms of scalability and compatibility with other versions. This is what inspired me to create a lavalink client that can seamlessly integrate with both older and upcoming lavalink versions. I'm excited to introduce this project to everyone - rainlink, also known as rainlink.js!

rainlink (a.k.a rainlink.js) is a lavalink client designed to modularize the lavalink/nodelink server management layers to make it easier for your discord music bot to be compatible with most versions of lavalink as well as nodelink. Currently rainlink is supporting lavalink versions from 3.7 to 4.x as well as nodelink v2. Additionally, in the future, I may port more older versions of lavalink and nodelink

Lavalink is an audio playback server designed for Discord applications. It supports audio streaming from various sources, including popular platforms like YouTube and SoundCloud. Lavalink provides a robust infrastructure for efficient audio handling, ensuring a smooth and high-quality audio experience for end users.

For detailed information on configuring Lavalink and other important considerations, please refer to the official documentation available at Lavalink. There, you will find step-by-step guidance, practical examples, and information on the configuration requirements necessary to successfully integrate Lavalink into your development environment.

Nodelink is also an audio playback server designed for Discord applications but made in JS. It is an alternative to Lavalink as Lavalink takes up a lot of resources while still maintaining Lavalink's API.

For detailed information on configuring Nodelink and other important considerations, please refer to the official documentation available at Nodelink. There, you will find step-by-step guidance, practical examples, and information on the configuration requirements necessary to successfully integrate Lavalink into your development environment. The connection method is similar to lavalink

To install Rainlink in your project, you can use a package manager like npm, yarn, or pnpm. Simply execute the appropriate command in your terminal:

npm install rainlink

or

yarn add rainlink

or

pnpm install rainlink

After successful installation, you'll be ready to start using all the powerful features offered by rainlink in your Discord project.

Currently, rainlink does not support Bun. After implementing RFC 6455 code using native packages to reduce its size, an important function, net.createConnection(), is not called by Bun. Make sure to consider this when planning your integration.

You can find rainlink API doc by using this link: https://docs-rainlinkjs.vercel.app/