Skip to content

Commit

Permalink
music: Also delete error messages in music channel
Browse files Browse the repository at this point in the history
  • Loading branch information
DRSchlaubi committed Feb 16, 2025
1 parent de5f795 commit ba873da
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package dev.schlaubi.mikbot.plugin.api.util

import dev.kordex.core.commands.CommandContext
import dev.kord.core.behavior.interaction.followup.FollowupMessageBehavior
import dev.kord.rest.builder.message.create.MessageCreateBuilder
import dev.kord.rest.builder.message.modify.MessageModifyBuilder
import dev.kordex.core.commands.CommandContext

/**
* This is a message builder block (aka. the thing a [MessageSender] takes).
Expand Down
2 changes: 1 addition & 1 deletion music/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
subprojects {
version = "4.4.0-SNAPSHOT"
version = "4.4.1-SNAPSHOT"

repositories {
maven("https://maven.topi.wtf/releases")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ import dev.schlaubi.mikmusic.player.enableAutoPlay
import dev.schlaubi.mikmusic.player.queue.takeFirstMatch
import dev.schlaubi.mikmusic.player.resetAutoPlay
import dev.schlaubi.mikmusic.util.mapToQueuedTrack
import kotlinx.coroutines.delay
import kotlin.reflect.KMutableProperty1
import kotlin.time.Duration.Companion.seconds

class MusicInteractionModule(context: PluginContext) : MikBotModule(context) {
override val name = "music interaction handler"
Expand Down Expand Up @@ -133,15 +135,18 @@ class MusicInteractionModule(context: PluginContext) : MikBotModule(context) {
val guild = event.getGuildOrNull() ?: error("Could not find guild")
val player = musicModule.getMusicPlayer(guild)
player.startLeaveTimeout()
val track = takeFirstMatch(player.node, event.message.content) { event.message.reply { it() } }
?: return@withTyping
event.message.delete("Music channel interaction")
val track = takeFirstMatch(player.node, event.message.content) {
val message = event.message.reply { it() }
delay(5.seconds)
message.delete()

} ?: return@withTyping
player.queueTrack(
force = false,
onTop = false,
tracks = track.tracks.mapToQueuedTrack(event.message.author!!)
)

event.message.delete("Music channel interaction")
}
}
}
Expand Down

0 comments on commit ba873da

Please sign in to comment.