reference

abstract suspend override fun reference(): KookQuote?(source)

获取消息中的引用信息。 会通过 API GetChannelMessageViewApiGetDirectMessageViewApi 发起请求并得到结果, 因此 reference 会产生挂起。

reference 的结果不会包含在 messages 中。

如果是私聊会话,会先查询会话code,然后查询消息引用。

查询结果不会被缓存,每次调用都会产生API请求。

Throws

由于服务端响应值类型不规范导致的异常。 2024/8/6: 经测试,在私聊会话情况下,如果发送的消息内无引用,则响应的 quote 值为 空字符串, 例如:

{"quote":""}

这会引发 SerializationException。而如果消息包含引用,则响应为 Quote 对象结构。 虽然在内部做了写兼容性的处理,但是不能保证未来服务端的行为不会发生变化。

请求结果的状态码不是 200..300 之间

请求结果的 ApiResult.code 校验失败