mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI-examples.git
synced 2026-03-03 17:42:21 +00:00
add opportunity to set/unset tags rights in tags bot
This commit is contained in:
@@ -2,10 +2,13 @@ import dev.inmo.kslog.common.KSLog
|
|||||||
import dev.inmo.kslog.common.LogLevel
|
import dev.inmo.kslog.common.LogLevel
|
||||||
import dev.inmo.kslog.common.defaultMessageFormatter
|
import dev.inmo.kslog.common.defaultMessageFormatter
|
||||||
import dev.inmo.kslog.common.setDefaultKSLog
|
import dev.inmo.kslog.common.setDefaultKSLog
|
||||||
|
import dev.inmo.micro_utils.coroutines.subscribeLoggingDropExceptions
|
||||||
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
|
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
|
||||||
import dev.inmo.tgbotapi.abstracts.FromUser
|
import dev.inmo.tgbotapi.abstracts.FromUser
|
||||||
import dev.inmo.tgbotapi.extensions.api.bot.getMe
|
import dev.inmo.tgbotapi.extensions.api.bot.getMe
|
||||||
import dev.inmo.tgbotapi.extensions.api.business.getBusinessAccountGiftsFlow
|
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.chat.members.setChatMemberTag
|
||||||
import dev.inmo.tgbotapi.extensions.api.gifts.getChatGiftsFlow
|
import dev.inmo.tgbotapi.extensions.api.gifts.getChatGiftsFlow
|
||||||
import dev.inmo.tgbotapi.extensions.api.gifts.getUserGiftsFlow
|
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") {
|
onCommand("removeChatMemberTag") {
|
||||||
val reply = it.replyTo ?.groupContentMessageOrNull() ?: return@onCommand
|
val reply = it.replyTo ?.groupContentMessageOrNull() ?: return@onCommand
|
||||||
setChatMemberTag(
|
setChatMemberTag(
|
||||||
@@ -81,8 +94,8 @@ suspend fun main(vararg args: String) {
|
|||||||
reply(it, "Tag by getting via risk API: ${it.sender_tag}")
|
reply(it, "Tag by getting via risk API: ${it.sender_tag}")
|
||||||
}
|
}
|
||||||
|
|
||||||
// allUpdatesFlow.subscribeSafelyWithoutExceptions(this) {
|
allUpdatesFlow.subscribeLoggingDropExceptions(this) {
|
||||||
// println(it)
|
println(it)
|
||||||
// }
|
}
|
||||||
}.second.join()
|
}.second.join()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user