lavalink-devs / Lavalink

Standalone audio sending node based on Lavaplayer.
https://lavalink.dev/
MIT License
1.56k stars 673 forks source link

Generify Lavalink-Client #98

Closed freyacodes closed 6 years ago

freyacodes commented 6 years ago

This issue is only relevant to people using the JDA client.

Here at FredBoat we are working on separating most of our business logic (mostly commands) from JDA into two different services. The problem with this is that Lavalink-Client is tightly coupled to JDA. I see two solutions to this problem:

  1. Write a generic Lavalink client for the JVM
  2. Heavily modify the existing Lavalink-Client to be generic, with an implementation for JDA

Solution 2 is clearly the easiest solution. The way I see myself doing it would be to make the Lavalink and maybe Link abstract. This would cause breaking changes, but hopefully rather few.

By making Lavalink generic, users will likely also be able to use discord4j and javacord. Feedback is welcome.

freyacodes commented 6 years ago

This has been merged into the v3 branch, but is not fully tested yet. Closing for now.