mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2026-03-21 00:12:42 +00:00
add coloring of inline buttons
This commit is contained in:
@@ -33,6 +33,7 @@ import dev.inmo.tgbotapi.extensions.utils.extensions.sameMessage
|
||||
import dev.inmo.tgbotapi.extensions.utils.types.buttons.dataButton
|
||||
import dev.inmo.tgbotapi.extensions.utils.types.buttons.flatInlineKeyboard
|
||||
import dev.inmo.tgbotapi.types.MilliSeconds
|
||||
import dev.inmo.tgbotapi.types.buttons.KeyboardButtonStyle
|
||||
import dev.inmo.tgbotapi.utils.bold
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.flow.filter
|
||||
@@ -148,7 +149,7 @@ object Plugin : Plugin {
|
||||
message,
|
||||
text = "Are you sure want to trigger posts garbage collecting?",
|
||||
replyMarkup = flatInlineKeyboard {
|
||||
dataButton("Sure", yesData)
|
||||
dataButton("Sure", yesData, style = KeyboardButtonStyle.Primary)
|
||||
dataButton("No", noData)
|
||||
}
|
||||
)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package dev.inmo.plaguposter.posts.panel
|
||||
|
||||
import com.benasher44.uuid.uuid4
|
||||
import dev.inmo.micro_utils.coroutines.runCatchingLogging
|
||||
import dev.inmo.micro_utils.coroutines.runCatchingSafely
|
||||
import dev.inmo.micro_utils.coroutines.subscribeLoggingDropExceptions
|
||||
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
|
||||
import dev.inmo.micro_utils.koin.getAllDistinct
|
||||
import dev.inmo.micro_utils.repos.*
|
||||
@@ -32,6 +34,7 @@ import dev.inmo.tgbotapi.types.MessageId
|
||||
import dev.inmo.tgbotapi.types.ReplyParameters
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.buttons.KeyboardButtonStyle
|
||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||
import dev.inmo.tgbotapi.utils.bold
|
||||
import dev.inmo.tgbotapi.utils.buildEntities
|
||||
@@ -69,7 +72,8 @@ object Plugin : Plugin {
|
||||
PanelButtonBuilder {
|
||||
CallbackDataInlineKeyboardButton(
|
||||
text,
|
||||
"refresh ${it.id.string}"
|
||||
"refresh ${it.id.string}",
|
||||
style = KeyboardButtonStyle.Primary
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -97,7 +101,7 @@ object Plugin : Plugin {
|
||||
basePostsMessages
|
||||
}
|
||||
|
||||
postsRepo.newObjectsFlow.subscribeSafelyWithoutExceptions(this) {
|
||||
postsRepo.newObjectsFlow.subscribeLoggingDropExceptions(this) {
|
||||
val firstContent = it.content.first()
|
||||
val buttons = api.buttonsBuilders.chunked(config.buttonsPerRow).mapNotNull { row ->
|
||||
row.mapNotNull { builder ->
|
||||
@@ -162,7 +166,7 @@ object Plugin : Plugin {
|
||||
edit(
|
||||
query.message,
|
||||
replyMarkup = flatInlineKeyboard {
|
||||
dataButton("\uD83D\uDDD1", approveData)
|
||||
dataButton("\uD83D\uDDD1", approveData, style = KeyboardButtonStyle.Danger)
|
||||
api.RootPanelButtonBuilder.buildButton(post) ?.let(::add)
|
||||
}
|
||||
)
|
||||
@@ -184,7 +188,7 @@ object Plugin : Plugin {
|
||||
val postId = query.data.removePrefix("refresh ").let(::PostId)
|
||||
val (chatId, messageId) = postsMessages.get(postId) ?: return@onMessageDataCallbackQuery
|
||||
|
||||
runCatchingSafely {
|
||||
runCatching {
|
||||
refreshPostMessage(
|
||||
postId,
|
||||
chatId,
|
||||
|
||||
Reference in New Issue
Block a user