diff --git a/README.md b/README.md
index 4992739..7ade42f 100644
--- a/README.md
+++ b/README.md
@@ -3,11 +3,10 @@
"6th times the charm" ~ me
A Discord music bot, written in Kotlin using the kord library.
-
+
+[](https://gitlab.com/moonleay/botendo/-/releases)
+[](https://gitlab.com/moonleay/botendo/-/commits/master)
+[](https://gitlab.com/moonleay/botendo/-/commits/master)
## Contributors
@@ -21,17 +20,18 @@ A Discord music bot, written in Kotlin using the kord library.
## Known issues
-- None (currently). Report issues to issues@moonleay.net or moonleay#7441
+- None (currently). Report issues to issues@moonleay.net or moonleay#0001
## Commands & Features
- Commands
- - info -- Show basic infos about the bot
- - play -- Play a song
- - stop -- Stop playing a song and leave the vc
- - skip -- Skip to the next song
- - queue -- Show what songs are next up
- - nowplaying -- Show what is currently playing
+ - info -- Show basic infos about the bot
+ - play -- Play a song and or add it to queue
+ - upsert -- Play a song next up
+ - stop -- Stop playing a song and leave the vc
+ - skip -- Skip to the next song
+ - queue -- Show what songs are next up
+ - nowplaying -- Show what is currently playing
- Features
- Button Controller -- You can control the currently playing music using buttons.
diff --git a/build.gradle.kts b/build.gradle.kts
index dba3b59..6f8c249 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -30,10 +30,10 @@ plugins {
//Botendo version 6
val ownerID = 372703841151614976L
-group = "de.limited_dev.botendo"
+group = "net.moonleay.botendo"
version = System.getenv("CI_COMMIT_TAG")?.let { "$it-${System.getenv("CI_COMMIT_SHORT_SHA")}-prod" }
?: System.getenv("CI_COMMIT_SHORT_SHA")?.let { "$it-dev" }
- ?: "6.3.3"
+ ?: "6.4.0"
val kordver = "1.5.6"
val lavaver = "4.0.0"
@@ -115,7 +115,7 @@ tasks {
withType {
manifest {
- attributes["Main-Class"] = "de.limited_dev.botendo.MainKt"
+ attributes["Main-Class"] = "net.moonleay.botendo.MainKt"
}
// To add all of the dependencies
from(sourceSets.main.get().output)
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/util/PotatoExtension.kt b/src/main/kotlin/de/limited_dev/botendo/extensions/util/PotatoExtension.kt
deleted file mode 100644
index fa9ae0e..0000000
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/util/PotatoExtension.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Botendo
- * Copyright (C) 2023 moonleay
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-
-package de.limited_dev.botendo.extensions.util
-
-import com.kotlindiscord.kord.extensions.extensions.Extension
-import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand
-import de.limited_dev.botendo.util.MessageUtil
-import dev.kord.common.Color
-
-class PotatoExtension : Extension() {
- override val name = "potato"
- override suspend fun setup() {
- publicSlashCommand {
- name = "potato"
- description = "Potato"
- this.action {
- MessageUtil.sendEmbedForPublicSlashCommandWithImage(
- this, Color(0xE0311A), "Potato",
- "Potato",
- "https://static.tumblr.com/c06d8e0928395746a63b9c5d3cb1ce66/sl9iajp/gxFmqk38z/tumblr_static_potato-equality.jpg"
- )
- }
- }
- }
-}
diff --git a/src/main/kotlin/de/limited_dev/botendo/Bot.kt b/src/main/kotlin/net/moonleay/botendo/Bot.kt
similarity index 87%
rename from src/main/kotlin/de/limited_dev/botendo/Bot.kt
rename to src/main/kotlin/net/moonleay/botendo/Bot.kt
index 7a60f2a..487a506 100644
--- a/src/main/kotlin/de/limited_dev/botendo/Bot.kt
+++ b/src/main/kotlin/net/moonleay/botendo/Bot.kt
@@ -17,22 +17,20 @@
*
*/
-package de.limited_dev.botendo
+package net.moonleay.botendo
import com.kotlindiscord.kord.extensions.ExtensibleBot
-import de.limited_dev.botendo.buttons.ButtonManager
-import de.limited_dev.botendo.data.CredentialManager
-import de.limited_dev.botendo.extensions.music.*
-import de.limited_dev.botendo.extensions.util.InfoExtension
-import de.limited_dev.botendo.extensions.util.PotatoExtension
-import de.limited_dev.botendo.util.Logger
-import de.limited_dev.botendo.util.MessageUtil
import dev.kord.common.Color
import dev.kord.core.behavior.interaction.response.respond
import dev.kord.core.event.interaction.ButtonInteractionCreateEvent
import dev.kord.core.on
import dev.schlaubi.lavakord.LavaKord
import dev.schlaubi.lavakord.kord.lavakord
+import net.moonleay.botendo.data.CredentialManager
+import net.moonleay.botendo.extensions.music.*
+import net.moonleay.botendo.extensions.util.InfoExtension
+import net.moonleay.botendo.util.Logger
+import net.moonleay.botendo.util.MessageUtil
object Bot {
//The kord object gets set at app launch
@@ -64,7 +62,7 @@ object Bot {
add(::SkipExtension)
add(::NowPlayingExtension)
add(::QueueExtension)
- add(::PotatoExtension)
+ add(::UpsertExtension)
}
this.presence {
@@ -84,7 +82,7 @@ object Bot {
val response = inter.deferPublicResponse()
val u = inter.user
val g = this.interaction.getOriginalInteractionResponse().getGuild()
- for (b in ButtonManager.buttons) {
+ for (b in net.moonleay.botendo.buttons.ButtonManager.buttons) {
if (b.id != inter.componentId)
continue
b.onInteraction(response, g, u)
diff --git a/src/main/kotlin/de/limited_dev/botendo/Main.kt b/src/main/kotlin/net/moonleay/botendo/Main.kt
similarity index 82%
rename from src/main/kotlin/de/limited_dev/botendo/Main.kt
rename to src/main/kotlin/net/moonleay/botendo/Main.kt
index 428f277..882f7fb 100644
--- a/src/main/kotlin/de/limited_dev/botendo/Main.kt
+++ b/src/main/kotlin/net/moonleay/botendo/Main.kt
@@ -17,9 +17,7 @@
*
*/
-package de.limited_dev.botendo
-
-import de.limited_dev.botendo.build.BuildConstants
+package net.moonleay.botendo
///Show the splash and launch the Bot
@@ -34,6 +32,6 @@ suspend fun main() {
"M#########M \n" +
" "
)
- println("Bot v.${BuildConstants.version}, Kord Extensions v.${BuildConstants.kordVersion}, LavaKord v.${BuildConstants.lavaVersion}, Coroutines v.${BuildConstants.coroutinesVersion}")
+ println("Bot v.${net.moonleay.botendo.build.BuildConstants.version}, Kord Extensions v.${net.moonleay.botendo.build.BuildConstants.kordVersion}, LavaKord v.${net.moonleay.botendo.build.BuildConstants.lavaVersion}, Coroutines v.${net.moonleay.botendo.build.BuildConstants.coroutinesVersion}")
Bot.start()
}
diff --git a/src/main/kotlin/de/limited_dev/botendo/buttons/Button.kt b/src/main/kotlin/net/moonleay/botendo/buttons/Button.kt
similarity index 96%
rename from src/main/kotlin/de/limited_dev/botendo/buttons/Button.kt
rename to src/main/kotlin/net/moonleay/botendo/buttons/Button.kt
index ea63f82..40b55ec 100644
--- a/src/main/kotlin/de/limited_dev/botendo/buttons/Button.kt
+++ b/src/main/kotlin/net/moonleay/botendo/buttons/Button.kt
@@ -17,7 +17,7 @@
*
*/
-package de.limited_dev.botendo.buttons
+package net.moonleay.botendo.buttons
import dev.kord.core.behavior.interaction.response.DeferredPublicMessageInteractionResponseBehavior
import dev.kord.core.entity.Guild
diff --git a/src/main/kotlin/de/limited_dev/botendo/buttons/ButtonManager.kt b/src/main/kotlin/net/moonleay/botendo/buttons/ButtonManager.kt
similarity index 76%
rename from src/main/kotlin/de/limited_dev/botendo/buttons/ButtonManager.kt
rename to src/main/kotlin/net/moonleay/botendo/buttons/ButtonManager.kt
index 618676b..512dcbb 100644
--- a/src/main/kotlin/de/limited_dev/botendo/buttons/ButtonManager.kt
+++ b/src/main/kotlin/net/moonleay/botendo/buttons/ButtonManager.kt
@@ -17,10 +17,16 @@
*
*/
-package de.limited_dev.botendo.buttons
+package net.moonleay.botendo.buttons
-import de.limited_dev.botendo.buttons.music.*
+import net.moonleay.botendo.buttons.music.*
object ButtonManager {
- val buttons = listOf(RepeatButton(), PauseButton(), SkipButton(), QueueButton(), StopButton())
+ val buttons = listOf(
+ RepeatButton(),
+ PauseButton(),
+ SkipButton(),
+ QueueButton(),
+ StopButton()
+ )
}
diff --git a/src/main/kotlin/de/limited_dev/botendo/buttons/music/PauseButton.kt b/src/main/kotlin/net/moonleay/botendo/buttons/music/PauseButton.kt
similarity index 90%
rename from src/main/kotlin/de/limited_dev/botendo/buttons/music/PauseButton.kt
rename to src/main/kotlin/net/moonleay/botendo/buttons/music/PauseButton.kt
index df894b0..80423c1 100644
--- a/src/main/kotlin/de/limited_dev/botendo/buttons/music/PauseButton.kt
+++ b/src/main/kotlin/net/moonleay/botendo/buttons/music/PauseButton.kt
@@ -17,13 +17,8 @@
*
*/
-package de.limited_dev.botendo.buttons.music
+package net.moonleay.botendo.buttons.music
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.buttons.Button
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.ButtonUtil
-import de.limited_dev.botendo.util.MessageUtil
import dev.kord.common.Color
import dev.kord.core.behavior.interaction.response.DeferredPublicMessageInteractionResponseBehavior
import dev.kord.core.behavior.interaction.response.respond
@@ -31,15 +26,18 @@ import dev.kord.core.entity.Guild
import dev.kord.core.entity.User
import dev.kord.rest.builder.message.modify.actionRow
import dev.schlaubi.lavakord.audio.Link
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.ButtonUtil
+import net.moonleay.botendo.util.MessageUtil
-class PauseButton : Button("btn.music.pause") {
+class PauseButton : net.moonleay.botendo.buttons.Button("btn.music.pause") {
override suspend fun onInteraction(
response: DeferredPublicMessageInteractionResponseBehavior,
guild: Guild,
user: User
) {
val guildId = guild.id
- val link = Bot.lava.getLink(guildId.toString())
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId.toString())
val player = link.player
val voiceState = user.asMember(guildId).getVoiceStateOrNull()
if (voiceState == null) {
diff --git a/src/main/kotlin/de/limited_dev/botendo/buttons/music/QueueButton.kt b/src/main/kotlin/net/moonleay/botendo/buttons/music/QueueButton.kt
similarity index 88%
rename from src/main/kotlin/de/limited_dev/botendo/buttons/music/QueueButton.kt
rename to src/main/kotlin/net/moonleay/botendo/buttons/music/QueueButton.kt
index ef6d94b..d88bb58 100644
--- a/src/main/kotlin/de/limited_dev/botendo/buttons/music/QueueButton.kt
+++ b/src/main/kotlin/net/moonleay/botendo/buttons/music/QueueButton.kt
@@ -17,14 +17,8 @@
*
*/
-package de.limited_dev.botendo.buttons.music
+package net.moonleay.botendo.buttons.music
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.buttons.Button
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.ButtonUtil
-import de.limited_dev.botendo.util.MessageUtil
-import de.limited_dev.botendo.util.TimeUtil
import dev.kord.common.Color
import dev.kord.core.behavior.interaction.response.DeferredPublicMessageInteractionResponseBehavior
import dev.kord.core.behavior.interaction.response.respond
@@ -32,15 +26,19 @@ import dev.kord.core.entity.Guild
import dev.kord.core.entity.User
import dev.kord.rest.builder.message.modify.actionRow
import dev.schlaubi.lavakord.audio.Link
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.ButtonUtil
+import net.moonleay.botendo.util.MessageUtil
+import net.moonleay.botendo.util.TimeUtil
-class QueueButton : Button("btn.music.queue") {
+class QueueButton : net.moonleay.botendo.buttons.Button("btn.music.queue") {
override suspend fun onInteraction(
response: DeferredPublicMessageInteractionResponseBehavior,
guild: Guild,
user: User
) {
val guildId = guild.id
- val link = Bot.lava.getLink(guildId.toString())
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId.toString())
val player = link.player
if (link.state == Link.State.NOT_CONNECTED) {
response.respond {
diff --git a/src/main/kotlin/de/limited_dev/botendo/buttons/music/RepeatButton.kt b/src/main/kotlin/net/moonleay/botendo/buttons/music/RepeatButton.kt
similarity index 90%
rename from src/main/kotlin/de/limited_dev/botendo/buttons/music/RepeatButton.kt
rename to src/main/kotlin/net/moonleay/botendo/buttons/music/RepeatButton.kt
index 92c3ae2..ee3fdb6 100644
--- a/src/main/kotlin/de/limited_dev/botendo/buttons/music/RepeatButton.kt
+++ b/src/main/kotlin/net/moonleay/botendo/buttons/music/RepeatButton.kt
@@ -17,13 +17,8 @@
*
*/
-package de.limited_dev.botendo.buttons.music
+package net.moonleay.botendo.buttons.music
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.buttons.Button
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.ButtonUtil
-import de.limited_dev.botendo.util.MessageUtil
import dev.kord.common.Color
import dev.kord.core.behavior.interaction.response.DeferredPublicMessageInteractionResponseBehavior
import dev.kord.core.behavior.interaction.response.respond
@@ -31,15 +26,18 @@ import dev.kord.core.entity.Guild
import dev.kord.core.entity.User
import dev.kord.rest.builder.message.modify.actionRow
import dev.schlaubi.lavakord.audio.Link
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.ButtonUtil
+import net.moonleay.botendo.util.MessageUtil
-class RepeatButton : Button("btn.music.repeat") {
+class RepeatButton : net.moonleay.botendo.buttons.Button("btn.music.repeat") {
override suspend fun onInteraction(
response: DeferredPublicMessageInteractionResponseBehavior,
guild: Guild,
user: User
) {
val guildId = guild.id
- val link = Bot.lava.getLink(guildId.toString())
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId.toString())
val player = link.player
val voiceState = user.asMember(guildId).getVoiceStateOrNull()
if (voiceState == null) {
diff --git a/src/main/kotlin/de/limited_dev/botendo/buttons/music/SkipButton.kt b/src/main/kotlin/net/moonleay/botendo/buttons/music/SkipButton.kt
similarity index 89%
rename from src/main/kotlin/de/limited_dev/botendo/buttons/music/SkipButton.kt
rename to src/main/kotlin/net/moonleay/botendo/buttons/music/SkipButton.kt
index b1793b9..3c2b8e2 100644
--- a/src/main/kotlin/de/limited_dev/botendo/buttons/music/SkipButton.kt
+++ b/src/main/kotlin/net/moonleay/botendo/buttons/music/SkipButton.kt
@@ -17,15 +17,9 @@
*
*/
-package de.limited_dev.botendo.buttons.music
+package net.moonleay.botendo.buttons.music
+
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.buttons.Button
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.ButtonUtil
-import de.limited_dev.botendo.util.MessageUtil
-import de.limited_dev.botendo.util.TimeUtil
-import de.limited_dev.botendo.util.UrlUtil
import dev.kord.common.Color
import dev.kord.core.behavior.interaction.response.DeferredPublicMessageInteractionResponseBehavior
import dev.kord.core.behavior.interaction.response.respond
@@ -33,15 +27,20 @@ import dev.kord.core.entity.Guild
import dev.kord.core.entity.User
import dev.kord.rest.builder.message.modify.actionRow
import dev.schlaubi.lavakord.audio.Link
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.ButtonUtil
+import net.moonleay.botendo.util.MessageUtil
+import net.moonleay.botendo.util.TimeUtil
+import net.moonleay.botendo.util.UrlUtil
-class SkipButton : Button("btn.music.skip") {
+class SkipButton : net.moonleay.botendo.buttons.Button("btn.music.skip") {
override suspend fun onInteraction(
response: DeferredPublicMessageInteractionResponseBehavior,
guild: Guild,
user: User
) {
val guildId = guild.id
- val link = Bot.lava.getLink(guildId.toString())
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId.toString())
val player = link.player
val voiceState = user.asMember(guildId).getVoiceStateOrNull()
if (voiceState == null) {
@@ -100,7 +99,7 @@ class SkipButton : Button("btn.music.skip") {
val gts = MusicManager.getGuildTrackScheduler(guild.asGuild(), player)
if (!gts.isEmpty()) {
track = gts.getHead().toTrack()
- gts.playNext()
+ gts.playNext(link)
response.respond {
this.embeds = mutableListOf(
MessageUtil.getEmbedWithImage(
@@ -112,8 +111,8 @@ class SkipButton : Button("btn.music.skip") {
)
}\n" +
">>>${track.uri}",
- "https://img.youtube.com/vi/" + UrlUtil.getYtThumbnailUrl(track.uri!!) + "/maxresdefault.jpg",
- user.asUser().username + "#" + user.asUser().discriminator
+ user.asUser().username + "#" + user.asUser().discriminator,
+ "https://img.youtube.com/vi/" + UrlUtil.getYtThumbnailUrl(track.uri!!) + "/maxresdefault.jpg"
)
)
diff --git a/src/main/kotlin/de/limited_dev/botendo/buttons/music/StopButton.kt b/src/main/kotlin/net/moonleay/botendo/buttons/music/StopButton.kt
similarity index 90%
rename from src/main/kotlin/de/limited_dev/botendo/buttons/music/StopButton.kt
rename to src/main/kotlin/net/moonleay/botendo/buttons/music/StopButton.kt
index a6a1697..19b7632 100644
--- a/src/main/kotlin/de/limited_dev/botendo/buttons/music/StopButton.kt
+++ b/src/main/kotlin/net/moonleay/botendo/buttons/music/StopButton.kt
@@ -17,27 +17,25 @@
*
*/
-package de.limited_dev.botendo.buttons.music
+package net.moonleay.botendo.buttons.music
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.buttons.Button
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.MessageUtil
import dev.kord.common.Color
import dev.kord.core.behavior.interaction.response.DeferredPublicMessageInteractionResponseBehavior
import dev.kord.core.behavior.interaction.response.respond
import dev.kord.core.entity.Guild
import dev.kord.core.entity.User
import dev.schlaubi.lavakord.audio.Link
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.MessageUtil
-class StopButton : Button("btn.music.stop") {
+class StopButton : net.moonleay.botendo.buttons.Button("btn.music.stop") {
override suspend fun onInteraction(
response: DeferredPublicMessageInteractionResponseBehavior,
guild: Guild,
user: User
) {
val guildId = guild.id
- val link = Bot.lava.getLink(guildId.toString())
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId.toString())
val player = link.player
val voiceState = user.asMember(guildId).getVoiceStateOrNull()
if (voiceState == null) {
diff --git a/src/main/kotlin/de/limited_dev/botendo/data/CredentialManager.kt b/src/main/kotlin/net/moonleay/botendo/data/CredentialManager.kt
similarity index 98%
rename from src/main/kotlin/de/limited_dev/botendo/data/CredentialManager.kt
rename to src/main/kotlin/net/moonleay/botendo/data/CredentialManager.kt
index 78868fa..63fc538 100644
--- a/src/main/kotlin/de/limited_dev/botendo/data/CredentialManager.kt
+++ b/src/main/kotlin/net/moonleay/botendo/data/CredentialManager.kt
@@ -17,7 +17,7 @@
*
*/
-package de.limited_dev.botendo.data
+package net.moonleay.botendo.data
import java.io.*
import java.util.*
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/NowPlayingExtension.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/NowPlayingExtension.kt
similarity index 90%
rename from src/main/kotlin/de/limited_dev/botendo/extensions/music/NowPlayingExtension.kt
rename to src/main/kotlin/net/moonleay/botendo/extensions/music/NowPlayingExtension.kt
index 5788901..fe2773c 100644
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/NowPlayingExtension.kt
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/NowPlayingExtension.kt
@@ -17,21 +17,20 @@
*
*/
-package de.limited_dev.botendo.extensions.music
+package net.moonleay.botendo.extensions.music
import com.kotlindiscord.kord.extensions.extensions.Extension
import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand
import com.kotlindiscord.kord.extensions.types.respond
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.ButtonUtil
-import de.limited_dev.botendo.util.MessageUtil
-import de.limited_dev.botendo.util.TimeUtil
-import de.limited_dev.botendo.util.UrlUtil
import dev.kord.common.Color
import dev.kord.rest.builder.message.create.actionRow
import dev.schlaubi.lavakord.audio.Link
import dev.schlaubi.lavakord.kord.getLink
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.ButtonUtil
+import net.moonleay.botendo.util.MessageUtil
+import net.moonleay.botendo.util.TimeUtil
+import net.moonleay.botendo.util.UrlUtil
class NowPlayingExtension : Extension() {
override val name = "nowplaying"
@@ -41,7 +40,7 @@ class NowPlayingExtension : Extension() {
description = "Show what's currently playing"
this.action {
val guildId = this.guild!!.id
- val link = Bot.lava.getLink(guildId)
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId)
val player = link.player
if (link.state == Link.State.NOT_CONNECTED) {
MessageUtil.sendEmbedForPublicSlashCommand(
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/PlayExtension.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/PlayExtension.kt
similarity index 85%
rename from src/main/kotlin/de/limited_dev/botendo/extensions/music/PlayExtension.kt
rename to src/main/kotlin/net/moonleay/botendo/extensions/music/PlayExtension.kt
index 301c2c4..0eec770 100644
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/PlayExtension.kt
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/PlayExtension.kt
@@ -17,19 +17,17 @@
*
*/
-package de.limited_dev.botendo.extensions.music
+package net.moonleay.botendo.extensions.music
-import com.kotlindiscord.kord.extensions.commands.Arguments
-import com.kotlindiscord.kord.extensions.commands.converters.impl.string
import com.kotlindiscord.kord.extensions.extensions.Extension
import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand
import com.kotlindiscord.kord.extensions.types.respond
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.MessageUtil
import dev.kord.common.Color
import dev.schlaubi.lavakord.audio.Link
import dev.schlaubi.lavakord.kord.getLink
+import net.moonleay.botendo.extensions.music.components.LinkArguments
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.MessageUtil
class PlayExtension : Extension() {
@@ -37,12 +35,12 @@ class PlayExtension : Extension() {
override val name = "play"
override suspend fun setup() {
- publicSlashCommand(::PlayArgs) {
+ publicSlashCommand(::LinkArguments) {
name = "play"
description = "Play music"
this.action {
val guildId = this.guild!!.id
- val link = Bot.lava.getLink(guildId)
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId)
val u = this.user
val vcsUser = u.asMember(guildId).getVoiceStateOrNull()
if (vcsUser == null) {
@@ -97,12 +95,5 @@ class PlayExtension : Extension() {
}
}
}
-
- inner class PlayArgs : Arguments() {
- val linkquery by string {
- name = "linkqery"
- description = "Song link or search query"
- }
- }
}
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/QueueExtension.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/QueueExtension.kt
similarity index 90%
rename from src/main/kotlin/de/limited_dev/botendo/extensions/music/QueueExtension.kt
rename to src/main/kotlin/net/moonleay/botendo/extensions/music/QueueExtension.kt
index c27bde5..b75c629 100644
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/QueueExtension.kt
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/QueueExtension.kt
@@ -17,19 +17,18 @@
*
*/
-package de.limited_dev.botendo.extensions.music
+package net.moonleay.botendo.extensions.music
import com.kotlindiscord.kord.extensions.extensions.Extension
import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand
import com.kotlindiscord.kord.extensions.types.respond
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.ButtonUtil
-import de.limited_dev.botendo.util.MessageUtil
-import de.limited_dev.botendo.util.TimeUtil
import dev.kord.common.Color
import dev.kord.rest.builder.message.create.actionRow
import dev.schlaubi.lavakord.audio.Link
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.ButtonUtil
+import net.moonleay.botendo.util.MessageUtil
+import net.moonleay.botendo.util.TimeUtil
class QueueExtension : Extension() {
override val name = "queue"
@@ -39,7 +38,7 @@ class QueueExtension : Extension() {
description = "Show whats up next"
this.action {
val guildId = this.guild!!.id
- val link = Bot.lava.getLink(guildId.toString())
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId.toString())
val player = link.player
if (link.state == Link.State.NOT_CONNECTED) {
MessageUtil.sendEmbedForPublicSlashCommand(
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/SkipExtension.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/SkipExtension.kt
similarity index 89%
rename from src/main/kotlin/de/limited_dev/botendo/extensions/music/SkipExtension.kt
rename to src/main/kotlin/net/moonleay/botendo/extensions/music/SkipExtension.kt
index 9f9c2ee..ef761df 100644
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/SkipExtension.kt
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/SkipExtension.kt
@@ -17,20 +17,19 @@
*
*/
-package de.limited_dev.botendo.extensions.music
+package net.moonleay.botendo.extensions.music
import com.kotlindiscord.kord.extensions.extensions.Extension
import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand
import com.kotlindiscord.kord.extensions.types.respond
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.ButtonUtil
-import de.limited_dev.botendo.util.MessageUtil
-import de.limited_dev.botendo.util.TimeUtil
-import de.limited_dev.botendo.util.UrlUtil
import dev.kord.common.Color
import dev.kord.rest.builder.message.create.actionRow
import dev.schlaubi.lavakord.audio.Link
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.ButtonUtil
+import net.moonleay.botendo.util.MessageUtil
+import net.moonleay.botendo.util.TimeUtil
+import net.moonleay.botendo.util.UrlUtil
class SkipExtension : Extension() {
override val name = "skip"
@@ -40,7 +39,7 @@ class SkipExtension : Extension() {
description = "Skip to the next song in queue"
this.action {
val guildId = this.guild!!.id
- val link = Bot.lava.getLink(guildId.toString())
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId.toString())
val player = link.player
val u = this.user
val voiceState = u.asMember(guildId).getVoiceStateOrNull()
@@ -85,7 +84,7 @@ class SkipExtension : Extension() {
val gts = MusicManager.getGuildTrackScheduler(this.guild!!.asGuild(), player)
if (!gts.isEmpty()) {
track = gts.getHead().toTrack()
- gts.playNext()
+ gts.playNext(link)
} else {
player.stopTrack()
}
@@ -102,8 +101,8 @@ class SkipExtension : Extension() {
)
}\n" +
">>>${track.uri}",
- "https://img.youtube.com/vi/" + UrlUtil.getYtThumbnailUrl(track.uri!!) + "/maxresdefault.jpg",
- user.asUser().username + "#" + user.asUser().discriminator
+ user.asUser().username + "#" + user.asUser().discriminator,
+ "https://img.youtube.com/vi/" + UrlUtil.getYtThumbnailUrl(track.uri!!) + "/maxresdefault.jpg"
)
)
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/StopExtension.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/StopExtension.kt
similarity index 93%
rename from src/main/kotlin/de/limited_dev/botendo/extensions/music/StopExtension.kt
rename to src/main/kotlin/net/moonleay/botendo/extensions/music/StopExtension.kt
index b52330b..6b49b53 100644
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/StopExtension.kt
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/StopExtension.kt
@@ -17,17 +17,16 @@
*
*/
-package de.limited_dev.botendo.extensions.music
+package net.moonleay.botendo.extensions.music
import com.kotlindiscord.kord.extensions.extensions.Extension
import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand
import com.kotlindiscord.kord.extensions.types.respond
-import de.limited_dev.botendo.Bot
-import de.limited_dev.botendo.extensions.music.components.MusicManager
-import de.limited_dev.botendo.util.MessageUtil
import dev.kord.common.Color
import dev.schlaubi.lavakord.audio.Link
import dev.schlaubi.lavakord.kord.getLink
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.MessageUtil
class StopExtension : Extension() {
override val name = "stop"
@@ -37,7 +36,7 @@ class StopExtension : Extension() {
description = "Stop playing and start leavin'"
this.action {
val guildId = this.guild!!.id
- val link = Bot.lava.getLink(guildId)
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId)
val player = link.player
val u = this.user
val vcsUser = u.asMember(guildId).getVoiceStateOrNull()
diff --git a/src/main/kotlin/net/moonleay/botendo/extensions/music/UpsertExtension.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/UpsertExtension.kt
new file mode 100644
index 0000000..557eb85
--- /dev/null
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/UpsertExtension.kt
@@ -0,0 +1,99 @@
+/*
+ * Botendo
+ * Copyright (C) 2023 moonleay
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+package net.moonleay.botendo.extensions.music
+
+import com.kotlindiscord.kord.extensions.extensions.Extension
+import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand
+import com.kotlindiscord.kord.extensions.types.respond
+import dev.kord.common.Color
+import dev.schlaubi.lavakord.audio.Link
+import dev.schlaubi.lavakord.kord.getLink
+import net.moonleay.botendo.extensions.music.components.LinkArguments
+import net.moonleay.botendo.extensions.music.components.MusicManager
+import net.moonleay.botendo.util.MessageUtil
+
+
+class UpsertExtension : Extension() {
+
+ override val name = "upsert"
+
+ override suspend fun setup() {
+ publicSlashCommand(::LinkArguments) {
+ name = "upsert"
+ description = "Upsert music"
+ this.action {
+ val guildId = this.guild!!.id
+ val link = net.moonleay.botendo.Bot.lava.getLink(guildId)
+ val u = this.user
+ val vcsUser = u.asMember(guildId).getVoiceStateOrNull()
+ if (vcsUser == null) {
+ this.respond {
+ embeds.add(
+ MessageUtil.getEmbed(
+ Color(0xE0311A),
+ "You are not connected to a VC",
+ "Please connect to a VC",
+ u.asUser().username + "#" + u.asUser().discriminator
+ )
+ )
+ }
+ return@action
+ }
+
+ val channelId = vcsUser.channelId
+
+ if (link.state != Link.State.CONNECTED) {
+ link.connectAudio(channelId!!.value)
+ } else if (link.state == Link.State.CONNECTED && link.lastChannelId != channelId!!.value) {
+ this.respond {
+ embeds.add(
+ MessageUtil.getEmbed(
+ Color(0xE0311A),
+ "You are not in my VC",
+ "We are not in the same VC and therefore, you cannot play any music",
+ u.asUser().username + "#" + u.asUser().discriminator
+ )
+ )
+ }
+ return@action
+ }
+
+ val query = arguments.linkquery
+ val search = if (query.startsWith("http")) {
+ query
+ } else {
+ "ytsearch:$query"
+ }
+ this.respond {
+ embeds.add(
+ MessageUtil.getEmbed(
+ Color(0xE0A81A),
+ "Searching...",
+ "We are looking for $query",
+ u.asUser().username + "#" + u.asUser().discriminator
+ )
+ )
+ }
+ MusicManager.upsertIntoQueue(this, link, search)
+ }
+ }
+ }
+}
+
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/components/GuildTrackScheduler.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/components/GuildTrackScheduler.kt
similarity index 79%
rename from src/main/kotlin/de/limited_dev/botendo/extensions/music/components/GuildTrackScheduler.kt
rename to src/main/kotlin/net/moonleay/botendo/extensions/music/components/GuildTrackScheduler.kt
index bf8733c..9b35620 100644
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/components/GuildTrackScheduler.kt
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/components/GuildTrackScheduler.kt
@@ -17,12 +17,12 @@
*
*/
-package de.limited_dev.botendo.extensions.music.components
+package net.moonleay.botendo.extensions.music.components
-import de.limited_dev.botendo.util.Logger
import dev.schlaubi.lavakord.audio.*
import dev.schlaubi.lavakord.audio.player.Player
import dev.schlaubi.lavakord.rest.models.PartialTrack
+import net.moonleay.botendo.util.Logger
import java.util.concurrent.BlockingQueue
import java.util.concurrent.LinkedBlockingQueue
@@ -33,19 +33,35 @@ class GuildTrackScheduler(val pl: Player) {
private var hasRegisteredEvents = false
///Add a track to queue and start playing, if there is no song currently playing
- suspend fun queue(track: PartialTrack) {
+ suspend fun queue(track: PartialTrack, type: MusicManager.AddType) {
if (this.pl.playingTrack == null) {
play(track)
- } else {
- queue.offer(track)
+ return
+ }
+ when (type) {
+ MusicManager.AddType.QUEUE -> {
+ queue.offer(track)
+ }
+
+ MusicManager.AddType.UPSERT -> {
+ val nq = LinkedBlockingQueue()
+ nq.offer(track)
+ for (t in queue.toList()) {
+ nq.offer(t)
+ }
+ queue = nq
+ }
}
}
- suspend fun playNext() {
+ suspend fun playNext(link: Link) {
if (!queue.isEmpty())
this.pl.playTrack(queue.poll())
- else
+ else {
this.pl.stopTrack()
+ link.destroy()
+ clear()
+ }
}
private suspend fun play(tr: PartialTrack) {
@@ -80,7 +96,7 @@ class GuildTrackScheduler(val pl: Player) {
return
}
Logger.out("Track has ended; Playing next...")
- playNext()
+ playNext(net.moonleay.botendo.Bot.lava.getLink(e.guildId))
}
}
diff --git a/src/main/kotlin/net/moonleay/botendo/extensions/music/components/LinkArguments.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/components/LinkArguments.kt
new file mode 100644
index 0000000..8c0c065
--- /dev/null
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/components/LinkArguments.kt
@@ -0,0 +1,30 @@
+/*
+ * Botendo
+ * Copyright (C) 2023 moonleay
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+package net.moonleay.botendo.extensions.music.components
+
+import com.kotlindiscord.kord.extensions.commands.Arguments
+import com.kotlindiscord.kord.extensions.commands.converters.impl.string
+
+class LinkArguments : Arguments() {
+ val linkquery by string {
+ name = "linkqery"
+ description = "Song link or search query"
+ }
+}
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/music/components/MusicManager.kt b/src/main/kotlin/net/moonleay/botendo/extensions/music/components/MusicManager.kt
similarity index 85%
rename from src/main/kotlin/de/limited_dev/botendo/extensions/music/components/MusicManager.kt
rename to src/main/kotlin/net/moonleay/botendo/extensions/music/components/MusicManager.kt
index a1342a9..327c2ab 100644
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/music/components/MusicManager.kt
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/music/components/MusicManager.kt
@@ -17,16 +17,11 @@
*
*/
-package de.limited_dev.botendo.extensions.music.components
+package net.moonleay.botendo.extensions.music.components
import com.kotlindiscord.kord.extensions.commands.application.slash.PublicSlashCommandContext
import com.kotlindiscord.kord.extensions.components.forms.ModalForm
import com.kotlindiscord.kord.extensions.types.respond
-import de.limited_dev.botendo.extensions.music.PlayExtension
-import de.limited_dev.botendo.util.ButtonUtil
-import de.limited_dev.botendo.util.MessageUtil
-import de.limited_dev.botendo.util.TimeUtil
-import de.limited_dev.botendo.util.UrlUtil
import dev.kord.common.Color
import dev.kord.common.entity.Snowflake
import dev.kord.core.entity.Guild
@@ -35,6 +30,10 @@ import dev.schlaubi.lavakord.audio.Link
import dev.schlaubi.lavakord.audio.player.Player
import dev.schlaubi.lavakord.rest.loadItem
import dev.schlaubi.lavakord.rest.models.TrackResponse
+import net.moonleay.botendo.util.ButtonUtil
+import net.moonleay.botendo.util.MessageUtil
+import net.moonleay.botendo.util.TimeUtil
+import net.moonleay.botendo.util.UrlUtil
object MusicManager {
private var musicManagerMap: MutableMap = mutableMapOf()
@@ -47,17 +46,26 @@ object MusicManager {
suspend fun addToQueue(
- ctx: PublicSlashCommandContext,
+ ctx: PublicSlashCommandContext,
link: Link,
search: String
) {
- addToQueue(ctx, link, search, false)
+ addToQueue(ctx, link, search, AddType.QUEUE, false)
+ }
+
+ suspend fun upsertIntoQueue(
+ ctx: PublicSlashCommandContext,
+ link: Link,
+ search: String
+ ) {
+ addToQueue(ctx, link, search, AddType.UPSERT, false)
}
suspend fun addToQueue(
- ctx: PublicSlashCommandContext,
+ ctx: PublicSlashCommandContext,
link: Link,
search: String,
+ type: AddType,
silent: Boolean
) {
val player = link.player
@@ -69,13 +77,13 @@ object MusicManager {
when (item.loadType) {
TrackResponse.LoadType.TRACK_LOADED -> {
- gts.queue(item.track)
+ gts.queue(item.track, type)
if (!silent)
ctx.respond {
this.embeds.add(
MessageUtil.getEmbedWithImage(
Color(0x52E01A),
- "Queuing track from link",
+ "${type.s} track from link",
"**${item.track.info.title}**\n*Queue*\nby ${item.track.info.author} ;: ${
TimeUtil.getTimeFormatedRaw(
item.track.info.length
@@ -100,21 +108,20 @@ object MusicManager {
TrackResponse.LoadType.PLAYLIST_LOADED -> {
val l = item.tracks.reversed()
for (partialTrack in l) {
- gts.queue(partialTrack)
+ gts.queue(partialTrack, type)
}
if (!silent)
ctx.respond {
this.embeds.add(
- MessageUtil.getEmbedWithImage(
+ MessageUtil.getEmbed(
Color(0x52E01A),
- "Queuing playlist from link",
+ "${type.s} playlist from link",
"**${item.tracks.first().info.title}**\n*${item.playlistInfo.name}*\nby ${item.tracks.first().info.author} ;: ${
TimeUtil.getTimeFormatedRaw(
item.tracks.first().info.length
)
}\n" +
- ">>>${item.tracks.first().info.uri}", u.username + "#" + u.discriminator,
- "https://img.youtube.com/vi/" + UrlUtil.getYtThumbnailUrl(item.track.info.uri) + "/maxresdefault.jpg"
+ ">>>${item.tracks.first().info.uri}", u.username + "#" + u.discriminator
)
)
@@ -130,13 +137,13 @@ object MusicManager {
}
TrackResponse.LoadType.SEARCH_RESULT -> {
- gts.queue(item.tracks.first())
+ gts.queue(item.tracks.first(), type)
if (!silent)
ctx.respond {
this.embeds.add(
MessageUtil.getEmbedWithImage(
Color(0x52E01A),
- "Queuing track from query",
+ "${type.s} track from query",
"**${item.tracks.first().info.title}**\n*Queue*\nby ${item.tracks.first().info.author} ;: ${
TimeUtil.getTimeFormatedRaw(
item.tracks.first().info.length
@@ -186,4 +193,9 @@ object MusicManager {
}
}
}
+
+ enum class AddType(val s: String) {
+ QUEUE("Added"),
+ UPSERT("Upserted")
+ }
}
diff --git a/src/main/kotlin/de/limited_dev/botendo/extensions/util/InfoExtension.kt b/src/main/kotlin/net/moonleay/botendo/extensions/util/InfoExtension.kt
similarity index 68%
rename from src/main/kotlin/de/limited_dev/botendo/extensions/util/InfoExtension.kt
rename to src/main/kotlin/net/moonleay/botendo/extensions/util/InfoExtension.kt
index 1414ef1..6bd99f4 100644
--- a/src/main/kotlin/de/limited_dev/botendo/extensions/util/InfoExtension.kt
+++ b/src/main/kotlin/net/moonleay/botendo/extensions/util/InfoExtension.kt
@@ -17,13 +17,12 @@
*
*/
-package de.limited_dev.botendo.extensions.util
+package net.moonleay.botendo.extensions.util
import com.kotlindiscord.kord.extensions.extensions.Extension
import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand
-import de.limited_dev.botendo.build.BuildConstants
-import de.limited_dev.botendo.util.MessageUtil
import dev.kord.common.Color
+import net.moonleay.botendo.util.MessageUtil
class InfoExtension : Extension() {
override val name = "info"
@@ -34,11 +33,11 @@ class InfoExtension : Extension() {
this.action {
MessageUtil.sendEmbedForPublicSlashCommand(
this, Color(0x52E01A), "Botendo",
- "Botendo ***v." + BuildConstants.version + "***\n" +
- "Kord-Extensions ***v." + BuildConstants.kordVersion + "***\n" +
- "lavalink.kt ***v." + BuildConstants.lavaVersion + "***\n" +
- "Coroutines ***v." + BuildConstants.coroutinesVersion + "***\n\n\n" +
- "***Bot made by moonleay#7441***\n" +
+ "Botendo ***v." + net.moonleay.botendo.build.BuildConstants.version + "***\n" +
+ "Kord-Extensions ***v." + net.moonleay.botendo.build.BuildConstants.kordVersion + "***\n" +
+ "lavalink.kt ***v." + net.moonleay.botendo.build.BuildConstants.lavaVersion + "***\n" +
+ "Coroutines ***v." + net.moonleay.botendo.build.BuildConstants.coroutinesVersion + "***\n\n\n" +
+ "***Bot made by moonleay#0001***\n" +
"(c) 2023, licensed under GPL-3.0"
)
}
diff --git a/src/main/kotlin/de/limited_dev/botendo/util/ButtonUtil.kt b/src/main/kotlin/net/moonleay/botendo/util/ButtonUtil.kt
similarity index 97%
rename from src/main/kotlin/de/limited_dev/botendo/util/ButtonUtil.kt
rename to src/main/kotlin/net/moonleay/botendo/util/ButtonUtil.kt
index bf53762..c3b5ce6 100644
--- a/src/main/kotlin/de/limited_dev/botendo/util/ButtonUtil.kt
+++ b/src/main/kotlin/net/moonleay/botendo/util/ButtonUtil.kt
@@ -17,7 +17,7 @@
*
*/
-package de.limited_dev.botendo.util
+package net.moonleay.botendo.util
import dev.kord.common.entity.ButtonStyle
import dev.kord.rest.builder.component.ActionRowBuilder
diff --git a/src/main/kotlin/de/limited_dev/botendo/util/Logger.kt b/src/main/kotlin/net/moonleay/botendo/util/Logger.kt
similarity index 97%
rename from src/main/kotlin/de/limited_dev/botendo/util/Logger.kt
rename to src/main/kotlin/net/moonleay/botendo/util/Logger.kt
index dc5af6d..dde0ed5 100644
--- a/src/main/kotlin/de/limited_dev/botendo/util/Logger.kt
+++ b/src/main/kotlin/net/moonleay/botendo/util/Logger.kt
@@ -17,7 +17,7 @@
*
*/
-package de.limited_dev.botendo.util
+package net.moonleay.botendo.util
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
diff --git a/src/main/kotlin/de/limited_dev/botendo/util/MessageUtil.kt b/src/main/kotlin/net/moonleay/botendo/util/MessageUtil.kt
similarity index 98%
rename from src/main/kotlin/de/limited_dev/botendo/util/MessageUtil.kt
rename to src/main/kotlin/net/moonleay/botendo/util/MessageUtil.kt
index 1760c92..5255a2d 100644
--- a/src/main/kotlin/de/limited_dev/botendo/util/MessageUtil.kt
+++ b/src/main/kotlin/net/moonleay/botendo/util/MessageUtil.kt
@@ -17,7 +17,7 @@
*
*/
-package de.limited_dev.botendo.util
+package net.moonleay.botendo.util
import com.kotlindiscord.kord.extensions.commands.Arguments
import com.kotlindiscord.kord.extensions.commands.application.slash.PublicSlashCommandContext
diff --git a/src/main/kotlin/de/limited_dev/botendo/util/Status.kt b/src/main/kotlin/net/moonleay/botendo/util/Status.kt
similarity index 96%
rename from src/main/kotlin/de/limited_dev/botendo/util/Status.kt
rename to src/main/kotlin/net/moonleay/botendo/util/Status.kt
index 05cf91e..cc39a5d 100644
--- a/src/main/kotlin/de/limited_dev/botendo/util/Status.kt
+++ b/src/main/kotlin/net/moonleay/botendo/util/Status.kt
@@ -17,7 +17,7 @@
*
*/
-package de.limited_dev.botendo.util
+package net.moonleay.botendo.util
object Status {
//TODO: impl.
diff --git a/src/main/kotlin/de/limited_dev/botendo/util/TimeUtil.kt b/src/main/kotlin/net/moonleay/botendo/util/TimeUtil.kt
similarity index 98%
rename from src/main/kotlin/de/limited_dev/botendo/util/TimeUtil.kt
rename to src/main/kotlin/net/moonleay/botendo/util/TimeUtil.kt
index 2c914dd..75c9e0a 100644
--- a/src/main/kotlin/de/limited_dev/botendo/util/TimeUtil.kt
+++ b/src/main/kotlin/net/moonleay/botendo/util/TimeUtil.kt
@@ -17,7 +17,7 @@
*
*/
-package de.limited_dev.botendo.util
+package net.moonleay.botendo.util
import java.util.concurrent.TimeUnit
diff --git a/src/main/kotlin/de/limited_dev/botendo/util/UrlUtil.kt b/src/main/kotlin/net/moonleay/botendo/util/UrlUtil.kt
similarity index 96%
rename from src/main/kotlin/de/limited_dev/botendo/util/UrlUtil.kt
rename to src/main/kotlin/net/moonleay/botendo/util/UrlUtil.kt
index 064d252..a922c1a 100644
--- a/src/main/kotlin/de/limited_dev/botendo/util/UrlUtil.kt
+++ b/src/main/kotlin/net/moonleay/botendo/util/UrlUtil.kt
@@ -17,7 +17,7 @@
*
*/
-package de.limited_dev.botendo.util
+package net.moonleay.botendo.util
object UrlUtil {
///Strip the video ID from a YouTube link
diff --git a/src/main/templates/de/limited_dev/botendo/build/BuildConstants.kt b/src/main/templates/de/limited_dev/botendo/build/BuildConstants.kt
deleted file mode 100644
index 8e33917..0000000
--- a/src/main/templates/de/limited_dev/botendo/build/BuildConstants.kt
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Botendo
- * Copyright (C) 2023 limited_dev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
-
-package de.limited_dev.botendo.build
-
-internal object BuildConstants {
- const val version = "${version}"
- const val ownerID = "${ownerID}"
- const val kordVersion = "${kordversion}"
- const val lavaVersion = "${lavaversion}"
- const val coroutinesVersion = "${coroutinesversion}"
-}
diff --git a/src/main/templates/net/moonleay/botendo/build/BuildConstants.kt b/src/main/templates/net/moonleay/botendo/build/BuildConstants.kt
new file mode 100644
index 0000000..a89a5fd
--- /dev/null
+++ b/src/main/templates/net/moonleay/botendo/build/BuildConstants.kt
@@ -0,0 +1,28 @@
+/*
+ * Botendo
+ * Copyright (C) 2023 moonleay
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+package net.moonleay.botendo.build
+
+internal object BuildConstants {
+ const val version = "${version}"
+ const val ownerID = "${ownerID}"
+ const val kordVersion = "${kordversion}"
+ const val lavaVersion = "${lavaversion}"
+ const val coroutinesVersion = "${coroutinesversion}"
+}