Welcome to the developer recruitment challenge to become a Moonlink.js developer. This challenge aims to assess your coding skills, code clarity, and basic understanding of interactions with Moonlink.js.
The challenge is to create a simple client to interact with Lavalink (without using packages that provide this functionality out of the box) and perform basic operations, such as playing and pausing music.
-
Client Configuration:
- create a way to configure the wrapper
- Provide configuration options, such as host, port, password, etc.
- the wrapper can be limited to one server, but if you want to grow more
-
Play Music Command:
- Implement a command to play music. The command should accept a YouTube URL as an argument.
- Ensure that the music is played in the voice channel of the user who executed the command.
-
Pause Command:
- Implement a command to pause the currently playing music.
-
Code Clarity:
- Organize your project structure thoughtfully.
- Fork this repository.
- Create a branch for your changes.
- Commit and push your changes.
- Open a pull request in this repository.
- Correct and complete functionality.
- Code quality.
- Comments and documentation.
- Adherence to requirements.
- Use JavaScript (CommonJS, ECMAScript), or TypeScript.
- Avoid using packages that provide ready-made functionalities for interacting with Lavalink.
- Don't ask for ready-made code from chatGPT, Bard, other artificial intelligences; at most, they can help you understand how it works.
- Don't use ready-made code from the internet.
- You can use npmjs libraries of your choice to assist with integration, but packages that are lavalink clients will not be accepted.
- using native libraries improves your evaluation.
Good luck! We look forward to seeing what you create.