TelegramBotApiLibraries/cache/admins/common/src/commonMain/kotlin/dev/inmo/tgbotapi/libraries/cache/admins/MessageSenderVerification.kt

21 lines
680 B
Kotlin
Raw Normal View History

2021-02-23 07:18:22 +00:00
package dev.inmo.tgbotapi.libraries.cache.admins
import dev.inmo.tgbotapi.types.ChatId
import dev.inmo.tgbotapi.types.UserId
import dev.inmo.tgbotapi.types.message.abstracts.*
suspend fun AdminsCacheAPI.verifyMessageFromAdmin(message: ContentMessage<*>) = when (message) {
2021-02-23 07:21:04 +00:00
is CommonGroupContentMessage<*> -> isAdmin(message.chat.id, message.user.id)
2021-02-23 07:18:22 +00:00
is AnonymousGroupContentMessage<*> -> true
else -> false
}
suspend fun <R> ContentMessage<*>.doAfterVerification(adminsCacheAPI: AdminsCacheAPI, block: suspend () -> R): R? {
val verified = adminsCacheAPI.verifyMessageFromAdmin(this)
return if (verified) {
block()
} else {
null
}
}