Skip to content

Commit 02c6db3

Browse files
added better inline query handling
1 parent 413a3cd commit 02c6db3

File tree

4 files changed

+35
-4
lines changed

4 files changed

+35
-4
lines changed

app/src/main/kotlin/com/github/livingwithhippos/unchained_bot/BotApplication.kt

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import com.github.kotlintelegrambot.entities.inlinequeryresults.InlineQueryResul
1010
import com.github.kotlintelegrambot.entities.inlinequeryresults.InputMessageContent
1111
import com.github.kotlintelegrambot.extensions.filters.Filter
1212
import com.github.kotlintelegrambot.logging.LogLevel
13+
import com.github.livingwithhippos.unchained_bot.data.model.DownloadItem
1314
import com.github.livingwithhippos.unchained_bot.data.model.Stream
1415
import com.github.livingwithhippos.unchained_bot.data.model.TorrentItem
1516
import com.github.livingwithhippos.unchained_bot.data.model.UploadedTorrent
@@ -26,7 +27,6 @@ import com.github.livingwithhippos.unchained_bot.utilities.isMagnet
2627
import com.github.livingwithhippos.unchained_bot.utilities.isTorrent
2728
import com.github.livingwithhippos.unchained_bot.utilities.isWebUrl
2829
import com.github.livingwithhippos.unchained_bot.utilities.runCommand
29-
import com.github.livingwithhippos.unchained_bot.data.model.DownloadItem
3030
import kotlinx.coroutines.CoroutineScope
3131
import kotlinx.coroutines.Dispatchers
3232
import kotlinx.coroutines.Job
@@ -48,7 +48,8 @@ class BotApplication : KoinComponent {
4848
private val privateApiKey: String = getKoin().getProperty("PRIVATE_API_KEY") ?: ""
4949
private val wgetArguments: String = getKoin().getProperty("WGET_ARGUMENTS") ?: "--no-verbose"
5050
private val logLevelArgument: String = getKoin().getProperty("LOG_LEVEL") ?: "error"
51-
private val enableQueriesArgument: Boolean = getKoin().getProperty<String>("ENABLE_QUERIES").equals("true", true)
51+
private val enableQuery: String = getKoin().getProperty("ENABLE_QUERIES") ?: "false"
52+
private val enableQueriesArgument: Boolean = enableQuery.equals("true", true) || enableQuery == "1"
5253
private val whitelistedUser: Long = getKoin().getProperty<String>("WHITELISTED_USER")?.toLongOrNull() ?: 0
5354
private val localeArgument: String = getKoin().getProperty("LOCALE") ?: "en"
5455

@@ -344,6 +345,8 @@ class BotApplication : KoinComponent {
344345
}
345346
}
346347

348+
// todo: add torrents and magnet support, add downloads and torrents list from the menu as items if the query is empty
349+
// decide what to do with authentication, use env variable
347350
if (enableQueriesArgument) {
348351
// N.B: you need to enable the inlining with BotFather using `/setinline` to use this
349352
inlineQuery {
@@ -366,7 +369,24 @@ class BotApplication : KoinComponent {
366369
itemMessage,
367370
parseMode = ParseMode.MARKDOWN
368371
),
369-
description = localization.unrestrictDescription
372+
description = localization.unrestrictDescription,
373+
url = null
374+
)
375+
)
376+
377+
bot.answerInlineQuery(inlineQuery.id, inlineResults)
378+
379+
} else {
380+
val inlineResults = listOf(
381+
InlineQueryResult.Article(
382+
id = "1",
383+
title = localization.error,
384+
inputMessageContent = InputMessageContent.Text(
385+
localization.unrestrictError,
386+
parseMode = ParseMode.MARKDOWN
387+
),
388+
description = localization.unrestrictError,
389+
url = null
370390
)
371391
)
372392

@@ -384,7 +404,8 @@ class BotApplication : KoinComponent {
384404
}
385405

386406
private fun printCurrentParameters() {
387-
println("""
407+
println(
408+
"""
388409
389410
******************
390411
* BOT PARAMETERS *

app/src/main/kotlin/com/github/livingwithhippos/unchained_bot/localization/EN.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ object EN : Localization {
5050
get() = "Unrestrict"
5151
override val unrestrictDescription: String
5252
get() = "Unrestrict a single link"
53+
override val unrestrictError: String
54+
get() = "Error unrestrcting link. Unsupported host?"
5355
override val startingDownload: String
5456
get() = "Starting download"
5557
override val getDownloadLink: String
@@ -72,4 +74,6 @@ object EN : Localization {
7274
get() = "liveMp4 quality"
7375
override val h264WebMQuality: String
7476
get() = "h264WebM quality"
77+
override val error: String
78+
get() = "Error"
7579
}

app/src/main/kotlin/com/github/livingwithhippos/unchained_bot/localization/IT.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ object IT : Localization {
5050
get() = "Sblocca"
5151
override val unrestrictDescription: String
5252
get() = "Sblocca un singolo link"
53+
override val unrestrictError: String
54+
get() = "Errore di sblocco link. Host non supportato?"
5355
override val startingDownload: String
5456
get() = "Avviando il download"
5557
override val getDownloadLink: String
@@ -72,4 +74,6 @@ object IT : Localization {
7274
get() = "Qualità liveMp4"
7375
override val h264WebMQuality: String
7476
get() = "Qualità h264WebM"
77+
override val error: String
78+
get() = "Errore"
7579
}

app/src/main/kotlin/com/github/livingwithhippos/unchained_bot/localization/Localization.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ interface Localization {
2121
val welcomeMessage: String
2222
val unrestrict: String
2323
val unrestrictDescription: String
24+
val unrestrictError: String
2425
val startingDownload: String
2526
val getDownloadLink: String
2627
val wrongDownloadSyntax: String
@@ -32,6 +33,7 @@ interface Localization {
3233
val dashQuality: String
3334
val liveMP4Quality: String
3435
val h264WebMQuality: String
36+
val error: String
3537
}
3638

3739
val localeMapping: Map<String, Localization> = mapOf(

0 commit comments

Comments
 (0)