29 lines
1000 B
Kotlin
29 lines
1000 B
Kotlin
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"
|
|
}
|
|
}
|