跳到主要内容
版本:3.3.0

首页

logo

✨ Simple Robot ✨

~ simbot v3 ~
GitHub   |   Gitee
> 感谢 CatCode 开发团队成员制作的simbot logo <
> 走过路过,不要忘记点亮一颗⭐喔~ <

releasereleasestarsforkswatchersrepo-sizeissueslast-commitsearch-hittop-languagecopying

此文档的内容为 Simple Robot v3.x 版本的使用手册。

概述

Simple Robot(下文简称simbot) 一开始是作为一个机器人标准开发框架所诞生的,而现在, 它是一个保留了作为机器人标准开发框架为主要职责的bot风格事件调度框架,目前处于v3版本。

simbot3 基于 Kotlin 语言开发, 主要面向于 Kotlin JVM (未来可能会面向Kotlin Multiplatform) 和 Java 开发者。

simbot3 提供由基础核心模块到高级boot模块多种风格的模块使用,并且提供Spring Boot Starter来帮助Java开发者快速上手。

特性

异步高效

simbot3 基于 Kotlin Coroutine 提供基本全异步的API,保证整体性能; 并向Java开发者提供兼容API,提供兼容性的同时通过显式的函数语义向开发者描述两套API之间的异同。

val friend: Friend = event.friend()  // suspend api
friend.send("Hey!") // suspend api

简单明了

simbot3 相较于从前的版本,拥有更加简明和更加易用的API。

@Listener
suspend fun myListener(messageEvent: GroupMessageEvent) {
val group = messageEvent.group()
val groupId = group.id
val groupName = group.name
// ...
group.send("Hey, simbot3")
}

组件协同

组件simbot3中的核心概念之一,一个组件代表了一个目标平台的能力。

实际上...

实际上在 simbot2 中就存在了组件的概念,但是那时的组件实现只有一个,且(就算有多个也)难以实现协同。

因此,simbot3中增强了组件的概念与能力,更加突出了组件中属于它们自己的特色,并支持了组件的协同能力。在 simbot3中, 你可以在同一环境下运作着不同组件平台的多个bot。

并非所有...

组件协同是由simbot3支持的基本能力,但是这并不代表任何组件之间都能毫无保留的在同一环境下肆意协同。 由于组件之间的实现不尽相同,因此很有可能会出现诸如依赖冲突等无法规避的情况。所以在进行组件协同前, 应当先充分调查各个组件的依赖以及对其他组件的兼容性。

血量"充"足

我们(自认为)simbot3整体设计中采用了充血模型,使得功能对象更饱满,能力更直观,职责更具体。

还有更多...

simbot3simbot2 相比,基本上是推翻重来的。而这个过程使得 simbot3 中诞生了很多比曾经更优秀的特性。 也许,你会在使用过程中逐渐发现...