Commit 308988fa authored by Him188's avatar Him188

Remove stringValue

parent 8ca7a510
...@@ -163,7 +163,7 @@ class MessageSubscribersBuilder<T : MessagePacket<*, *>>( ...@@ -163,7 +163,7 @@ class MessageSubscribersBuilder<T : MessagePacket<*, *>>(
crossinline onEvent: @MessageDsl suspend T.(String) -> Unit crossinline onEvent: @MessageDsl suspend T.(String) -> Unit
): Listener<T> = ): Listener<T> =
content({ it.startsWith(prefix) }) { content({ it.startsWith(prefix) }) {
if (removePrefix) this.onEvent(this.message.stringValue.substringAfter(prefix)) if (removePrefix) this.onEvent(this.message.toString().substringAfter(prefix))
else onEvent(this, this.message.toString()) else onEvent(this, this.message.toString())
} }
......
...@@ -11,8 +11,7 @@ import net.mamoe.mirai.contact.QQ ...@@ -11,8 +11,7 @@ import net.mamoe.mirai.contact.QQ
inline class At(val target: Long) : Message { inline class At(val target: Long) : Message {
constructor(target: QQ) : this(target.id) constructor(target: QQ) : this(target.id)
override val stringValue: String get() = "[@$target]" // TODO: 2019/11/25 使用群名称进行 at. 因为手机端只会显示这个文字 override fun toString(): String = "[@$target]" // TODO: 2019/11/25 使用群名称进行 at. 因为手机端只会显示这个文字
override fun toString(): String = stringValue
companion object Key : Message.Key<At> companion object Key : Message.Key<At>
} }
......
...@@ -6,8 +6,7 @@ import kotlin.jvm.JvmStatic ...@@ -6,8 +6,7 @@ import kotlin.jvm.JvmStatic
* QQ 自带表情 * QQ 自带表情
*/ */
inline class Face(val id: FaceId) : Message { inline class Face(val id: FaceId) : Message {
override val stringValue: String get() = "[face${id.value}]" override fun toString(): String = "[face${id.value}]"
override fun toString(): String = stringValue
companion object Key : Message.Key<Face> companion object Key : Message.Key<Face>
} }
......
...@@ -14,8 +14,7 @@ import net.mamoe.mirai.utils.ExternalImage ...@@ -14,8 +14,7 @@ import net.mamoe.mirai.utils.ExternalImage
* @param id 这个图片的 [ImageId] * @param id 这个图片的 [ImageId]
*/ */
inline class Image(inline val id: ImageId) : Message { inline class Image(inline val id: ImageId) : Message {
override val stringValue: String get() = "[${id.value}]" override fun toString(): String = "[${id.value}]"
override fun toString(): String = stringValue
companion object Key : Message.Key<Image> companion object Key : Message.Key<Image>
} }
......
...@@ -47,18 +47,6 @@ import net.mamoe.mirai.contact.sendMessage ...@@ -47,18 +47,6 @@ import net.mamoe.mirai.contact.sendMessage
* @see Contact.sendMessage 发送消息 * @see Contact.sendMessage 发送消息
*/ */
interface Message { interface Message {
/**
* 易读的 [String] 值
* 如:
* ```
* [@123456789]
* [face123]
* ```
*
* 使用 [toString] 将得到同样的值
*/
val stringValue: String
/** /**
* 类型 Key. * 类型 Key.
* 除 [MessageChain] 外, 每个 [Message] 类型都拥有一个`伴生对象`(companion object) 来持有一个 Key * 除 [MessageChain] 外, 每个 [Message] 类型都拥有一个`伴生对象`(companion object) 来持有一个 Key
...@@ -73,7 +61,7 @@ interface Message { ...@@ -73,7 +61,7 @@ interface Message {
/** /**
* 将 [stringValue] 与 [other] 比较 * 将 [stringValue] 与 [other] 比较
*/ */
infix fun eq(other: String): Boolean = this.stringValue == other infix fun eq(other: String): Boolean = this.toString() == other
operator fun contains(sub: String): Boolean = false operator fun contains(sub: String): Boolean = false
......
...@@ -20,8 +20,6 @@ import kotlin.reflect.KProperty ...@@ -20,8 +20,6 @@ import kotlin.reflect.KProperty
*/ */
interface MessageChain : Message, MutableList<Message> { interface MessageChain : Message, MutableList<Message> {
// region Message override // region Message override
override val stringValue: String
override operator fun contains(sub: String): Boolean override operator fun contains(sub: String): Boolean
override fun followedBy(tail: Message): MessageChain override fun followedBy(tail: Message): MessageChain
// endregion // endregion
...@@ -185,10 +183,7 @@ class EmptyMessageChain : MessageChain { ...@@ -185,10 +183,7 @@ class EmptyMessageChain : MessageChain {
toIndex toIndex
) else throw IndexOutOfBoundsException("given args that from $fromIndex to $toIndex, but the list is empty") ) else throw IndexOutOfBoundsException("given args that from $fromIndex to $toIndex, but the list is empty")
override val stringValue: String override fun toString(): String = if (initialized) delegate.toString() else ""
get() = if (initialized) delegate.stringValue else ""
override fun toString(): String = stringValue
override fun contains(sub: String): Boolean = if (initialized) delegate.contains(sub) else false override fun contains(sub: String): Boolean = if (initialized) delegate.contains(sub) else false
override fun contains(element: Message): Boolean = if (initialized) delegate.contains(element) else false override fun contains(element: Message): Boolean = if (initialized) delegate.contains(element) else false
...@@ -240,8 +235,6 @@ class EmptyMessageChain : MessageChain { ...@@ -240,8 +235,6 @@ class EmptyMessageChain : MessageChain {
object NullMessageChain : MessageChain { object NullMessageChain : MessageChain {
override fun subList(fromIndex: Int, toIndex: Int): MutableList<Message> = error("accessing NullMessageChain") override fun subList(fromIndex: Int, toIndex: Int): MutableList<Message> = error("accessing NullMessageChain")
override val stringValue: String get() = "null"
override fun toString(): String = "null" override fun toString(): String = "null"
override fun contains(sub: String): Boolean = error("accessing NullMessageChain") override fun contains(sub: String): Boolean = error("accessing NullMessageChain")
...@@ -291,9 +284,7 @@ internal inline class MessageChainImpl constructor( ...@@ -291,9 +284,7 @@ internal inline class MessageChainImpl constructor(
constructor(vararg messages: Message) : this(messages.toMutableList()) constructor(vararg messages: Message) : this(messages.toMutableList())
// region Message override // region Message override
override val stringValue: String get() = this.delegate.joinToString("") { it.stringValue } override fun toString(): String = this.delegate.joinToString("") { it.toString() }
override fun toString(): String = stringValue
override operator fun contains(sub: String): Boolean = delegate.any { it.contains(sub) } override operator fun contains(sub: String): Boolean = delegate.any { it.contains(sub) }
override fun followedBy(tail: Message): MessageChain { override fun followedBy(tail: Message): MessageChain {
...@@ -342,8 +333,6 @@ internal inline class SingleMessageChainImpl( ...@@ -342,8 +333,6 @@ internal inline class SingleMessageChainImpl(
MessageChain { MessageChain {
// region Message override // region Message override
override val stringValue: String get() = this.delegate.stringValue
override operator fun contains(sub: String): Boolean = delegate.contains(sub) override operator fun contains(sub: String): Boolean = delegate.contains(sub)
override fun followedBy(tail: Message): MessageChain { override fun followedBy(tail: Message): MessageChain {
require(tail !is SingleOnly) { "SingleOnly Message cannot follow another message" } require(tail !is SingleOnly) { "SingleOnly Message cannot follow another message" }
...@@ -354,7 +343,7 @@ internal inline class SingleMessageChainImpl( ...@@ -354,7 +343,7 @@ internal inline class SingleMessageChainImpl(
override fun plusAssign(message: Message) = override fun plusAssign(message: Message) =
throw UnsupportedOperationException("SingleMessageChainImpl cannot be plusAssigned") throw UnsupportedOperationException("SingleMessageChainImpl cannot be plusAssigned")
override fun toString(): String = stringValue override fun toString(): String = delegate.toString()
// endregion // endregion
// region MutableList override // region MutableList override
......
package net.mamoe.mirai.message.data package net.mamoe.mirai.message.data
inline class PlainText(override val stringValue: String) : Message { inline class PlainText(val stringValue: String) : Message {
override operator fun contains(sub: String): Boolean = sub in stringValue override operator fun contains(sub: String): Boolean = sub in stringValue
override fun toString(): String = stringValue override fun toString(): String = stringValue
......
...@@ -7,7 +7,7 @@ package net.mamoe.mirai.message.data ...@@ -7,7 +7,7 @@ package net.mamoe.mirai.message.data
* *
* @see buildXMLMessage * @see buildXMLMessage
*/ */
inline class XMLMessage(override val stringValue: String) : Message, inline class XMLMessage(val stringValue: String) : Message,
SingleOnly { SingleOnly {
override fun followedBy(tail: Message): Nothing = error("XMLMessage Message cannot be followed") override fun followedBy(tail: Message): Nothing = error("XMLMessage Message cannot be followed")
override fun toString(): String = stringValue override fun toString(): String = stringValue
......
...@@ -242,7 +242,7 @@ fun MessageChain.toPacket(): ByteReadPacket = buildPacket { ...@@ -242,7 +242,7 @@ fun MessageChain.toPacket(): ByteReadPacket = buildPacket {
writeShortLVPacket { writeShortLVPacket {
writeByte(0x01) writeByte(0x01)
writeShortLVString(stringValue) // 这个应该是 "@群名", 手机上面会显示这个消息, 电脑会显示下面那个 writeShortLVString(message.toString()) // 这个应该是 "@群名", 手机上面会显示这个消息, 电脑会显示下面那个
// 06 00 0D 00 01 00 00 00 08 00 76 E4 B8 DD 00 00 // 06 00 0D 00 01 00 00 00 08 00 76 E4 B8 DD 00 00
writeHex("06 00 0D 00 01 00 00 00 08 00") writeHex("06 00 0D 00 01 00 00 00 08 00")
writeQQ(target) writeQQ(target)
......
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