# simpler-robot
**Repository Path**: simple-robot-project/simpler-robot
## Basic Information
- **Project Name**: simpler-robot
- **Description**: 一个基于Kotlin协程的bot风格Kotlin多平台事件调度框架,异步高效、Java友好♥
- **Primary Language**: Kotlin
- **License**: GPL-3.0
- **Default Branch**: v4-main
- **Homepage**: https://simbot.forte.love
- **GVP Project**: No
## Statistics
- **Stars**: 51
- **Forks**: 7
- **Created**: 2020-10-11
- **Last Updated**: 2025-06-09
## Categories & Tags
**Categories**: task-schedule
**Tags**: Kotlin, Bot, kotlin-multiplatform, simbot
## README
[English](README_en.md)
## 简介
**`Simple Robot`** (v4) 是一个基于[Kotlin协程](https://github.com/Kotlin/kotlinx.coroutines)
的[Kotlin多平台](https://kotlinlang.org/docs/multiplatform.html)
**Bot风格**高性能异步事件调度框架(下文简称simbot),
异步高效、Java友好~
simbot提供统一的异步API和易用的风格设计,可以协助你更快速高效的编写**Bot风格**的事件调度应用。
主要应用于对接各种类型的Bot应用平台/框架,并提供部分组件库实现。
simbot的**平台功能**由组件驱动,安装不同的组件库来获得不同的功能支持。
举个例子,在simbot中使用KOOK和QQ频道:
```Kotlin
suspend fun main() {
launchSimpleApplication { config() }
.joinWith { module() }
}
fun ApplicationFactoryConfigurer<*, *, *>.config() {
// 安装KOOK和QQ频道组件库
useKook()
useQQGuild()
}
/**
* 对已经构建完成的 `Application` 进行配置于应用
*/
suspend fun Application.module() {
registerBots()
registerListeners()
}
/**
* 注册所需的bot
*/
suspend fun Application.registerBots() {
// ... 注册kook bot,并在此之后可处理到kook的相关事件
kookBots {
register(...) { ... }.start()
}
// ... 注册QQ频道bot,并在此之后可处理到QQ频道的相关事件
qqGuildBots {
register(...) { ... }.start()
}
}
fun Application.registerListeners() {
listeners {
// 注册一个事件处理器
// ChatChannelMessageEvent 是由simbot API定义的泛用类型,代表所有子频道消息事件
// 其中就包括QQ频道的公域消息事件, 或者KOOK的频道消息事件
listen {
println("context: $this")
println("context.event: $event")
// 返回事件处理结果
EventResult.empty()
}
// 再注册一个事件处理器
// 明确监听QQ频道的公域消息事件
// 使用 process 不需要返回值
process {
println("context: $this")
println("context.event: $event")
}
// 再注册一个事件处理器
// 明确监听KOOK的频道消息事件
// 使用 process 不需要返回值
process {
println("context: $this")
println("context.event: $event")
}
}
}
```
## 文档与引导
- [组织首页](https://github.com/simple-robot/) 了解更多有关组件、文档、以及社群等相关信息!
- [社群](https://simbot.forte.love/communities.html) 文档中也有提供社群信息喔
- [应用手册][doc-homepage]
- [文档引导站&API文档](https://docs.simbot.forte.love)
## 协助我们
为我们点亮一个 **✨star🌟** 便是能够给予我们继续走下去的最大动力与支持!
- 阅读 [**贡献指南**](docs/CONTRIBUTING_CN.md) 来了解如何贡献你的力量!
- 你可以通过 [**讨论区**][discussions] 与其他人或者simbot开发团队相互友好交流。
- 如果你通过此项目创建了一个很酷的开源项目,欢迎通过 [ISSUES][issues]、[讨论区][discussions]
等方式留下你的开源项目信息,并将你酷酷的项目展示在作品展示区。
## 联系我们
- 如果想要反馈问题、提出建议建议或提出问题,请通过 [**ISSUES**][issues]。
- 如果想要与开发团队交流、与其他开发者交流,请前往 [**讨论区**][discussions]。
- 可以前往 [GitHub 组织首页](https://github.com/simple-robot/) 查看更多**社群信息**。
[pr]: https://github.com/simple-robot/simpler-robot/pulls
[issues]: https://github.com/simple-robot/simpler-robot/issues
[discussions]: https://github.com/orgs/simple-robot/discussions
## 特别鸣谢
感谢 [Jetbrains][jetbrains] 为团队提供的免费授权,也希望大家能够支持 [Jetbrains][jetbrains] 及其产品,支持正版。
[jetbrains]: https://www.jetbrains.com/?from=simpler-robot
## 星星!
[](https://star-history.com/#simple-robot/simpler-robot&Date)
> powered by [Star History](https://star-history.com)
## License
Simple Robot 使用 [LGPLv3](https://www.gnu.org/licenses/#LGPL) 协议开源。
```
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser 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
Lesser GNU General Public License for more details.
You should have received a copy of the Lesser GNU General Public License
along with this program. If not, see .
```
[doc-homepage]: https://simbot.forte.love/