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

21 lines
881 B
Kotlin
Raw Normal View History

2021-02-22 12:11:12 +00:00
package dev.inmo.tgbotapi.libraries.cache.admins
2021-03-30 16:36:19 +00:00
import dev.inmo.tgbotapi.extensions.utils.asGroupContentMessage
2021-02-22 12:11:12 +00:00
import dev.inmo.tgbotapi.types.*
2022-05-22 05:56:30 +00:00
import dev.inmo.tgbotapi.types.chat.member.AdministratorChatMember
2021-03-30 16:36:19 +00:00
import dev.inmo.tgbotapi.types.message.abstracts.GroupContentMessage
import dev.inmo.tgbotapi.types.message.abstracts.Message
2021-02-22 12:11:12 +00:00
interface AdminsCacheAPI {
2022-11-10 15:25:31 +00:00
suspend fun getChatAdmins(chatId: IdChatIdentifier): List<AdministratorChatMember>?
suspend fun isAdmin(chatId: IdChatIdentifier, userId: UserId): Boolean = getChatAdmins(chatId) ?.any {
2021-02-23 07:21:04 +00:00
it.user.id == userId
} == true
2021-03-30 16:36:19 +00:00
suspend fun sentByAdmin(groupContentMessage: GroupContentMessage<*>): Boolean
suspend fun sentByAdmin(message: Message): Boolean? {
return sentByAdmin(message.asGroupContentMessage() ?: return null)
}
2021-02-22 12:11:12 +00:00
suspend fun settings(): AdminsCacheSettingsAPI
}