refactor: improve bot configuration and service structure

This commit is contained in:
2025-05-29 15:02:59 +03:00
committed by Maksim Pischulenok
parent b096722510
commit c8cd44224b
2 changed files with 29 additions and 20 deletions

View File

@@ -29,7 +29,11 @@ class BotConfiguration(
fun telegramBot(): Bot {
return bot {
token = botProps.token
dispatch {
setupDispatchers()
}
}
private fun Bot.Builder.setupDispatchers() = dispatch {
message {
withLoggingContext(messageContext(message)) {
try {
@@ -49,8 +53,6 @@ class BotConfiguration(
}
}
}
}
}
private fun messageContext(message: Message): Map<String, String?> =
mapOf(

View File

@@ -10,16 +10,23 @@ private val logger = KotlinLogging.logger {}
@Service
class BotService(private val bot: Bot) {
private var pollingThread: Thread? = null
@PostConstruct
fun start() {
Thread { bot.startPolling() }.start()
logger.info { "Initialized bot" }
pollingThread =
Thread { bot.startPolling() }
.apply {
name = "telegram-bot-polling"
start()
}
logger.info { "Bot service started" }
}
@PreDestroy
fun stop() {
bot.stopPolling()
logger.info { "Stopped bot" }
pollingThread?.join(1000)
logger.info { "Bot service stopped" }
}
}