diff --git a/scalabot-app/src/main/kotlin/AppMain.kt b/scalabot-app/src/main/kotlin/AppMain.kt index 00cb7a5..e4b8cdb 100644 --- a/scalabot-app/src/main/kotlin/AppMain.kt +++ b/scalabot-app/src/main/kotlin/AppMain.kt @@ -112,14 +112,10 @@ internal class Launcher : AutoCloseable { ) val bot = ScalaBot( - account.name, - account.token, - account.creatorId, BotDBMaker.getBotMaker(account), botOption, - botConfig.extensions, extensionPackageFinders, - botConfig.disableBuiltInAbility + botConfig ) botSessionMap[bot] = botApi.registerBot(bot) log.info { "机器人 `${bot.botUsername}` 已启动." } diff --git a/scalabot-app/src/main/kotlin/ScalaBot.kt b/scalabot-app/src/main/kotlin/ScalaBot.kt index 394c823..f285504 100644 --- a/scalabot-app/src/main/kotlin/ScalaBot.kt +++ b/scalabot-app/src/main/kotlin/ScalaBot.kt @@ -14,26 +14,30 @@ import org.telegram.telegrambots.meta.api.objects.Update /** * 可扩展 Bot. - * @param name 机器人名称. 建议设为机器人用户名. - * @param token 机器人 API 令牌. * @property creatorId 机器人所有人的 Telegram 用户 Id. 可通过联系部分机器人来获取该信息. * (e.g. [@userinfobot](http://t.me/userinfobot)) * @param db 机器人数据库对象. 用于状态机等用途. * @param options AbilityBot 设置对象. * @property extensions 扩展坐标集合. - * @param disableBuiltInAbility 是否禁用 [AbilityBot] 内置命令. */ internal class ScalaBot( - name: String, - token: String, - private val creatorId: Long, db: DBContext, options: DefaultBotOptions, - val extensions: Set, extensionFinders: Set, - disableBuiltInAbility: Boolean + botConfig: BotConfig, + private val creatorId: Long = botConfig.account.creatorId, + val extensions: Set = botConfig.extensions ) : - AbilityBot(token, name, db, if (disableBuiltInAbility) BareboneToggle() else DefaultToggle(), options) { + AbilityBot( + botConfig.account.token, + botConfig.account.name, + db, + if (botConfig.disableBuiltInAbility) + BareboneToggle() + else + DefaultToggle(), + options + ) { private val extensionLoader = ExtensionLoader( bot = this,