Skip to content

Releases: simple-robot/simpler-robot

v2.0.0-RC.3

20 Jan 07:56
Compare
Choose a tag to compare

RC.3

不出意外的话,这或许是最后一个RC。

  • 暂停component-ding模块的更新,直到新的钉钉模块开发完成。在那之前,版本控制所管理的钉钉模块版本为 2.0.0-RC.2

核心

  • #51 优化监听函数监听参数与监听类型不一致而导致的错误,并增加解析期警告异常。
// 监听函数解析期间会输出警告日志,因为你监听了 GroupMsg, 而参数中的 PrivateMsg 却没有被监听,它在触发监听时会抛出异常。
@OnGroup
public void listen(PrivateMsg msg) {
    // ...    
}
// 监听函数解析期间会输出警告日志,因为你监听了 GroupMsg, 而参数中的 PrivateMsg 却没有被监听,它将永远为null。
@OnGroup
public void listen(@Depend(orIgnore = true) PrivateMsg msg) {
    // ...    
}
  • #52 支持kotlinnullable参数,使其等效于 @Depend(orIgnore = true)
// myBean 可以为null,因此如果依赖管理找不到此实例则会得到null值,而不是抛出异常。
@OnGroup
fun listen(msg: GroupMsg, myBean: MyBean?) {
    // ...
}
  • #53 支持kotlin的扩展函数写法。(注: 不支持顶级函数。需要有携带 @beans 的类所包含。)
// In Java like: listen(PrivateMsg msg) { /* ... */ }
@OnPrivate
fun PrivateMsg.listen() {
    println(this.text)
}
  • 移动接口类路径:love.forte.simbot.intercept.Context -> love.forte.simbot.Context。正常情况下,此变动不会影响正常使用。

  • #49 响应值处理器,提供一个接口 ListenResultProcessor 来实现注册一个响应值处理器,可以在监听函数全部执行完成后,对最终的 ListenResult 进行统一处理。

  • #54 通过 响应值处理器(#49) 实现的响应快速回复。
    实现返回值快速回复,例如:
    kotlin:

     /**
      * 监听 [私聊消息][PrivateMsg]与[群聊消息][GroupMsg],
      * 并在收到消息的时候统一回复 "Hello. this is Quick reply.", 如果在群聊中,会AT触发事件的人。
      * 其中,在群聊中需要被AT。
      */
     @OnGroup
     @OnPrivate
     @Filters(atBot = true)
     fun listen() = Reply.reply("Hello. this is Quick reply.", at = true)

    java:

    /** 与上述方法含义一样。 */
     @OnGroup
     @OnPrivate
     @Filters(atBot = true)
     public ReplyAble listen(){
         return Reply.reply("Hello. this is Quick reply.", true);
     }
  • 修改AtDetection 中的 atBotatAnyatAll 的处理逻辑:如果当前消息类型为 PrivateMsg(私聊消息), 那么上述三个值均为 true

v2.0.0-RC.2

17 Jan 05:04
Compare
Choose a tag to compare

v2.0.0-RC.2

mirai

  • 更新至 v2.0.0
  • 兼容 record 类型CAT码。
  • 优化通过ID发送图片的时候的闪照处理。

可爱猫

  • 需要注意,可爱猫新成员离群和入群暂时不支持获取 accountInfo

fix

  • #44 可爱猫json消息解析异常
  • #45 可爱猫 springboot starter无法触发监听

题外话,你可以通过 issuediscussions 等方式向我提供可公示的作品。

v2.0.0-RC.1

14 Jan 06:03
Compare
Choose a tag to compare

v2.0.0-RC.1

目前来看,mirai组件和可爱猫组件已经处于可用状态。发布rc.1并开始收集、修复bug。

核心

  • 现在BotInfo(bot信息)也属于一种AccountInfo(账号信息)了。
  • MultipleResults 的实现类中,getSize() 更替为更符合习惯的 size()暂时兼容旧方法几个版本。
  • 增加一个获取空的 MessageContent 实例的方法: MessageContents.emptyContent()
  • 修复内部Ignore处理错误。
  • 简单优化/增加部分log日志。

