Opt in config APIs

This commit is contained in:
Him188 2020-04-30 11:51:47 +08:00
parent f10a1c64de
commit ea3f51dca9
2 changed files with 8 additions and 4 deletions

View File

@ -79,6 +79,7 @@ abstract class PluginBase
* 加载一个 [dataFolder] 中的 [Config] * 加载一个 [dataFolder] 中的 [Config]
*/ */
fun loadConfig(fileName: String): Config { fun loadConfig(fileName: String): Config {
@OptIn(ToBeRemoved::class)
return Config.load(dataFolder.absolutePath + "/" + fileName) return Config.load(dataFolder.absolutePath + "/" + fileName)
} }
@ -112,6 +113,7 @@ abstract class PluginBase
*/ */
fun getResourcesConfig(fileName: String): Config { fun getResourcesConfig(fileName: String): Config {
require(fileName.contains(".")) { "Unknown Config Type" } require(fileName.contains(".")) { "Unknown Config Type" }
@OptIn(ToBeRemoved::class)
return Config.load(getResources(fileName) ?: error("No such file: $fileName"), fileName.substringAfter('.')) return Config.load(getResources(fileName) ?: error("No such file: $fileName"), fileName.substringAfter('.'))
} }
@ -188,6 +190,7 @@ class PluginDescription(
} }
companion object { companion object {
@OptIn(ToBeRemoved::class)
fun readFromContent(content_: String, file: File): PluginDescription { fun readFromContent(content_: String, file: File): PluginDescription {
with(Config.load(content_, "yml")) { with(Config.load(content_, "yml")) {
try { try {

View File

@ -11,13 +11,11 @@ package net.mamoe.mirai.console.utils
import net.mamoe.mirai.Bot import net.mamoe.mirai.Bot
import net.mamoe.mirai.console.MiraiConsole import net.mamoe.mirai.console.MiraiConsole
import net.mamoe.mirai.console.plugins.ConfigSection import net.mamoe.mirai.console.plugins.*
import net.mamoe.mirai.console.plugins.ConfigSectionImpl
import net.mamoe.mirai.console.plugins.loadAsConfig
import net.mamoe.mirai.console.plugins.withDefaultWriteSave
import net.mamoe.mirai.console.utils.BotManagers.BOT_MANAGERS import net.mamoe.mirai.console.utils.BotManagers.BOT_MANAGERS
import java.io.File import java.io.File
@OptIn(ToBeRemoved::class)
internal object BotManagers { internal object BotManagers {
val config = File("${MiraiConsole.path}/bot.yml").loadAsConfig() val config = File("${MiraiConsole.path}/bot.yml").loadAsConfig()
val BOT_MANAGERS: ConfigSection by config.withDefaultWriteSave { ConfigSectionImpl() } val BOT_MANAGERS: ConfigSection by config.withDefaultWriteSave { ConfigSectionImpl() }
@ -30,6 +28,7 @@ fun Bot.addManagerDeprecated(long: Long) {
addManager(long) addManager(long)
} }
@OptIn(ToBeRemoved::class)
fun Bot.addManager(long: Long): Boolean { fun Bot.addManager(long: Long): Boolean {
BOT_MANAGERS.putIfAbsent(this.id.toString(), mutableListOf<Long>()) BOT_MANAGERS.putIfAbsent(this.id.toString(), mutableListOf<Long>())
BOT_MANAGERS[this.id.toString()] = BOT_MANAGERS[this.id.toString()] =
@ -41,6 +40,7 @@ fun Bot.addManager(long: Long): Boolean {
return true return true
} }
@OptIn(ToBeRemoved::class)
fun Bot.removeManager(long: Long) { fun Bot.removeManager(long: Long) {
BOT_MANAGERS.putIfAbsent(this.id.toString(), mutableListOf<Long>()) BOT_MANAGERS.putIfAbsent(this.id.toString(), mutableListOf<Long>())
BOT_MANAGERS[this.id.toString()] = BOT_MANAGERS[this.id.toString()] =
@ -49,6 +49,7 @@ fun Bot.removeManager(long: Long) {
} }
val Bot.managers: List<Long> val Bot.managers: List<Long>
@OptIn(ToBeRemoved::class)
get() { get() {
BOT_MANAGERS.putIfAbsent(this.id.toString(), mutableListOf<Long>()) BOT_MANAGERS.putIfAbsent(this.id.toString(), mutableListOf<Long>())
return BOT_MANAGERS.getLongList(this.id.toString()) return BOT_MANAGERS.getLongList(this.id.toString())