@@ -2,14 +2,21 @@ 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.extensions.api.bot.getMe
78import dev.inmo.tgbotapi.extensions.api.chat.get.getChat
9+ import dev.inmo.tgbotapi.extensions.api.managed_bots.getManagedBotToken
10+ import dev.inmo.tgbotapi.extensions.api.managed_bots.replaceManagedBotToken
811import dev.inmo.tgbotapi.extensions.api.send.reply
912import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContextData
1013import dev.inmo.tgbotapi.extensions.behaviour_builder.buildSubcontextInitialAction
1114import dev.inmo.tgbotapi.extensions.behaviour_builder.telegramBotWithBehaviourAndLongPolling
1215import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onCommand
16+ import dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling.onManagedBotCreated
17+ import dev.inmo.tgbotapi.extensions.utils.chatEventMessageOrNull
18+ import dev.inmo.tgbotapi.extensions.utils.groupContentMessageOrNull
19+ import dev.inmo.tgbotapi.extensions.utils.managedBotCreatedOrNull
1320import dev.inmo.tgbotapi.extensions.utils.types.buttons.flatReplyKeyboard
1421import dev.inmo.tgbotapi.extensions.utils.types.buttons.replyKeyboard
1522import dev.inmo.tgbotapi.extensions.utils.types.buttons.requestManagedBotButton
@@ -18,6 +25,7 @@ import dev.inmo.tgbotapi.types.buttons.KeyboardButtonRequestManagedBot
1825import dev.inmo.tgbotapi.types.buttons.PreparedKeyboardButtonId
1926import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
2027import dev.inmo.tgbotapi.types.request.RequestId
28+ import dev.inmo.tgbotapi.types.toChatId
2129import dev.inmo.tgbotapi.types.update.abstracts.Update
2230import kotlinx.coroutines.CoroutineScope
2331import kotlinx.coroutines.Dispatchers
@@ -103,7 +111,22 @@ suspend fun main(vararg args: String) {
103111 )
104112 }
105113
106- allUpdatesFlow.subscribeSafelyWithoutExceptions(this ) {
114+ onManagedBotCreated {
115+ reply(it, " Managed bot created successfully: ${it.chatEvent.bot} " )
116+ val token = getManagedBotToken(
117+ it.chatEvent.bot.id.toChatId()
118+ )
119+ reply(it, " Token: $token " )
120+ }
121+
122+ onCommand(" replaceToken" ) {
123+ val reply = it.replyTo ?.chatEventMessageOrNull() ? : return @onCommand
124+ val managedBotCreated = reply.chatEvent.managedBotCreatedOrNull() ? : return @onCommand
125+
126+ reply(it, " Token: ${replaceManagedBotToken(managedBotCreated.bot.id.toChatId())} " )
127+ }
128+
129+ allUpdatesFlow.subscribeLoggingDropExceptions(this ) {
107130 println (it)
108131 }
109132 }.second.join()
0 commit comments