Mirai

  • 更新mirai为 v2.0-RC
  • 优化mirai组件中针对 MessageContentBuilder.text(...) 的操作。
  • 优化mirai组件中的私聊发送。
  • 内置默认使用的 http-client-ktor 切换为与mirai内部一致的client-okhttp
  • 修复cookies获取。

http-client-ktor

  • 更新ktor为 v1.5.0
  • 优化实例化流程

v2.0.0-BETA.8

09 Jan 15:19
Compare
Choose a tag to compare
v2.0.0-BETA.8 Pre-release
Pre-release

2.0.0-BETA.8

核心

  • #40 提供一个AccountInfo的子类型 GroupAccountInfo并为群成员等相关的信息提供一些额外的参数,例如用户头衔accountTitle,生效于与群成员有关的地方,例如群聊消息、获取到的群成员列表信息等。

  • 弃用 GroupAdminGroupOwnerGroupMemberInfoBanInfoFriendInfo
    中的 getAccountInfo, 而是使得他们本身就属于 AccountInfo.

  • 追加一个 PrivateMsg(私聊事件)的子事件类型 FriendMsg(好友私聊事件), 其代表为一个确认为 好友 的私聊消息。

Mirai

可爱猫

  • 优化springboot-starter,如果不加 @EnableSimbot 不会再报错了。

feature

  • #36 优化事件触发机制,当不存在对应的监听函数时,不应当执行事件流程(例如触发拦截器)。

  • #18 提供配置项:

# 默认(遇到不支持的API时使用的)送信器。
# 是枚举 love.forte.simbot.core.configuration.DefaultSenderType 的元素值。
# 默认为 'ERROR',即会抛出一个错误。
# 目前可选:ERROR (会直接抛出异常)、FAILED (会返回一个默认的失败返回值)
simbot.core.sender.default.type=ERROR
  • #32 实现备用监听 @SpareListen 以及一个习惯用法 @Spare.

fix

  • #39 监听函数优先级失效

2.0.0-BETA.7

06 Jan 13:41
Compare
Choose a tag to compare
2.0.0-BETA.7 Pre-release
Pre-release

2.0.0-BETA.7

核心

追加配置:

# 是否启用启动时的tips。默认启动
simbot.core.tips.enable=true
# 使用tips时的数据源。可选:GITHUB、GITEE、LOCAL。其中,其他数据源如果失败,最终会尝试使用LOCAL。
# 默认GITEE源。
simbot.core.tips.resource=GITHUB
# 是否展示启动时的logo。默认开启。
simbot.core.logo.enable=true

新模块

新实现

  • #29 @Filter@Filters 提供了一个 target 参数以允许使用其他的过滤目标。
    例如text则使用MsgGet.getText进行过滤,而msg则使用MessageGet.getMsg进行过滤。
    可以通过操作 love.forte.simbot.filter.FilterTargetManager 类的实例来实现追加、移除解析器。
    提供了一个 FilterTargets 常量类来降低一些target目标手写的出错概率。
    具体描述可参考 love.forte.simbot.annotation.Filter#target 的文档注释或等待文档相关章节的更新。

  • #33 现在 @Listens@Listen 和对应的模板注解允许标记在类上。

fix

  • 自定义Filter无法被使用
  • #34 mirai组件下动态注册的bot无法触发监听
  • #35 可爱猫组件获取群信息异常

v2.0.0-BETA.6

28 Dec 17:04
Compare
Choose a tag to compare
v2.0.0-BETA.6 Pre-release
Pre-release

v2.0.0-BETA.6

核心

  • Setter 追加API: setFriendDelete(friend) - 删除好友

私聊类型(PrivateMsg.Type) 增加一个类型 SELF, 代表私聊类型为自己。

