Package-level declarations

Types

Link copied to clipboard
@Serializable
data class Band(val band: Int, val gain: Float = 1.0f)
Link copied to clipboard
@Serializable
data class ChannelMix(val leftToLeft: Float = 1.0f, val leftToRight: Float = 0.0f, val rightToLeft: Float = 0.0f, val rightToRight: Float = 1.0f)
Link copied to clipboard
@Serializable
data class Cpu(val cores: Int, val systemLoad: Double, val lavalinkLoad: Double)

Cpu statistics.

Link copied to clipboard
@Serializable
data class Distortion(val sinOffset: Float = 0.0f, val sinScale: Float = 1.0f, val cosOffset: Float = 0.0f, val cosScale: Float = 1.0f, val tanOffset: Float = 0.0f, val tanScale: Float = 1.0f, val offset: Float = 0.0f, val scale: Float = 1.0f)
Link copied to clipboard
@Serializable
value class EncodedTracks(val tracks: ArrayList<String>)
Link copied to clipboard
@Serializable
data class Error(val timestamp: Timestamp, val status: Int, val error: String, val trace: String? = null, val message: String, val path: String)

Representation of a REST error.

Link copied to clipboard
@Serializable
data class Exception(val message: String?, val severity: Exception.Severity, val cause: String) : LoadResult.Data
Link copied to clipboard
@Serializable
data class Filters(val volume: Omissible<Float> = Omissible.Omitted(), val equalizer: Omissible<List<Band>> = Omissible.Omitted(), val karaoke: Omissible<Karaoke?> = Omissible.Omitted(), val timescale: Omissible<Timescale?> = Omissible.Omitted(), val tremolo: Omissible<Tremolo?> = Omissible.Omitted(), val vibrato: Omissible<Vibrato?> = Omissible.Omitted(), val distortion: Omissible<Distortion?> = Omissible.Omitted(), val rotation: Omissible<Rotation?> = Omissible.Omitted(), val channelMix: Omissible<ChannelMix?> = Omissible.Omitted(), val lowPass: Omissible<LowPass?> = Omissible.Omitted(), val pluginFilters: Map<String, JsonElement> = mutableMapOf())
Link copied to clipboard
@Serializable
data class FrameStats(val sent: Int, val nulled: Int, val deficit: Int)

Frame statistics.

Link copied to clipboard
@Serializable
data class Git(val branch: String, val commit: String, val commitTime: Long)
Link copied to clipboard
@Serializable
data class Info(val version: Version, val buildTime: Long, val git: Git, val jvm: String, val lavaplayer: String, val sourceManagers: List<String>, val filters: List<String>, val plugins: Plugins)

Representation of LavaLink server information.

Link copied to clipboard
@Serializable
data class Karaoke(val level: Float = 1.0f, val monoLevel: Float = 1.0f, val filterBand: Float = 220.0f, val filterWidth: Float = 100.0f)
Link copied to clipboard
@Serializable(with = LoadResult.Serializer::class)
interface LoadResult
Link copied to clipboard
@Serializable
data class LowPass(val smoothing: Float = 20.0f)
Link copied to clipboard
@Serializable
data class Memory(val free: Long, val used: Long, val allocated: Long, val reservable: Long)

Memory statistics.

