25 lines
891 B
Kotlin
25 lines
891 B
Kotlin
package dev.inmo.tgbotapi.libraries.cache.admins
|
|
|
|
import dev.inmo.tgbotapi.extensions.api.bot.getMe
|
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
|
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onChatMemberUpdated
|
|
import dev.inmo.tgbotapi.types.chat.member.AdministratorChatMember
|
|
|
|
suspend fun BehaviourContext.activateAdminsChangesListening(
|
|
repo: DefaultAdminsCacheAPIRepo
|
|
) {
|
|
val me = getMe()
|
|
onChatMemberUpdated {
|
|
when {
|
|
it.oldChatMemberState is AdministratorChatMember && it.newChatMemberState !is AdministratorChatMember ||
|
|
it.newChatMemberState is AdministratorChatMember && it.oldChatMemberState !is AdministratorChatMember -> {
|
|
updateAdmins(
|
|
it.chat.id,
|
|
repo,
|
|
me
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|