complete timer plugin

This commit is contained in:
2022-12-14 11:50:02 +06:00
parent c632a2ba14
commit b9c78982b5
22 changed files with 304 additions and 52 deletions

View File

@@ -0,0 +1,28 @@
package dev.inmo.plaguposter.triggers.timer
import dev.inmo.plaguposter.common.SuccessfulSymbol
import dev.inmo.plaguposter.common.UnsuccessfulSymbol
import dev.inmo.plaguposter.posts.models.RegisteredPost
import dev.inmo.plaguposter.posts.panel.PanelButtonBuilder
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.CallbackDataInlineKeyboardButton
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
class TimerPanelButton(
private val timersRepo: TimersRepo
) : PanelButtonBuilder {
override val weight: Int
get() = 0
override suspend fun buildButton(post: RegisteredPost): InlineKeyboardButton? {
val publishingTime = timersRepo.get(post.id)
return CallbackDataInlineKeyboardButton(
"${ if (publishingTime == null) UnsuccessfulSymbol else SuccessfulSymbol }",
"$timerSetPrefix ${post.id}"
)
}
companion object {
const val timerSetPrefix = "timer_set_init"
}
}