Skip to content

Commit

Permalink
Add more configuration options for music plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
DRSchlaubi committed Nov 9, 2024
1 parent 3c670eb commit 8e1bbba
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
2 changes: 1 addition & 1 deletion music/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
subprojects {
version = "4.0.0-SNAPSHOT"
version = "4.1.0-SNAPSHOT"
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,29 @@ package dev.schlaubi.mikmusic.core.audio
import dev.kord.common.entity.Snowflake
import dev.kord.core.behavior.GuildBehavior
import dev.schlaubi.lavakord.LavaKord
import dev.schlaubi.lavakord.MutableLavaKordOptions
import dev.schlaubi.lavakord.audio.Node
import dev.schlaubi.lavakord.audio.internal.AbstractLavakord
import dev.schlaubi.lavakord.kord.getLink
import dev.schlaubi.lavakord.kord.lavakord
import dev.schlaubi.lavakord.plugins.lavasrc.LavaSrc
import dev.schlaubi.lavakord.plugins.sponsorblock.Sponsorblock
import dev.schlaubi.mikbot.plugin.api.PluginContext
import dev.schlaubi.mikbot.plugin.api.getExtensions
import dev.schlaubi.mikbot.plugin.api.io.Database
import dev.schlaubi.mikbot.plugin.api.io.getCollection
import dev.schlaubi.mikbot.plugin.api.module.MikBotModule
import org.koin.core.component.inject
import org.pf4j.ExtensionPoint

interface LavalinkExtensionPoint : ExtensionPoint {
fun MutableLavaKordOptions.apply()
}

class LavalinkManager(context: PluginContext) : MikBotModule(context) {
override val name: String = "lavalink"
private lateinit var lavalink: LavaKord
lateinit var lavalink: LavaKord
private set
private val database: Database by inject()
private val lavalinkServers = database.getCollection<LavalinkServer>("lavalink_servers")

Expand All @@ -30,6 +38,10 @@ class LavalinkManager(context: PluginContext) : MikBotModule(context) {
install(Sponsorblock)
install(LavaSrc)
}

context.pluginSystem.getExtensions<LavalinkExtensionPoint>().forEach {
with(it) { apply() }
}
}

lavalinkServers.find().toList().forEach { (url, password) ->
Expand Down

0 comments on commit 8e1bbba

Please sign in to comment.