llms.txt: machine-readable documentation index. Markdown version of this page is also available.

Simple Robot 5.x Help

OneBot

release

概述

OneBot 组件是一个 OneBot11协议 的客户端SDK, 也是 Simple Robot 标准API下实现的组件库。

借助simbot核心库提供的能力,它支持众多高级功能和封装,比如组件协同、Spring支持等, 助你快速开发 OneBot 客户端应用!

模块

公共模块

OneBot组件为所有协议实现的模块提供了一些共享内容的模块, 命名为 simbot-component-onebot-common。

此模块中会定义一些通用的类型或注解等。 对于普通开发者来讲可以不用过多关注,此模块由其他组件模块引用并使用。

OneBot11

在OneBot组件中,我们提供了针对 OneBot11 协议的组件实现模块,它们的坐标以 simbot-component-onebot-v11 作为开头:

  • simbot-component-onebot-v11-common

    在OneBot11协议的实现模块中进行共享的模块。 对于普通开发者来讲可以不用过多关注,此模块由其他组件模块引用并使用。

  • simbot-component-onebot-v11-core

    OneBot11协议作为一个simbot组件的实现模块。通常会是你真正使用的模块。 当前组件标识为 simbot.onebot11。

  • simbot-component-onebot-v11-event

    对OneBot11协议中的原始事件 类型提供定义的模块, 被 simbot-component-onebot-v11-core 引用并依赖。

  • simbot-component-onebot-v11-message

    对OneBot11协议中的原始消息段 类型提供定义的模块。

    这里定义的大部分类型都是针对消息段的数据类实现, 是对它们的JSON结构的基本映射, 被 simbot-component-onebot-v11-core 引用并依赖。

安装

安装OneBot11组件

前期准备

  • 准备OneBot11协议服务端

    OneBot组件是一个 OneBot 协议的客户端实现, 因此在使用之前,你需要准备一个支持 OneBot11 的服务端, 例如 NapCat, Language.OneBot 等。