time-task

  • 实现定时任务模块 (#24), 并向下兼容一个版本(v2.0.0-BETA.5).
    所谓向下兼容,即第一个发布的版本为上一个版本,因此你可以直接通过上一个版本的版本号使用此模块,但是无法想要进行统一版本控制,需要手动填入版本号。

    目前定时任务相关模块为:

使用(以quartz模块为例):

  <dependency>
    <groupId>love.forte.simple-robot.time-task</groupId>
    <artifactId>time-task-quartz</artifactId>
</dependency>

虽然发布的兼容版本只有上一个版本,但是理论上其他BETA旧版本(2.0.0-BETA.x)也可以使用。

mirai

  • 更新mirai版本到 v2.0-M2

    • 其中,mirai更新了对 滑动验证 的支持,可以参考 mirai文档-登录mirai-login-solver-selenium
      mirai组件同样不强制引用此依赖,如果需要请添加相关依赖: net.mamoe:mirai-login-solver-selenium:${version}
  • 移除配置项 simbot.component.mirai.loginSolverType

  • 使用CatCode发送图片的时候,如果存在id参数,则会通过Image($id)构建图片。因此如果id未知,则不要使用id。

  • 提供mirai的特殊监听事件 love.forte.simbot.component.mirai.message.event.MiraiGroupHonorChanged 荣耀变动事件。
    监听方式:@Listen(MiraiGroupHonorChanged.class)

  • 提供mirai的特殊监听事件 love.forte.simbot.component.mirai.message.event.MiraiGroupTalkativeChanged 群龙王变动事件。
    监听方式:@Listen(MiraiGroupTalkativeChanged.class)

  • 提供mirai的特殊监听事件 love.forte.simbot.component.mirai.message.event.MiraiOtherClientOnline 其他设备上线事件。
    监听方式:@Listen(MiraiOtherClientOnline.class)

  • 提供mirai的特殊监听事件 love.forte.simbot.component.mirai.message.event.MiraiOtherClientOffline 其他设备下线事件。
    监听方式:@Listen(MiraiOtherClientOffline.class)

  • 提供mirai的特殊监听事件 love.forte.simbot.component.mirai.message.event.MiraiOtherClientMessage 其他客户端发送消息给Bot事件。
    监听方式:此事件会被处理为一个 私聊消息(PrivateMsg)。你也可以使用mirai的专属事件监听: @Listen(MiraiOtherClientMessage.class)

  • 提供mirai的特殊监听事件 love.forte.simbot.component.mirai.message.event.MiraiGroupMessageSync 客户端发送群消息时的同步。
    监听方式:此事件不会被处理为一个 群消息(GroupMsg)。使用mirai的专属事件监听:@Listen(MiraiGroupMessageSync.class)

fix

  • #28 GroupMsgRecall 获取群信息

v2.0.0-BETA.5 time-task

26 Dec 14:25
Compare
Choose a tag to compare
Pre-release

time-task

  • 实现定时任务模块 (#24), 并向下兼容一个版本(v2.0.0-BETA.5).
    所谓向下兼容,即第一个发布的版本为上一个版本,因此你可以直接通过上一个版本的版本号使用此模块,但是无法进行统一版本控制,需要手动填入版本号。

    目前定时任务相关模块为:

使用(以quartz模块为例):

  <dependency>
    <groupId>love.forte.simple-robot.time-task</groupId>
    <artifactId>time-task-quartz</artifactId>
    <version>2.0.0-BETA.5</version>
</dependency>

虽然发布的兼容版本只有上一个版本,但是理论上其他BETA旧版本(2.0.0-BETA.x)也可以使用。

从之后的版本开始可使用版本控制。

v2.0.0-BETA.5

23 Dec 15:02
Compare
Choose a tag to compare
v2.0.0-BETA.5 Pre-release
Pre-release

v2.0.0-BETA.5

mirai

  • 追加配置项:
simbot.component.mirai.daemon=false

此配置为设置保持mirai的存活线程是否作为守护线程。一般可以在与spring-boot-web相整合的时候设置为true。

  • 优化发送网络图片/语音时的并发请求。

http-client-ktor

  • 更新ktor版本至v1.4.3

v2.0.0-BETA.4

22 Dec 06:12
Compare
Choose a tag to compare
v2.0.0-BETA.4 Pre-release
Pre-release

v2.0.0-BETA.3

22 Dec 02:52
Compare
Choose a tag to compare
v2.0.0-BETA.3 Pre-release
Pre-release

v2.0.0-BETA.3

fix

  • #25 mirai组件(含starter)登录日志卡死。
  • #26 整合Springboot时配置文件无法正确解析带“-”的键值。