From 35a75df932e03d70e2da9f2b9aadb68b9d5a46f3 Mon Sep 17 00:00:00 2001
From: Him188 <Him188@mamoe.net>
Date: Wed, 3 Feb 2021 09:23:57 +0800
Subject: [PATCH] Fix MusicShare serial name, add MusicShare.Key.SERIAL_NAME

---
 .../api/binary-compatibility-validator.api             |  1 +
 .../src/commonMain/kotlin/message/data/MusicShare.kt   | 10 +++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/binary-compatibility-validator/api/binary-compatibility-validator.api b/binary-compatibility-validator/api/binary-compatibility-validator.api
index d98a3a9c6..fc467eab2 100644
--- a/binary-compatibility-validator/api/binary-compatibility-validator.api
+++ b/binary-compatibility-validator/api/binary-compatibility-validator.api
@@ -4702,6 +4702,7 @@ public final class net/mamoe/mirai/message/data/MusicKind : java/lang/Enum {
 
 public final class net/mamoe/mirai/message/data/MusicShare : net/mamoe/mirai/message/data/ConstrainSingle, net/mamoe/mirai/message/data/MessageContent {
 	public static final field Key Lnet/mamoe/mirai/message/data/MusicShare$Key;
+	public static final field SERIAL_NAME Ljava/lang/String;
 	public synthetic fun <init> (ILnet/mamoe/mirai/message/data/MusicKind;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V
 	public fun <init> (Lnet/mamoe/mirai/message/data/MusicKind;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 	public fun <init> (Lnet/mamoe/mirai/message/data/MusicKind;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
diff --git a/mirai-core-api/src/commonMain/kotlin/message/data/MusicShare.kt b/mirai-core-api/src/commonMain/kotlin/message/data/MusicShare.kt
index b00d6ec2b..fe63cc520 100644
--- a/mirai-core-api/src/commonMain/kotlin/message/data/MusicShare.kt
+++ b/mirai-core-api/src/commonMain/kotlin/message/data/MusicShare.kt
@@ -11,6 +11,7 @@
 
 package net.mamoe.mirai.message.data
 
+import kotlinx.serialization.SerialName
 import kotlinx.serialization.Serializable
 import net.mamoe.mirai.utils.MiraiExperimentalApi
 import net.mamoe.mirai.utils.MiraiInternalApi
@@ -22,6 +23,7 @@ import net.mamoe.mirai.utils.safeCast
  * @since 2.1
  */
 @Serializable
+@SerialName(MusicShare.SERIAL_NAME)
 public data class MusicShare(
     /**
      * 音乐应用类型
@@ -93,7 +95,13 @@ public data class MusicShare(
      */
     public companion object Key :
         AbstractPolymorphicMessageKey<@MiraiExperimentalApi MessageContent, MusicShare>
-            (MessageContent, { it.safeCast() })
+            (MessageContent, { it.safeCast() }) {
+
+        /**
+         * @since 2.3
+         */
+        public const val SERIAL_NAME: String = "MusicShare"
+    }
 }
 
 /**