add opportunity to set/unset tags rights in tags bot

This commit is contained in:
2026-03-02 19:21:48 +06:00
parent 1a4533221c
commit 828ab43317

View File

@@ -2,10 +2,13 @@ import dev.inmo.kslog.common.KSLog
import dev.inmo.kslog.common.LogLevel
import dev.inmo.kslog.common.defaultMessageFormatter
import dev.inmo.kslog.common.setDefaultKSLog
import dev.inmo.micro_utils.coroutines.subscribeLoggingDropExceptions
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
import dev.inmo.tgbotapi.abstracts.FromUser
import dev.inmo.tgbotapi.extensions.api.bot.getMe
import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountGiftsFlow
import dev.inmo.tgbotapi.extensions.api.chat.members.promoteChatAdministrator
import dev.inmo.tgbotapi.extensions.api.chat.members.promoteChatMember
import dev.inmo.tgbotapi.extensions.api.chat.members.setChatMemberTag
import dev.inmo.tgbotapi.extensions.api.gifts.getChatGiftsFlow
import dev.inmo.tgbotapi.extensions.api.gifts.getUserGiftsFlow
@@ -66,6 +69,16 @@ suspend fun main(vararg args: String) {
)
}
onCommand("setCanManageTags", requireOnlyCommandInMessage = false) {
val reply = it.replyTo ?.groupContentMessageOrNull() ?: return@onCommand
val setOrUnset = it.content.text.removePrefix("/setCanManageTags").removePrefix(" ") == "true"
promoteChatAdministrator(
it.chat.id,
reply.fromUserOrNull() ?.user ?.id ?: return@onCommand,
canManageTags = setOrUnset
)
}
onCommand("removeChatMemberTag") {
val reply = it.replyTo ?.groupContentMessageOrNull() ?: return@onCommand
setChatMemberTag(
@@ -81,8 +94,8 @@ suspend fun main(vararg args: String) {
reply(it, "Tag by getting via risk API: ${it.sender_tag}")
}
// allUpdatesFlow.subscribeSafelyWithoutExceptions(this) {
// println(it)
// }
allUpdatesFlow.subscribeLoggingDropExceptions(this) {
println(it)
}
}.second.join()
}