File tree Expand file tree Collapse file tree 1 file changed +24
-1
lines changed
src/main/kotlin/dev/arbjerg/lavalink/client Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -23,7 +23,8 @@ class LavalinkClient(val userId: Long) : Closeable, Disposable {
2323 private var clientOpen = true
2424
2525 // Immutable public list
26- val nodes: List <LavalinkNode > = internalNodes
26+ val nodes: List <LavalinkNode >
27+ get() = internalNodes.toList()
2728
2829 // Events forwarded from all nodes.
2930 private val sink: Sinks .Many <ClientEvent <* >> = Sinks .many().multicast().onBackpressureBuffer()
@@ -69,6 +70,28 @@ class LavalinkClient(val userId: Long) : Closeable, Disposable {
6970 return node
7071 }
7172
73+ fun removeNode (name : String ): Boolean {
74+ val node = nodes.firstOrNull { it.name == name }
75+
76+ if (node == null ) {
77+ throw IllegalStateException (" Node with name '$name ' does not exist" )
78+ }
79+
80+ return removeNode(node)
81+ }
82+
83+ fun removeNode (node : LavalinkNode ): Boolean {
84+ if (node !in internalNodes) {
85+ return false
86+ }
87+
88+ node.close()
89+
90+ internalNodes.remove(node)
91+
92+ return true
93+ }
94+
7295 /* *
7396 * Get or crate a link between a guild and a node.
7497 *
You can’t perform that action at this time.
0 commit comments