Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 2.12 KB

README.md

File metadata and controls

51 lines (39 loc) · 2.12 KB

Moonlink.js Developer Recruitment Challenge

Introduction

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.

Objective

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.

Requirements

  1. 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
  2. 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.
  3. Pause Command:

    • Implement a command to pause the currently playing music.
  4. Code Clarity:

    • Organize your project structure thoughtfully.

Resources

How to Participate

  1. Fork this repository.
  2. Create a branch for your changes.
  3. Commit and push your changes.
  4. Open a pull request in this repository.

Evaluation Criteria

  • Correct and complete functionality.
  • Code quality.
  • Comments and documentation.
  • Adherence to requirements.

Notes

  • 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.