Przeglądaj źródła

Add Contact.sendMessage(String) for convenience

Him188 5 lat temu
rodzic
commit
5459e1c577

+ 7 - 6
mirai-core-api/src/commonMain/kotlin/contact/Contact.kt

@@ -23,7 +23,6 @@ import net.mamoe.mirai.message.data.*
 import net.mamoe.mirai.utils.ExternalImage
 import net.mamoe.mirai.utils.OverFileSizeMaxException
 import net.mamoe.mirai.utils.WeakRefProperty
-import net.mamoe.mirai.utils.cast
 
 /**
  * 联系对象, 即可以与 [Bot] 互动的对象. 包含 [用户][User], 和 [群][Group].
@@ -61,6 +60,13 @@ public interface Contact : ContactOrBot, CoroutineScope {
     @JvmBlockingBridge
     public suspend fun sendMessage(message: Message): MessageReceipt<Contact>
 
+    /**
+     * 发送纯文本消息
+     * @see sendMessage
+     */
+    @JvmBlockingBridge
+    public suspend fun sendMessage(message: String): MessageReceipt<Contact> = this.sendMessage(message.toPlainText())
+
     /**
      * 上传一个图片以备发送.
      *
@@ -81,11 +87,6 @@ public interface Contact : ContactOrBot, CoroutineScope {
     public override fun toString(): String
 }
 
-@JvmSynthetic
-public suspend inline fun <T : Contact> T.sendMessage(message: String): MessageReceipt<T> {
-    return sendMessage(PlainText(message)).cast()
-}
-
 /**
  * @see IMirai.recallMessage
  */

+ 9 - 0
mirai-core-api/src/commonMain/kotlin/contact/Friend.kt

@@ -23,6 +23,7 @@ import net.mamoe.mirai.message.MessageReceipt.Companion.recall
 import net.mamoe.mirai.message.action.FriendNudge
 import net.mamoe.mirai.message.data.Message
 import net.mamoe.mirai.message.data.isContentEmpty
+import net.mamoe.mirai.message.data.toPlainText
 import net.mamoe.mirai.utils.MiraiExperimentalApi
 
 /**
@@ -74,6 +75,14 @@ public interface Friend : User, CoroutineScope {
     @JvmBlockingBridge
     public override suspend fun sendMessage(message: Message): MessageReceipt<Friend>
 
+    /**
+     * 发送纯文本消息
+     * @see sendMessage
+     */
+    @JvmBlockingBridge
+    public override suspend fun sendMessage(message: String): MessageReceipt<Friend> =
+        this.sendMessage(message.toPlainText())
+
     /**
      * 创建一个 "戳一戳" 消息
      *

+ 9 - 4
mirai-core-api/src/commonMain/kotlin/contact/Group.kt

@@ -19,10 +19,7 @@ import net.mamoe.mirai.data.MemberInfo
 import net.mamoe.mirai.event.events.*
 import net.mamoe.mirai.message.MessageReceipt
 import net.mamoe.mirai.message.MessageReceipt.Companion.recall
-import net.mamoe.mirai.message.data.Image
-import net.mamoe.mirai.message.data.Message
-import net.mamoe.mirai.message.data.Voice
-import net.mamoe.mirai.message.data.isContentEmpty
+import net.mamoe.mirai.message.data.*
 import net.mamoe.mirai.utils.ExternalImage
 import net.mamoe.mirai.utils.MiraiExperimentalApi
 import net.mamoe.mirai.utils.OverFileSizeMaxException
@@ -150,6 +147,14 @@ public interface Group : Contact, CoroutineScope {
     @JvmBlockingBridge
     public override suspend fun sendMessage(message: Message): MessageReceipt<Group>
 
+    /**
+     * 发送纯文本消息
+     * @see sendMessage
+     */
+    @JvmBlockingBridge
+    public override suspend fun sendMessage(message: String): MessageReceipt<Group> =
+        this.sendMessage(message.toPlainText())
+
 
     /**
      * 上传一个图片以备发送.

+ 9 - 0
mirai-core-api/src/commonMain/kotlin/contact/Member.kt

@@ -22,6 +22,7 @@ import net.mamoe.mirai.message.action.MemberNudge
 import net.mamoe.mirai.message.action.Nudge
 import net.mamoe.mirai.message.data.Message
 import net.mamoe.mirai.message.data.isContentEmpty
+import net.mamoe.mirai.message.data.toPlainText
 import net.mamoe.mirai.utils.MiraiExperimentalApi
 import net.mamoe.mirai.utils.WeakRefProperty
 import kotlin.time.Duration
@@ -159,6 +160,14 @@ public interface Member : User {
     @JvmBlockingBridge
     public override suspend fun sendMessage(message: Message): MessageReceipt<Member>
 
+    /**
+     * 发送纯文本消息
+     * @see sendMessage
+     */
+    @JvmBlockingBridge
+    public override suspend fun sendMessage(message: String): MessageReceipt<Member> =
+        this.sendMessage(message.toPlainText())
+
     /**
      * 创建一个 "戳一戳" 消息
      *

+ 9 - 0
mirai-core-api/src/commonMain/kotlin/contact/User.kt

@@ -22,6 +22,7 @@ import net.mamoe.mirai.message.action.Nudge
 import net.mamoe.mirai.message.data.Image
 import net.mamoe.mirai.message.data.Message
 import net.mamoe.mirai.message.data.isContentEmpty
+import net.mamoe.mirai.message.data.toPlainText
 import net.mamoe.mirai.utils.ExternalImage
 import net.mamoe.mirai.utils.MiraiExperimentalApi
 import net.mamoe.mirai.utils.OverFileSizeMaxException
@@ -82,6 +83,14 @@ public interface User : Contact, UserOrBot, CoroutineScope {
     @JvmBlockingBridge
     public override suspend fun sendMessage(message: Message): MessageReceipt<User>
 
+    /**
+     * 发送纯文本消息
+     * @see sendMessage
+     */
+    @JvmBlockingBridge
+    public override suspend fun sendMessage(message: String): MessageReceipt<User> =
+        this.sendMessage(message.toPlainText())
+
     /**
      * 创建一个 "戳一戳" 消息
      *