diff --git a/scalabot-app/src/main/kotlin/AppConfigs.kt b/scalabot-app/src/main/kotlin/AppConfigs.kt index 2626a54..5b6241a 100644 --- a/scalabot-app/src/main/kotlin/AppConfigs.kt +++ b/scalabot-app/src/main/kotlin/AppConfigs.kt @@ -18,7 +18,6 @@ import java.net.URL import java.nio.charset.StandardCharsets import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicInteger -import kotlin.system.exitProcess private val log = KotlinLogging.logger { } @@ -207,7 +206,12 @@ private fun AppPaths.defaultInitializer() { } } -internal fun initialFiles() { +/** + * 执行 AppPaths 所有项目的初始化, 并检查是否停止运行, 让用户编辑配置. + * + * @return 如果需要让用户编辑配置, 则返回 `true`. + */ +internal fun initialFiles(): Boolean { val configFilesNotInitialized = !AppPaths.CONFIG_APPLICATION.file.exists() && !AppPaths.CONFIG_BOT.file.exists() @@ -217,8 +221,9 @@ internal fun initialFiles() { if (configFilesNotInitialized) { log.warn { "配置文件已初始化, 请根据需要修改配置文件后重新启动本程序." } - exitProcess(1) + return true } + return false } internal object GsonConst { diff --git a/scalabot-app/src/main/kotlin/AppMain.kt b/scalabot-app/src/main/kotlin/AppMain.kt index d96fbd4..14b3f63 100644 --- a/scalabot-app/src/main/kotlin/AppMain.kt +++ b/scalabot-app/src/main/kotlin/AppMain.kt @@ -30,7 +30,9 @@ fun main(args: Array): Unit = runBlocking { log.info { "ScalaBot 正在启动中..." } log.info { "数据目录: ${AppPaths.DATA_ROOT}" } log.debug { "启动参数: ${args.joinToString(prefix = "[", postfix = "]")}" } - initialFiles() + if (initialFiles()) { + exitProcess(1) + } val launcher = Launcher() .registerShutdownHook()