diff --git a/src/main/kotlin/de/nycode/bankobot/commands/general/DocsCommand.kt b/src/main/kotlin/de/nycode/bankobot/commands/general/DocsCommand.kt index eec3058..7d95ccd 100644 --- a/src/main/kotlin/de/nycode/bankobot/commands/general/DocsCommand.kt +++ b/src/main/kotlin/de/nycode/bankobot/commands/general/DocsCommand.kt @@ -43,6 +43,7 @@ import dev.kord.x.commands.annotation.AutoWired import dev.kord.x.commands.annotation.ModuleName import dev.kord.x.commands.argument.Argument import dev.kord.x.commands.argument.extension.filter +import dev.kord.x.commands.argument.extension.map import dev.kord.x.commands.argument.extension.named import dev.kord.x.commands.argument.result.extension.FilterResult import dev.kord.x.commands.argument.text.WordArgument @@ -63,6 +64,7 @@ private fun Argument.docsFilter() = filter { doc -> @OptIn(KordPreview::class) private val JavaDocArgument = WordArgument .named("javadoc-name") + .map { it.toLowerCase() } .docsFilter() .asSlashArgument("Das Javadoc in dem gesucht werden soll") { choice("JDK 11 Dokumentation", "jdk11") diff --git a/src/main/kotlin/de/nycode/bankobot/commands/general/SearchCommand.kt b/src/main/kotlin/de/nycode/bankobot/commands/general/SearchCommand.kt index 96ed558..1034427 100644 --- a/src/main/kotlin/de/nycode/bankobot/commands/general/SearchCommand.kt +++ b/src/main/kotlin/de/nycode/bankobot/commands/general/SearchCommand.kt @@ -57,7 +57,7 @@ fun searchCommand() = command("google") { private suspend fun KordCommandEvent.search(search: String) { doExpensiveTask("Searching...", "Bitte warte, bis ich Ergebnisse gefunden habe!") { val list = getResultAsList(search) - if (list == null) { + if (list.isNullOrEmpty()) { editEmbed(Embeds.error("Schade!", "Google möchte dir anscheinend nicht antworten! ._.")) } else { delete() diff --git a/src/main/kotlin/de/nycode/bankobot/commands/tag/commands/SearchTagsCommand.kt b/src/main/kotlin/de/nycode/bankobot/commands/tag/commands/SearchTagsCommand.kt index 7ef36ab..1dab0bc 100644 --- a/src/main/kotlin/de/nycode/bankobot/commands/tag/commands/SearchTagsCommand.kt +++ b/src/main/kotlin/de/nycode/bankobot/commands/tag/commands/SearchTagsCommand.kt @@ -29,6 +29,8 @@ import de.nycode.bankobot.command.command import de.nycode.bankobot.command.slashcommands.arguments.asSlashArgument import de.nycode.bankobot.commands.TagModule import de.nycode.bankobot.commands.tag.searchTags +import de.nycode.bankobot.utils.Embeds +import de.nycode.bankobot.utils.Embeds.respondEmbed import de.nycode.bankobot.utils.LazyItemProvider import de.nycode.bankobot.utils.paginate import dev.kord.x.commands.annotation.AutoWired @@ -46,6 +48,13 @@ internal fun searchTagsCommand(): CommandSet = command("search-tag") { invoke(WordArgument.named("Suchbegriff").asSlashArgument("Der Suchbegriff")) { search -> val tags = searchTags(search) + if (tags.isEmpty()) { + respondEmbed(Embeds.error( + "Nichts gefunden!", + "Es scheint keine tags für den Suchbegriff $search zu geben" + )) + return@invoke + } LazyItemProvider(tags.size) { start, end -> tags.subList(start, end + 1) .map { it.name } diff --git a/src/main/kotlin/de/nycode/bankobot/utils/GoogleUtils.kt b/src/main/kotlin/de/nycode/bankobot/utils/GoogleUtils.kt index 1b02f4b..35847bb 100644 --- a/src/main/kotlin/de/nycode/bankobot/utils/GoogleUtils.kt +++ b/src/main/kotlin/de/nycode/bankobot/utils/GoogleUtils.kt @@ -27,7 +27,9 @@ package de.nycode.bankobot.utils import de.nycode.bankobot.BankoBot import de.nycode.bankobot.config.Config +import io.ktor.client.features.* import io.ktor.client.request.* +import io.ktor.client.statement.* import kotlinx.serialization.Serializable object GoogleUtil {