Link copied to clipboard
@Serializable(with = Message.Serializer::class)
interface Message
Link copied to clipboard
class OmissableSerializer<T>(childSerializer: KSerializer<T>) : KSerializer<Omissible<T>>
Link copied to clipboard
@Serializable(with = OmissableSerializer::class)
interface Omissible<out T>
Link copied to clipboard
@Serializable
data class Player(val guildId: String, val track: Track?, val volume: Int, val paused: Boolean, val state: PlayerState, val voice: VoiceState, val filters: Filters)
Link copied to clipboard
@Serializable
value class Players(val players: List<Player>)
Link copied to clipboard
@Serializable
data class PlayerState(val time: Long, val position: Long, val connected: Boolean, val ping: Long)
Link copied to clipboard
@Serializable
data class PlayerUpdate(val encodedTrack: Omissible<String?> = Omissible.Omitted(), val identifier: Omissible<String> = Omissible.Omitted(), val track: Omissible<PlayerUpdateTrack> = Omissible.Omitted(), val position: Omissible<Long> = Omissible.Omitted(), val endTime: Omissible<Long?> = Omissible.Omitted(), val volume: Omissible<Int> = Omissible.Omitted(), val paused: Omissible<Boolean> = Omissible.Omitted(), val filters: Omissible<Filters> = Omissible.Omitted(), val voice: Omissible<VoiceState> = Omissible.Omitted())
Link copied to clipboard
@Serializable
data class PlayerUpdateTrack(val encoded: Omissible<String?> = Omissible.Omitted(), val identifier: Omissible<String> = Omissible.Omitted(), val userData: Omissible<JsonObject> = Omissible.Omitted())
Link copied to clipboard
@Serializable
data class Playlist(val info: PlaylistInfo, val pluginInfo: JsonObject = JsonObject(emptyMap()), val tracks: List<Track>) : LoadResult.Data
Link copied to clipboard
@Serializable
data class PlaylistInfo(val name: String, val selectedTrack: Int)
Link copied to clipboard
@Serializable
data class Plugin(val name: String, val version: String)
Link copied to clipboard
@Serializable(with = Plugins.Serializer::class)
value class Plugins(val plugins: List<Plugin>)
Link copied to clipboard
@Serializable
enum ResultStatus : Enum<ResultStatus>
Link copied to clipboard
@Serializable
data class Rotation(val rotationHz: Double = 0.0)
Link copied to clipboard
@Serializable
data class RoutePlannerFreeAddress(val address: String)
Link copied to clipboard
@Serializable
interface RoutePlannerStatus
Link copied to clipboard
@Serializable
data class Session(val resuming: Boolean, val timeoutSeconds: Long)

Representation of a session.

Link copied to clipboard
@Serializable
data class SessionUpdate(val resuming: Omissible<Boolean> = Omissible.Omitted(), val timeoutSeconds: Omissible<Long> = Omissible.Omitted())

Request used to update a session.

Link copied to clipboard
interface Stats

Representation of node stats.

Link copied to clipboard
@Serializable
data class StatsData(val frameStats: FrameStats? = null, val players: Int, val playingPlayers: Int, val uptime: Long, val memory: Memory, val cpu: Cpu) : Stats

Default implementation of Stats.

Link copied to clipboard
@Serializable
data class Timescale(val speed: Double = 1.0, val pitch: Double = 1.0, val rate: Double = 1.0)
Link copied to clipboard
@Serializable
data class Track(val encoded: String, val info: TrackInfo, val pluginInfo: JsonObject = JsonObject(emptyMap()), val userData: JsonObject = JsonObject(emptyMap())) : LoadResult.Data
Link copied to clipboard
@Serializable
data class TrackInfo(val identifier: String, val isSeekable: Boolean, val author: String, val length: Long, val isStream: Boolean, val position: Long, val title: String, val uri: String?, val sourceName: String, val artworkUrl: String?, val isrc: String?)
Link copied to clipboard
@Serializable
value class Tracks(val tracks: List<Track>)
Link copied to clipboard
@Serializable
data class Tremolo(val frequency: Float = 2.0f, val depth: Float = 0.5f)
Link copied to clipboard
@Serializable
data class Version(val semver: String, val major: Int, val minor: Int, val patch: Int, val preRelease: String?)

Representation of a Lavalink version.

Link copied to clipboard
@Serializable
data class Vibrato(val frequency: Float = 2.0f, val depth: Float = 0.5f)
Link copied to clipboard
@Serializable
data class VoiceState(val token: String, val endpoint: String, val sessionId: String)

Properties

Link copied to clipboard
val json: Json

Json object which should be used to serialize/deserialize Lavalink objects.

Link copied to clipboard
val LavalinkSerializersModule: SerializersModule

SerializersModule containing all required Lavalink configuration.

Link copied to clipboard
val RoutePlannerModule: SerializersModule

SerializersModule containing configuration for RoutePlannerStatus.

Functions

Link copied to clipboard
inline fun <T> JsonObject.deserialize(): T
fun <T> JsonObject.deserialize(deserializer: DeserializationStrategy<T>): T
Link copied to clipboard
inline fun <T, R> Omissible<T>.ifPresent(function: (T) -> R): R?
Link copied to clipboard
inline fun <T, R> Omissible<T?>.ifPresentAndNotNull(function: (T) -> R): R?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <T, R> Omissible<T>.map(mapper: (T) -> R): Omissible<R>
Link copied to clipboard
fun <T> Omissible<T>.takeIfPresent(predicate: (T) -> Boolean = { true }): T?
Link copied to clipboard
fun <T : Any> T?.toOmissible(): Omissible<T>