mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2025-09-14 20:49:36 +00:00
fixes
This commit is contained in:
@@ -11,7 +11,6 @@ kotlin {
|
||||
commonMain {
|
||||
dependencies {
|
||||
api project(":plaguposter.common")
|
||||
api libs.tgbotapi.admins
|
||||
}
|
||||
}
|
||||
jvmMain {
|
||||
|
@@ -4,14 +4,16 @@ import dev.inmo.micro_utils.pagination.Pagination
|
||||
import dev.inmo.micro_utils.pagination.utils.paginate
|
||||
import dev.inmo.plagubot.Plugin
|
||||
import dev.inmo.plaguposter.common.ChatConfig
|
||||
import dev.inmo.plaguposter.inlines.models.Format
|
||||
import dev.inmo.plaguposter.inlines.models.OfferTemplate
|
||||
import dev.inmo.plaguposter.inlines.repos.InlineTemplatesRepo
|
||||
import dev.inmo.tgbotapi.bot.exceptions.RequestException
|
||||
import dev.inmo.tgbotapi.extensions.api.answers.answerInlineQuery
|
||||
import dev.inmo.tgbotapi.extensions.api.send.reply
|
||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onBaseInlineQuery
|
||||
import dev.inmo.tgbotapi.libraries.cache.admins.AdminsCacheAPI
|
||||
import dev.inmo.tgbotapi.libraries.cache.admins.adminsPlugin
|
||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand
|
||||
import dev.inmo.tgbotapi.extensions.utils.types.buttons.*
|
||||
import dev.inmo.tgbotapi.types.inlineQueryAnswerResultsLimit
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.*
|
||||
@@ -30,15 +32,10 @@ object Plugin : Plugin {
|
||||
}
|
||||
|
||||
override suspend fun BehaviourContext.setupBotPlugin(koin: Koin) {
|
||||
val adminsApi = koin.get<AdminsCacheAPI>()
|
||||
val chatConfig = koin.get<ChatConfig>()
|
||||
val templatesRepo = koin.get<InlineTemplatesRepo>()
|
||||
onBaseInlineQuery { query ->
|
||||
if (!adminsApi.isAdmin(chatConfig.sourceChatId, query.from.id)) {
|
||||
answerInlineQuery(query, cachedTime = 0)
|
||||
return@onBaseInlineQuery
|
||||
}
|
||||
val page = query.offset.toIntOrNull() ?: 0
|
||||
val queryString = query.query.trim()
|
||||
try {
|
||||
answerInlineQuery(
|
||||
query,
|
||||
@@ -50,7 +47,7 @@ object Plugin : Plugin {
|
||||
).results.mapIndexedNotNull { index, offerTemplate ->
|
||||
offerTemplate.createArticleResult(
|
||||
index.toString(),
|
||||
query.query
|
||||
queryString
|
||||
)
|
||||
},
|
||||
nextOffset = (page + 1).toString(),
|
||||
@@ -63,5 +60,22 @@ object Plugin : Plugin {
|
||||
)
|
||||
}
|
||||
}
|
||||
onCommand("help", requireOnlyCommandInMessage = true) {
|
||||
reply(
|
||||
it,
|
||||
"Push the button above to see available commands",
|
||||
replyMarkup = flatInlineKeyboard {
|
||||
inlineQueryInCurrentChatButton("Toggle commands", "")
|
||||
}
|
||||
)
|
||||
}
|
||||
koin.getOrNull<InlineTemplatesRepo>() ?.apply {
|
||||
addTemplate(
|
||||
OfferTemplate(
|
||||
"Trigger help button",
|
||||
listOf(Format("/help"))
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user