Commit 7050d30a authored by Him188's avatar Him188

Add docs

parent 15c50c15
......@@ -7,7 +7,7 @@
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
@file: JvmName("MessageUtils")
@file:JvmName("MessageUtils")
@file:JvmMultifileClass
@file:Suppress("MemberVisibilityCanBePrivate", "unused")
......@@ -23,21 +23,39 @@ import kotlin.jvm.JvmOverloads
import kotlin.jvm.JvmSynthetic
/**
* XML 消息等富文本消息
* XML, JSON 消息等富文本消息
*
* @see ServiceMessage 子类 [XmlMessage], [JsonMessage], [LongMessage], [ForwardMessage]
* **注意**: 富文本消息的 [RichMessage.contentEquals] 和 [RichMessage.toString] 都不稳定. 将来可能在没有任何警告的情况下改变格式.
*
* @see ServiceMessage 服务消息 (XML, JSON)
* @see LightApp 小程序 (JSON)
*/
// not using sealed class for customized implementations
@SinceMirai("0.27.0")
interface RichMessage : MessageContent {
/**
* **注意**: 富文本消息的 [RichMessage.contentEquals] 和 [RichMessage.toString] 都不稳定. 将来可能在没有任何警告的情况下改变格式.
*/
@MiraiExperimentalAPI
override fun contentToString(): String = this.content
/**
* 消息内容. 可为 JSON 文本或 XML 文本
*/
val content: String
/**
* 一些模板
* @suppress 此 API 不稳定, 可能在任意时刻被删除
*/
@MiraiExperimentalAPI
@SinceMirai("0.30.0")
companion object Templates : Message.Key<RichMessage> {
/**
* @suppress 此 API 不稳定, 可能在任意时刻被删除
*/
@MiraiExperimentalAPI
@SinceMirai("0.30.0")
fun share(
......@@ -83,14 +101,16 @@ interface RichMessage : MessageContent {
override val typeName: String
get() = "RichMessage"
}
val content: String
}
/**
* 小程序, 如音乐分享.
*
* 大部分 JSON 消息为此类型, 另外一部分为 [ServiceMessage]
*
* @param content 一般是 json
*
* @see ServiceMessage 服务消息
*/
@SinceMirai("0.27.0")
data class LightApp(override val content: String) : RichMessage {
......@@ -102,7 +122,14 @@ data class LightApp(override val content: String) : RichMessage {
}
/**
* 服务消息, 如 [XmlMessage].
* 服务消息, 可以是 JSON 消息或 XML 消息.
*
* JSON 消息更多情况下通过 [LightApp] 发送.
*
* @param serviceId 目前未知, XML 一般为 60, JSON 一般为 1
* @param content 消息内容. 可为 JSON 文本或 XML 文本
*
* @see LightApp 小程序类型消息
*/
@SinceMirai("0.37.3")
open class ServiceMessage(val serviceId: Int, final override val content: String) : RichMessage {
......@@ -190,6 +217,7 @@ commonElem=CommonElem#750141174 {
/**
* 构造一条 XML 消息
* @suppress 此 API 不稳定
*/
@Suppress("DEPRECATION_ERROR")
@JvmSynthetic
......@@ -198,10 +226,14 @@ commonElem=CommonElem#750141174 {
inline fun buildXmlMessage(serviceId: Int, block: @XmlMessageDsl XmlMessageBuilder.() -> Unit): ServiceMessage =
XmlMessage(serviceId, XmlMessageBuilder().apply(block).text)
@MiraiExperimentalAPI
@Target(CLASS, FUNCTION, TYPE)
@DslMarker
annotation class XmlMessageDsl
/**
* @suppress 此 API 不稳定
*/
@MiraiExperimentalAPI
@XmlMessageDsl
class XmlMessageBuilder(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment