![JAR search and dependency download from the Maven repository](/logo.png)
io.github.freya022.botcommands.internal.components.data.PersistentTimeout.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of BotCommands Show documentation
Show all versions of BotCommands Show documentation
A Kotlin-first (and Java) framework that makes creating Discord bots a piece of cake, using the JDA library.
package io.github.freya022.botcommands.internal.components.data
import io.github.freya022.botcommands.api.components.data.ComponentTimeout
import kotlinx.datetime.Instant
import kotlinx.datetime.toKotlinInstant
import net.dv8tion.jda.api.entities.ISnowflake
import java.sql.Timestamp as SQLTimestamp
internal class PersistentTimeout private constructor(
override val expirationTimestamp: Instant,
val handlerName: String?,
val userData: List
) : ComponentTimeout {
internal companion object {
internal fun create(expirationTimestamp: Instant): PersistentTimeout {
return PersistentTimeout(
expirationTimestamp,
null,
emptyList()
)
}
internal fun create(expirationTimestamp: Instant, handlerName: String?, userData: List): PersistentTimeout {
return PersistentTimeout(
expirationTimestamp,
handlerName,
userData.map { arg ->
when (arg) {
null -> null
is ISnowflake -> arg.id
else -> arg.toString()
}
}
)
}
internal fun fromData(expirationTimestamp: SQLTimestamp, handlerName: String?, userData: List): PersistentTimeout {
return PersistentTimeout(
expirationTimestamp.toInstant().toKotlinInstant(),
handlerName,
userData
)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy