Skip to content

Commit 828ab43

Browse files
add opportunity to set/unset tags rights in tags bot
1 parent 1a45332 commit 828ab43

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

TagsBot/src/main/kotlin/TagsBot.kt

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ import dev.inmo.kslog.common.KSLog
22
import dev.inmo.kslog.common.LogLevel
33
import dev.inmo.kslog.common.defaultMessageFormatter
44
import dev.inmo.kslog.common.setDefaultKSLog
5+
import dev.inmo.micro_utils.coroutines.subscribeLoggingDropExceptions
56
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
67
import dev.inmo.tgbotapi.abstracts.FromUser
78
import dev.inmo.tgbotapi.extensions.api.bot.getMe
89
import 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
912
import dev.inmo.tgbotapi.extensions.api.chat.members.setChatMemberTag
1013
import dev.inmo.tgbotapi.extensions.api.gifts.getChatGiftsFlow
1114
import 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

Comments
 (0)