simple-robot / simpler-robot

Simple Robot,一个bot风格的高效异步事件调度框架 / A Bot-style event scheduling framework, asynchronous and high-performance

Home Page:https://simbot.forte.love

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

simbot logo

- Simple Robot -

~ simbot v4 ~
GitHub    |    Gitee
> 感谢 CatCode 开发团队成员制作的simbot logo <
> 走过路过,不要忘记点亮一颗⭐喔~ <
release release doc Qodana
stars forks watchers repo-size code-size issues last-commit search-hit top-language copying

English

简介

Simple Robot (v4) 是一个基于Kotlin协程Kotlin多平台 Bot风格高性能异步事件调度框架(下文简称simbot), 异步高效、Java友好~

simbot提供统一的异步API和易用的风格设计,可以协助你更快速高效的编写Bot风格的事件调度应用。 主要应用于对接各种类型的Bot应用平台/框架,并提供部分组件库实现。

simbot的平台功能由组件驱动,安装不同的组件库来获得不同的功能支持。

举个例子,在simbot中使用KOOK和QQ频道:

suspend fun main() {
    val application = launchSimpleApplication {
        // 安装KOOK和QQ频道组件库
        useKook()
        useQQGuild()
    }
    
    application.kookBots {
        // ... 注册kook bot,并在此之后可处理到kook的相关事件
        register(...) { ... }.start()
    }
    application.qqGuildBots {
        // ... 注册QQ频道bot,并在此之后可处理到QQ频道的相关事件
        register(...) { ... }.start()
    }
    
    // 注册各种事件处理器
    application.listeners {
        // 注册一个事件处理器
        // ChatChannelMessageEvent 是由simbot API定义的泛用类型,代表所有子频道消息事件
        // 其中就包括QQ频道的公域消息事件, 或者KOOK的频道消息事件
        listen<ChatChannelMessageEvent> {
            println("context: $this")
            println("context.event: $event")

            // 返回事件处理结果
            EventResult.empty()
        }

        // 再注册一个事件处理器
        // 明确监听QQ频道的公域消息事件
        // 使用 process 不需要返回值
        process<QGAtMessageCreateEvent> {
            println("context: $this")
            println("context.event: $event")
        }

        // 再注册一个事件处理器
        // 明确监听KOOK的频道消息事件
        // 使用 process 不需要返回值
        process<KookChannelMessageEvent> {
            println("context: $this")
            println("context.event: $event")
        }
    }
}

文档与引导

切换分支到 v3-dev 可查看 simbot v3 的历史分支。

协助我们

为我们点亮一个 ✨star🌟 便是能够给予我们继续走下去的最大动力与支持!

  • 阅读 贡献指南 来了解如何贡献你的力量!
  • 你可以通过 讨论区 与其他人或者simbot开发团队相互友好交流。
  • 如果你通过此项目创建了一个很酷的开源项目,欢迎通过 ISSUES讨论区 等方式留下你的开源项目信息,并将你酷酷的项目展示在作品展示区。

联系我们

  • 如果想要反馈问题、提出建议建议或提出问题,请通过 ISSUES
  • 如果想要与开发团队交流、与其他开发者交流,请前往 讨论区
  • 可以前往 GitHub 组织首页 查看更多社群信息

特别鸣谢

jetbrains

感谢 Jetbrains 为团队提供的免费授权,也希望大家能够支持 Jetbrains 及其产品,支持正版。

星星!

Star History Chart

powered by Star History

License

Simple Robot 使用 LGPLv3 协议开源。

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 <https://www.gnu.org/licenses/>.

About

Simple Robot,一个bot风格的高效异步事件调度框架 / A Bot-style event scheduling framework, asynchronous and high-performance

https://simbot.forte.love

License:GNU Lesser General Public License v3.0


Languages

Language:Kotlin 99.1%Language:Java 0.9%Language:CSS 0.0%