VOOZH about

URL: https://github.com/simple-robot

⇱ Simple Robot Projects · GitHub


Skip to content

~ Simple Robot Framework ~

一个bot风格的高效异步事件调度框架
A Bot-style event scheduling framework, asynchronous and high-performance
💡核心库   |   应用手册   |   🏠社区
> 走过路过,不要忘记留下闪亮亮的 喔~ <
👁 release
👁 org-stars
👁 org-discussions

简介

Simple Robot 是一个基于 KMP 的多平台 Bot 风格高性能异步事件调度框架(下文简称simbot), 提供统一的异步API和易用的风格设计,可以协助你更快速高效的编写 Bot 风格的事件调度应用。 目前主要应用于对接各种类型的 Bot 应用平台/框架,并提供部分组件库实现。

simbot 通过 Kotlin 语言开发、 基于 KMP 支持多平台, 并兼容Java(jdk11+)等JVM平台语言, 且提供大量 Java 友好 API 和 Spring Boot starter,协助你快速开发!

Why simbot?

  • 🔥基于 Kotlin Multiplatform,支持多平台
  • 🔥得益于Kotlin与挂起特性,简洁、简单、异步、高效!
  • 🔥Java友好! 不会Kotlin?没关系,我们为Java开发者提供了阻塞、异步、响应式等多种风格的API!
  • 🔥支持SpringBoot,助力你快速整合simbot、高效开发!
  • 🔥组件化,不仅易于支持组件间的协同与应用,也使得任意组件库的开发成为可能!
  • 🔥不仅仅是API调库侠!simbot提供更完备的实现与更多高级功能
    屏蔽掉你不想知道的细节,让你更加专注于你的逻辑本身!发送消息?send 就完事儿了!

开始使用

前往 应用手册 来了解如何安装、使用,或参考其中的快速开始等章节,并了解更多细节。

我们也提供了一个 在线项目生成器,可以快速生成一个 simbot 的整合项目包, 前往生成或参考 文档中描述 了解更多!

核心库

核心库是所有组件的前置、标准API的制定者、也是绝大多数统一功能实现的地方。

👉前往核心库

组件库


积极反馈!

核心库于各式各样的组件库体积庞大,我们很难面面俱到。如果你遇到了任何预期外的问题、错误,或有你想要却不支持的功能,欢迎随时积极地通过 issues 反馈你的问题或建议, 也欢迎通过 讨论区 与我们积极交流、提出问题。 我们也同样会积极地对你的反馈、建议或问题做出回应与交流!

走马观花

Kotlin & simbot-core

suspend fun main() {
 val application = launchSimpleApplication {
 findAndInstallAllPlugins(true)
 findAndInstallAllComponents(true)
 }
 
 application.listeners {
 // 事件监听
 process<ContactMessageEvent> { event -> // this: EventProcessingContext
 event.reply("Hello, Simbot")
 }
 }
 
 application.join()
}

Java & Spring Boot

@SpringBootApplication
@EnableSimbot // 启用simbot
public class MyApplication {
 public static void main(String[] args) {
 SpringApplication.run(MyApplication.class, args);
 }

 // 可以选择阻塞、异步或响应式等多种不同风格的 Java API
 // 前排提醒:这里仅供示例,不建议混用多种风格,尤其是阻塞和异步混用。

 /** 事件监听,监听一个通用的标准事件类型 */
 @Listener
 public void onFriendMessage(ChatChannelMessageEvent event) {
 event.replyBlocking("Hello, Simbot!");
 }

 /**
 * 假设:你在使用Telegram组件,那么此处为监听 Telegram 的普通群消息事件
 * 并且这里以 reactor API 为例
 */
 @Listener
 public Mono<Void> onTelegramChatGroupMessage(TelegramChatGroupMessageEvent event) {
 return event.replyReserve("Hello, Simbot!").transform(SuspendReserve.mono()).then();
 }

