Simple Robot v4.7.0 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-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:4.7.0")

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

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

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

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

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

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

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

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

    implementation 'love.forte.simbot.component:simbot-component-onebot-v11-core-jvm:1.4.5'
    <dependency> <groupId>love.forte.simbot.component</groupId> <artifactId>simbot-component-onebot-v11-core-jvm</artifactId> <version>1.4.5</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'
Last modified: 15 November 2024