Skip to content

欢迎使用ROB! 这是一个Kotlin的OneBot11 SDK开发框架并且支持多实例!

注意事项

  1. ROB不是一个OneBot实现, 他的作用是连接到OneBot实现, 然后处理OneBot实现下发的消息。
  2. ROB在v2.8.2及以前的版本为纯Jvm库, 在v2.9.0及以上为KMP库, 支持Windows(MinGWX64)Linux(x64,armX64)MacOs(X64, ArmX64)Jvm
  3. Jvm ROB所需的最低JDK版本为11
  4. ronebot-onebot-v11兼容全部的Lagrange.OneBot的API并且兼容部分的其他OneBot实现的API, 不保证可用性, 有bug可以提issue

快速开始

如果你的Bot用到了任何Kotlin native平台, 请把下面的内容添加到你的gradle.properties

properties
# gradle.properties
org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8

由于链接Kotlin native需要大量的内存, 你需要额外配置更多的堆内存让gradle成功链接出最终的二进制产物

添加Maven仓库

kotlin
repositories {
    mavenCentral()
    maven("https://repo.maven.rtast.cn/releases/")
}

添加依赖

kotlin
sourceSets {
    commonMain {
        dependencies {
           // 这里的版本替换成最新版本
           implementation("cn.rtast.rob:ronebot-onebot-v11:${version}")
        }
    }
}

或者支持其他平台

kotlin
kotlin {
    linuxX64 {
        binaries.executable {
            entryPoint = "com.example.rob.examplerobproject.main"
        }
    }
    mingwX64 {
        binaries.executable {
            entryPoint = "com.example.rob.examplerobproject.main"
        }
    }
    jvm()

    sourceSets {
        commonMain {
            dependencies {
                implementation("cn.rtast.rob:ronebot-onebot-v11:${version}")
            }
        }
    }
}

最小实例

kotlin
suspend fun main() {
    OneBotFactory.createClient("ws://127.0.0.1:6666", "1145141919810", object : OneBotListener {
        override suspend fun onGroupMessage(message: GroupMessage, json: String) {
            println(message.rawMessage)
        }
    })
}

注意: 在native平台上是没有办法将main函数作为挂起函数, 所以你需要手动创建一个协程作用域来创建客户端和服务端 例如使用GlobalScope.launch {}函数来创建一个协程作用域

Java使用者

Kotlin和Java的差异

加入交流群

点击这里加群

以Apache-2.0开源协议开源