mirai 的高效率 QQ 机器人控制台
与 mirai-core 同步发布的 2.0.0 版本, 无代码更新
注意:自 mirai-core 2.2 起,mirai-console 与 mirai-core 同步版本发布,请到 mirai 查看
mirai-core 2.0-M2 的同步版本
buildPlugin
时 mirai-core-utils 没有被过滤的问题与 mirai-core 2.0-M1 同步发布的适配版本, 修改:
TempCommandSender.user
改为 NormalMember
Member.asTempCommandSender
改为 NormalMember.asTempCommandSender
AnsiMessageBuilder
: 构造和发送彩色消息 (控制台)ReadOnlyPluginData
和 ReadOnlyPluginConfig
ILLEGAL_VERSION_REQUIREMENT
: 检查插件配置的依赖版本号的有效性ILLEGAL_COMMAND_DECLARATION_RECEIVER
: 检查指令的接收者参数为 CommandSender
RESTRICTED_CONSOLE_COMMAND_OWNER
: 在使用 ConsoleCommandOwner
时给出警告generatePluginMetadata
生成插件依赖等相关数据为 mirai-plugin.metadata
供启动器读取publishPlugin
将插件发布到 JCenter/status
的显示plugin.yml
时, 'name' 可选, 自动以 'id' 替代CommnadExecuteResult
以适应新指令CommandConfig
,允许修改指令前缀AutoLoginCommand
配置自动登录AutoLoginConfig
,支持修改登录使用的协议/status
查看服务器当前状态JCompositeCommand.description
CommandCallResolver
现在是 SingletonExtension
CommandCallInterceptor
以拦截指令解析CommandResolveResult
, FailureReason
等CommandArgumentParserException
和 IllegalCommandArgumentException
构造器都要求非空 message
参数AbstractCommandValueParameter.StringConstant.toString
AutoSavePluginData
重复保存的问题findBackingFieldValue
类型转换错误JvmPluginDescription
到 top-levelPluginDependency
现在支持序列化plugin.yml
加载插件信息SemVersion.Requirement
现在是 data class
且支持序列化LoggerController
接口用于控制日志输出的等级PermissionService
NOT_CONSTRUCTABLE_TYPE
现在将会报告在类型参数上 (而不整个语句)NOT_CONSTRUCTABLE_TYPE
现在支持检测 kotlinx-serialization 内置支持的类型buildPlugin
时未打包资源文件的问题HelpCommand
的执行ExportManager
控制插件类的导出SemVersion
语义化版本JvmPluginDescriptionBuilder
和相关 Kotlin DSLPluginDescriptor
相关 API (考虑未来的兼容性)PluginManager
现在有更清晰的结构CommandCall
等解释器CommandCallParser
, CommandCallResolver
和相关扩展 provider.CommandCallParser
) 到调用解析 (CommandCallResolver
) 都允许插件扩展 (文档正在编写中)
CommandCallParser
实现)CommandArgumentParser
为 CommandValueArgumentParser
CommandValueArgumentParser
ImageArgumentParser
PlainTextArgumentParser
id
而不是 name
.CommandManager
现在有更清晰的结构现在是
public`CommandCallResolverProvider
CommandCallParserProvider
AbstractInstanceExtensionPoint
等扩展实现, 将来可能允许插件创建扩展点Pair
和 Triple
的序列化AutoSavePluginData
构造器要求 saveName
PluginData.provideDelegate
到 AbstractPluginData
PluginData
现在拥有 serializersModule
(kotlinx.serialization)ValueName
现在已稳定MiraiConsoleImplementation.getInstance
获取当前前端实例IllegalStateException
ResolveContext
, 在编辑阶段分析插件 ID, 指令名等属性的有效性PluginData.value
检查参数的可构造性, 并添加相关 fix