Simple Robot 官方文档:simbot.forte.love
simbot-mirai 组件文档:component-mirai.simbot.forte.love
API文档:文档引导站点
其他参考:命名概述
simbot官方组件采用 X.y.z[.status][-suffix]
的方式。其中,X
代表为当前依赖的 simbot核心库 的 MAJOR.MINOR
。
例如假若当前依赖的核心库版本为 v3.0.1
,则 X
为 3.0
。
y
和 z
以及其他后缀均为常见的语义化版本规则中的对应值,其中 z
通常在不包含新功能的修复性更新中增加计数,y
则会在包含增加新功能、修改旧功能以及破坏性变更时增加计数,并将 z
归零。
simbot-mirai组件会不定时的根据 mirai最后的release版本 进行更新。
偶尔会跟进非
release
版本,例如xxx-RC
,但非必要不会。
参考文档的 《快速开始》
注:mirai组件仅编译时依赖 simbot 核心库,因此你必须引入一个具体的核心库版本。
gradle kotlin dsl
implementation("love.forte.simbot:simbot-core:$SIMBOT_VERSION")
implementation("love.forte.simbot.component:simbot-component-mirai-core:$COMPONENT_VERSION")
gradle groovy dsl
implementation 'love.forte.simbot:simbot-core:$SIMBOT_VERSION'
implementation 'love.forte.simbot.component:simbot-component-mirai-core:$COMPONENT_VERSION'
maven
<dependencies>
<dependency>
<groupId>love.forte.simbot.boot</groupId>
<artifactId>simboot-core-spring-boot-starter</artifactId>
<version>${simbot.version}</version>
</dependency>
<dependency>
<groupId>love.forte.simbot.component</groupId>
<artifactId>simbot-component-mirai-core</artifactId>
<version>${simbot.mirai.version}</version>
</dependency>
</dependencies>
请参考 mirai 的 关于签名服务 并自行选择、搭建签名服务即可。 签名服务的使用被 mirai 直接操作,理论上并没有什么需要经过 simbot-mirai 组件的操作(做多只需要在main方法一开始执行些什么),且 simbot-mirai 组件与 mirai 本身一样不会内置签名服务。
从 #120 开始,
mirai组件中 cache
文件夹的默认行为与 mirai 原本的行为不再相同。
当你从其他位置通过各种工具得到了 device.json
和 cache
文件夹后,你需要稍作调整。
目前组件中针对每个bot的 cache
目录规则为 cache/$CODE
,也就是 cache
目录下以QQ号为名称的子目录。
举个例子,如果一个bot的qq号为 123456
,那么它所使用的 cacheDir 为
cache
\- 123456
因此当你希望使用一些外部的 cache
目录时,请记得将内容物调整到具体的子目录中。
有些时候,mirai组件的更新速度可能无法赶上 mirai 的版本发布,此时你可以自行更替mirai版本。
gradle kotlin dsl
implementation("love.forte.simbot:simbot-core:$SIMBOT_VERSION")
implementation("love.forte.simbot.component:simbot-component-mirai-core:$COMPONENT_VERSION") {
exclude("net.mamoe") // 排除 groupId = 'net.mamoe' 的所有依赖
}
// 然后自行引入一个新的
implementation("net.mamoe:mirai-core-jvm:$MIRAI_VERSION")
gradle groovy dsl
implementation 'love.forte.simbot:simbot-core:$SIMBOT_VERSION'
implementation 'love.forte.simbot.component:simbot-component-mirai-core:$COMPONENT_VERSION' {
exclude group: 'net.mamoe' // 排除 groupId = 'net.mamoe' 的所有依赖
}
// 然后自行引入一个新的
implementation 'net.mamoe:mirai-core-jvm:$MIRAI_VERSION'
maven
<dependencies>
<dependency>
<groupId>love.forte.simbot.boot</groupId>
<artifactId>simboot-core-spring-boot-starter</artifactId>
<version>${simbot.version}</version>
</dependency>
<dependency>
<groupId>love.forte.simbot.component</groupId>
<artifactId>simbot-component-mirai-core</artifactId>
<version>${simbot.mirai.version}</version>
<exclusions>
<exclusion>
<groupId>net.mamoe</groupId>
<!-- 排除 groupId = 'net.mamoe' 的所有依赖 -->
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 然后自行引入一个新的 -->
<dependency>
<groupId>net.mamoe</groupId>
<artifactId>mirai-core-jvm</artifactId>
<version>${mirai.version}</version>
</dependency>
</dependencies>
// simbot-core / simbot-boot
suspend fun MiraiFriendMessageEvent.onEvent() {
author().send("Hello World")
}
// simbot-boot
@Listener
@Filter("签到")
suspend fun MiraiGroupMessageEvent.onEvent() {
reply("签到成功")
}
@Listener
@Filter("叫我{{name,.+}}")
suspend fun MiraiGroupMessageEvent.onEvent(name: String) {
group.send(At(author.id) + "好的,以后就叫你$name了".toText())
}
Copyright (C) 2022-2023 ForteScarlet.
This program is free software: you can redistribute it and/or modify it under the terms
of the GNU Affero General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program.
If not, see <https://www.gnu.org/licenses/>.
直接/间接引用 simbot-component-mirai
的项目需要以 AGPLv3
协议开源。
本仓库引用开源软件mirai,衍生软件同样需受其协议约束。