Star โœจ on GitHub

Introduction

Introduction of Moonlink.js

Hey, developer! ๐ŸŽ‰

If you're here, it means Moonlink.js caught your attentionโ€”and we couldn't be more excited! ๐Ÿ™Œ We truly appreciate your interest, and if you end up liking the package, consider giving it a โญ on GitHub. It helps us a lot! Now, let's dive in and see what Moonlink.js is all about.

What is Moonlink.js?

Think of Moonlink.js as the ultimate bridge between your bot and Lavalink, making music playback on Discord smoother than ever. ๐ŸŽถ Whether you're building a casual music bot or a high-performance system, Moonlink.js has got your backโ€”with full TypeScript support and all the tools you need to create something awesome. ๐Ÿš€

๐ŸŒŸ Exclusive Features of MoonLink.js

Advanced Load Balancing

MoonLink.js provides several types of load balancing mechanisms, including automatic regional balancing, sorting methods like memory, CPU usage, uptime, and more.

Automatic Regional Balancing

Enable the automatic regional balancing option to let MoonLink.js detect the player's region and switch to a nearby node, minimizing latency and improving performance.

Sorting Methods

Choose from several sorting methods to distribute players across nodes, including options like Players, Playing Players, Memory, CPU usage, and Region.

Internal Database

The internal database stores important information to ensure that users don't lose their music even if the bot is restarted, keeping everything from the current song to queue position intact.

Node Management

Simplified setup and automatic reconnection of Lavalink nodes, making it easier for developers to manage multi-node systems with less verbosity.

Queue System

A built-in, intuitive queue system for adding, removing, skipping, or shuffling songs, unlike other packages that require manual implementation.

Extensible Classes

Extend MoonLink.js by creating plugins using the Structure.extend() method, allowing customization of player functionality and queue integration with external databases.

AutoResume & Node Switching

Automatically resume playback after a crash or restart and seamlessly switch players to another node without interrupting the user experience.

โŒ Limitations Compared to Other Packages

  1. Lack of Official Plugins
    • There is no native support for integration with platforms like Spotify or Apple Music, something found in packages like Rainlink.

  • Erela.js Migrators: The familiar syntax speeds up adaptation.
  • Those who value simplicity: Quick setup without extra dependencies.

Need help

Support

Having problems or questions?

Get in touch by these means: joining the discord support server