@@ -2,10 +2,13 @@ import dev.inmo.kslog.common.KSLog
22import dev.inmo.kslog.common.LogLevel
33import dev.inmo.kslog.common.defaultMessageFormatter
44import dev.inmo.kslog.common.setDefaultKSLog
5+ import dev.inmo.micro_utils.coroutines.subscribeLoggingDropExceptions
56import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
67import dev.inmo.tgbotapi.abstracts.FromUser
78import dev.inmo.tgbotapi.extensions.api.bot.getMe
89import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountGiftsFlow
10+ import dev.inmo.tgbotapi.extensions.api.chat.members.promoteChatAdministrator
11+ import dev.inmo.tgbotapi.extensions.api.chat.members.promoteChatMember
912import dev.inmo.tgbotapi.extensions.api.chat.members.setChatMemberTag
1013import dev.inmo.tgbotapi.extensions.api.gifts.getChatGiftsFlow
1114import dev.inmo.tgbotapi.extensions.api.gifts.getUserGiftsFlow
@@ -66,6 +69,16 @@ suspend fun main(vararg args: String) {
6669 )
6770 }
6871
72+ onCommand(" setCanManageTags" , requireOnlyCommandInMessage = false ) {
73+ val reply = it.replyTo ?.groupContentMessageOrNull() ? : return @onCommand
74+ val setOrUnset = it.content.text.removePrefix(" /setCanManageTags" ).removePrefix(" " ) == " true"
75+ promoteChatAdministrator(
76+ it.chat.id,
77+ reply.fromUserOrNull() ?.user ?.id ? : return @onCommand,
78+ canManageTags = setOrUnset
79+ )
80+ }
81+
6982 onCommand(" removeChatMemberTag" ) {
7083 val reply = it.replyTo ?.groupContentMessageOrNull() ? : return @onCommand
7184 setChatMemberTag(
@@ -81,8 +94,8 @@ suspend fun main(vararg args: String) {
8194 reply(it, " Tag by getting via risk API: ${it.sender_tag} " )
8295 }
8396
84- // allUpdatesFlow.subscribeSafelyWithoutExceptions (this) {
85- // println(it)
86- // }
97+ allUpdatesFlow.subscribeLoggingDropExceptions (this ) {
98+ println (it)
99+ }
87100 }.second.join()
88101}
0 commit comments