Commit 5ff9bfa2 authored by jiahua.liu's avatar jiahua.liu

Console Command.kt

parent ddab66f1
package net.mamoe.mirai.plugin
object CommandManager {
private val registeredCommand: MutableMap<String, Command> = mutableMapOf()
fun register(command: Command) {
val allNames = mutableListOf<String>(command.name).also { it.addAll(command.alias) }
allNames.forEach {
if (registeredCommand.containsKey(it)) {
error("Command Name(or Alias) $it is already registered, consider if same function plugin was installed")
}
}
allNames.forEach {
registeredCommand[it] = command
}
}
}
abstract class Command(
val name: String,
val alias: List<String> = listOf()
) {
/**
* 最高优先级监听器
* 如果return [false] 这次指令不会被[PluginBase]的全局onCommand监听器监听
* */
fun onCommand(args: List<String>): Boolean {
return true
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment