Releases: simple-robot/simple-robot-v1
v1.8.0更新
v1.8.0
本次更新增加多账号机制,因此可能存在很多隐藏BUG。如果遇到BUG请及时联系群主或者使用Issue进行反馈。
- KeywordMatchType枚举中增加更多预设:
STARTS_WITH、TRIM_STARTS_WITH、RE_CQCODE_STARTS_WITH、RE_CQCODE_TRIM_STARTS_WITH、ENDS_WITH、TRIM_ENDS_WITH、RE_CQCODE_ENDS_WITH、RE_CQCODE_TRIM_ENDS_WITH
分别对应了startsWith与endsWith的4种情况 - 实现支持多账号, 并修改配置类与文件配置,增加部分与多账号相关的配置。
- 增加针对多账户注册的文件配置信息: "core.bots"
- 增加
BotManager
类,以管理多账号。 - 增加
BotManagerImpl
类,以实现自定义BotManager, 例如切换Bot数据的获取形式为使用数据库或者redis等,使其可以适应分布式系统等其他复杂架构。 - 为
GroupMsg
类型增加了PowerAble
的消息接口,以获取此消息的群员在群内的权限。 - 增加接口
Filterable
以支持使用者自定义过滤规则。 - 以上述的
Filterable
为前提,增加MostDIYType,用来当@Filter
中出现了多个Filterable
的时候的匹配规则。 - 在实现了
Filterable
接口的前提下,增加一个注解@DIYFilter
以指定自定义filter的名称。(同时支持@Beans
) @Filter
中增加两个参数以使用上述的自定义Filter。- 增加两个注解:
@SimpleRobotApplication
和@SimpleRobotConfiguration
, 以支持注解形式的启动, 基本摒弃早期的代码配置。 - CQ码中增加:
show
、contact
、rich
、hb
类型 - 增加一个
BotRuntime
类,其可在启动后通过静态代码获取。 - bug修复:
- 修复依赖注入的实例构建参数自动注入bug
v1.7.0更新
-
1.7.0
1.7.x
无法向下兼容。-
变更整体的日志输出规则,增加了国际化语言转化。
-
FriendList接口增加:
getAllFriends()
-
QQLog的warning字体更换为黄色
-
config中增加locale相关配置
-
QQLogBack接口参数调整
-
在MsgGetType中增加几种监听事件类型(但是不一定是有用的):
- 群消息撤回
- 私信消息撤回
-
简单修改监听器的ID生成规则
-
增加一个新的可使用类:SenderAPIManager, 计划会用于获取所有的送信器中存在的API, 一般用于debug
-
配置中,将所有的配置名称中的前缀"simple.robot.conf" 变更为 "core"
-
优化线程池初始化参数,并增加一个新的线程池参数:阻塞系数(blockingFactor)
-
BaseConfiguration类不再重写toString方法
-
增加了一个异常类
RobotRunException
-
在
MsgGet
类型的监听消息中(基本上属于所有的监听消息)开放接口:setMsg
, 用来重新设置msg消息内容。getThisCode
,用来获取“接收到这条消息的账号是哪一个”。
-
1.7版本内未来会新增加的功能:
- 获取所有的监听器的信息:
- 增加注解:@ListenerAPI
- 增加消息封装类:ListenerInfo
- 获取所有的监听器的信息:
-
阻断机制实装
※新增一个功能/机制,版本号+0.1;
新增了一个阻断机制!使用@block注解标注你的监听函数或者整个类(也可以没有),然后使用MsgSender对象参数来使一个或一组监听函数进入阻断模式!
阻断机制:
在阻断模式中,其他所有非阻断状态的监听函数全部失效,仅留下进入了阻断状态的函数来监听消息,直到你取消了阻断状态或有其他监听函数(或函数组)顶替了你当前阻断中的监听函数。
- 为什么要阻断机制?
说一个简单的例子:当你群机器人接收到“游戏”指令的时候,你可能并不希望他在游戏中的时候还会接收并响应其他事件,那么这个时候,阻断机制就有用武之地了,不是么~o( ̄▽ ̄)ブ - 为什么版本上有一个BETA?
很明显,因为阻断机制刚刚实装,缺少测试,很不稳定且可能潜藏很多bug,所以这个版本并不稳定。如果你在使用中出现了bug,请及时加群反馈。
开始整合HTTP API的版本
已经将HTTP API的接口全部封装进去,由于本人不怎么会取版本号,所以干脆从0.5这个中间值开始吧。目前仅获取信息相关的接口是通过HTTP API插件接口实现,其余功能仍旧由LEMOC插件提供。
jar包中的依赖应该是全的,导入即可使用。