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
|
|
|
|
}
|