 /**
 * 假设:你在使用KOOK组件,那么此处为监听KOOK的聊天子频道消息事件
 * 并且这里以 Java async API 为例
 */
 @Listener
 public CompletableFuture<?> onKookChannelMessage(KookChannelMessageEvent event) {
 return event.replyAsync("Hello, Simbot!");
 }
}

Kotlin 构建消息

// 单个消息元素
val text = "你好".toText()
val at = At(123456.ID)
// 组装消息链
val messages = text + at
// 构建消息链
val built = buildMessages {
 +"你好"
 +at
 +Face(666.ID)
}

Java 构建消息

// 单个消息元素
var text = Text.of("你好");
var at = new At(Identifies.of(123456));
// 组装消息链
var messages = Messages.of(text, at);
// 构建消息链
var built = MessagesBuilder.create()
 .add("你好")
 .add(at)
 .add(new Face(Identifies.of(666)))
 .build();

Note

针对不同的平台,各组件还可能会提供更多组件专属的消息元素类型,比如QQ频道中的 Ark 或 markdown 等。


社群 / Communities

✨除了前往社群,一同建设 社区 是我们最推荐的相互交流的方式。如果你发现了一些问题,也可以通过 Issues 进行反馈。 与他人交流,并留下你的足迹吧!

🤔 猜你感兴趣

文档/API文档

是一个不仔细看的坏孩子呢。文档的话,在最上面的 官网 就是喔。核心库的API文档(KDoc)也可以在那里面找到。

当然,我们也提供了一个 文档引导站点 供你选择。

教学视频

你也许可以去 这个B站视频合集 中看看。

🙋 你在吗?

你有在使用simbot吗? 通过为你的仓库 添加 simbot 主题 (也就是 GitHub 的仓库tag) 来告诉我们吧!

组件库开发

除了直接使用组件开发应用,simbot也支持使用 Kotlin 开发任意的自定义组件。

我们从 simbot4 开始会持续提供一些用于开发组件库/插件库的模板项目,如果你感兴趣, 在阅读组件开发相关文档之余也可以试试它们喔!

开发模板

Warning

组件开发与应用开发不同,不要搞混喔。

模板项目不一定会更新的很及时,如果你有发现任何描述错误、落后的版本、错误的逻辑,也都欢迎为其提交 issue 或 pr,感谢您的协助!

📚 图书馆

如果你想要找核心库或者各个组件的 API Doc 或者文档地址的话,也许你可以去 📚 图书馆 看看~

🤝 协助我们

⭐ 为你青睐的仓库贡献一枚star或参与到社区的活跃建设中就是对我们最大的鼓励与帮助!

⭐ 如果你希望参与项目的建设,欢迎通过PR对某一仓库进行贡献!

⭐ 我们的开发团队生产力非常低,因为人手总是不足。如果你也想要参与到我们的团队中来,欢迎通过邮箱社区QQ频道QQ群 联系我们~

✨ 贡献星星!

如果你喜欢 Simple Robot, 那么不妨前往核心库以及你所青睐的组件为它点个可爱的🌟~

你的支持就是最优质的更新动力,非常感谢❤️


powered by Star History

Pinned Loading

  1. simpler-robot Public

    Simple Robot,一个bot风格的Kotlin多平台事件调度框架,异步高效、Java友好!/ A Bot-style Kotlin Multiplatform event scheduling framework, asynchronous and high-performance, java-friendly! 🐱😼😻😸

    Kotlin 557 45

  2. 一个 Kotlin 多平台的QQ机器人(包括群聊) SDK,一个 Simple Robot 的组件库。对接官方API,Java 友好、异步高效 😻😻😽

    Kotlin 26 2

  3. 一个Kotlin多平台的 OneBot SDK 实现,一个异步高效、Java 友好的 Simple Robot 组件库 ~ 🐱🐱🐱

    Kotlin 23 4

  4. 一个 Kotlin 多平台的 KOOK(开黑啦) Bot SDK 实现库,一个 Simple Robot 组件库,Java 友好、异步高效~ ❤️‍🔥❤️‍🔥😘

    Kotlin 31 1

Repositories

Showing 10 of 25 repositories
You can’t perform that action at this time.