Skip to content

概述

在ROB中所有的消息都被抽象成了一个个的消息段(Segment)每个Segment里面有这个消息特有的属性

处理消息

消息的处理有两种方式:

  1. 你知道你要获取的是什么类型的消息段
  2. 通过is关键字判断类型

确定类型

kotlin
fun main() {
    val message: GroupMessage = ...
    val text = message.message.find { it.type == SegmentType.text }?.data?.text!!
}

is操作符

kotlin
fun main() {
    val message: GroupMessage = ...
    message.message.serialize().forEach { 
        if (it is TextSegment) {
            println(it.text)
        }
    }
}

框架还提供了一些拓展属性用于获取所有消息段中的某种单个类型例如: 获取一个消息列中的所有纯文本/纯文本数组

kotlin
fun main() {
    val message: GroupMessage = ...
    // .text属性是将所有纯文本内容拼接起来成一个字符串
    println(message.text)
    // .texts属性是将所有被其他消息段分割开的纯文本提取出来变成字符串列表
    println(message.texts)
}

除此之外还有下面的拓展属性用于快速获取特定的Segment

  1. images
  2. mFaces
  3. mFace
  4. faces

以Apache-2.0开源协议开源