安装依赖

  1. 安装simbot核心库实现

    implementation("love.forte.simbot:simbot-core:5.0.0-Alpha2")

    如果使用 Java 而不配合使用 Gradle 的 Kotlin 插件, 那么你需要指定依赖的后缀为 -jvm。

    implementation("love.forte.simbot:simbot-core-jvm:5.0.0-Alpha2")
    implementation 'love.forte.simbot:simbot-core:5.0.0-Alpha2'

    如果使用 Java 而不配合使用 Gradle 的 Kotlin 插件, 那么你需要指定依赖的后缀为 -jvm。

    implementation 'love.forte.simbot:simbot-core-jvm:5.0.0-Alpha2'
    <dependency> <groupId>love.forte.simbot</groupId> <artifactId>simbot-core-jvm</artifactId> <version>5.0.0-Alpha2</version> </dependency>
    implementation("love.forte.simbot:simbot-core-spring-boot-starter:5.0.0-Alpha2")
    implementation 'love.forte.simbot:simbot-core-spring-boot-starter:5.0.0-Alpha2'
    <dependency> <groupId>love.forte.simbot</groupId> <artifactId>simbot-core-spring-boot-starter</artifactId> <version>5.0.0-Alpha2</version> </dependency>
    implementation("love.forte.simbot:simbot-core-spring-boot-starter-v2:5.0.0-Alpha2")
    implementation 'love.forte.simbot:simbot-core-spring-boot-starter-v2:5.0.0-Alpha2'
    <dependency> <groupId>love.forte.simbot</groupId> <artifactId>simbot-core-spring-boot-starter-v2</artifactId> <version>5.0.0-Alpha2</version> </dependency>
  2. 安装 simbot-component-onebot-v11-core 依赖

    implementation("love.forte.simbot.component:simbot-component-onebot-v11-core:5.0.0-Alpha2")

    如果使用 Java 而不配合使用 Gradle 的 kotlin 插件, 那么你需要指定依赖的后缀为 -jvm。

    implementation("love.forte.simbot.component:simbot-component-onebot-v11-core-jvm:5.0.0-Alpha2")
    implementation 'love.forte.simbot.component:simbot-component-onebot-v11-core:5.0.0-Alpha2'

    如果使用 Java 而不配合使用 Gradle 的 kotlin 插件, 那么你需要指定依赖的后缀为 -jvm。

    implementation 'love.forte.simbot.component:simbot-component-onebot-v11-core-jvm:5.0.0-Alpha2'
    <dependency> <groupId>love.forte.simbot.component</groupId> <artifactId>simbot-component-onebot-v11-core-jvm</artifactId> <version>5.0.0-Alpha2</version> </dependency>
  3. 安装Ktor客户端引擎

    OneBot11组件使用 Ktor 作为 HTTP 客户端实现, 但是默认不会依赖任何具体的引擎。

    因此,你需要选择并使用一个 Ktor Client 引擎实现。

    你可以前往 Ktor文档 处选择一个对应所用平台下合适的 Client Engine。 这里会根据不同平台提供几个示例,你可以选择其他可用目标。

    在 Java11+ 的环境下,可以选择 Java 引擎。

    runtimeOnly("io.ktor:ktor-client-java:$ktor_version")

    如果不使用Kotlin的Gradle插件:

    runtimeOnly("io.ktor:ktor-client-java-jvm:$ktor_version")
    runtimeOnly 'io.ktor:ktor-client-java:$ktor_version'

    如果不使用Kotlin的Gradle插件:

    runtimeOnly 'io.ktor:ktor-client-java-jvm:$ktor_version'
    <dependency> <groupId>io.ktor</groupId> <artifactId>ktor-client-java-jvm</artifactId> <version>${ktor_version}</version> <scope>runtime</scope> </dependency>

    OkHttp 引擎基于 OkHttp,是一个不错的库。

    runtimeOnly("io.ktor:ktor-client-okhttp:$ktor_version")

    如果不使用Kotlin的Gradle插件:

    runtimeOnly("io.ktor:ktor-client-okhttp-jvm:$ktor_version")
    runtimeOnly 'io.ktor:ktor-client-okhttp:$ktor_version'

    如果不使用Kotlin的Gradle插件:

    runtimeOnly 'io.ktor:ktor-client-okhttp-jvm:$ktor_version'
    <dependency> <groupId>io.ktor</groupId> <artifactId>ktor-client-okhttp-jvm</artifactId> <version>${ktor_version}</version> <scope>runtime</scope> </dependency>

    CIO 是一个比较通用的引擎。 在不知道选什么的情况下,可以考虑使用它。

    runtimeOnly("io.ktor:ktor-client-cio:$ktor_version")

    如果不使用Kotlin的Gradle插件:

    runtimeOnly("io.ktor:ktor-client-cio-jvm:$ktor_version")
    runtimeOnly 'io.ktor:ktor-client-cio:$ktor_version'

    如果不使用Kotlin的Gradle插件:

    runtimeOnly 'io.ktor:ktor-client-cio-jvm:$ktor_version'
    <dependency> <groupId>io.ktor</groupId> <artifactId>ktor-client-cio-jvm</artifactId> <version>${ktor_version}</version> <scope>runtime</scope> </dependency>

    JavaScript 平台下可以选择 Js 引擎。

    implementation("io.ktor:ktor-client-js:$ktor_version")
    implementation 'io.ktor:ktor-client-js:$ktor_version'

    native 平台目标下,可能需要根据不同的平台类型选择不同的引擎。

    可以选择 WinHttp 引擎。

    implementation("io.ktor:ktor-client-winhttp:$ktor_version")
    implementation 'io.ktor:ktor-client-winhttp:$ktor_version'

    Linux 下依旧可以选择 CIO 引擎。

    implementation("io.ktor:ktor-client-cio:$ktor_version")
    implementation 'io.ktor:ktor-client-cio:$ktor_version'

    可以选择 Darwin 引擎。

    implementation("io.ktor:ktor-client-darwin:$ktor_version")
    implementation 'io.ktor:ktor-client-darwin:$ktor_version'
29 October 2026