From 6ec2a1a53285068c1a54407e7c1d8860833dd573 Mon Sep 17 00:00:00 2001 From: ForteScarlet Date: Mon, 15 Jul 2024 18:21:01 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(api):=20=E5=A2=9E=E5=8A=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20RichMediaMessage=20=E7=94=A8=E4=BB=A5=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E4=B8=80=E4=B8=AA=E5=AF=8C=E5=AA=92=E4=BD=93=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simbot-api/api/simbot-api.api | 5 ++- .../forte/simbot/message/StandardMessages.kt | 38 ++++++++++++++++--- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/simbot-api/api/simbot-api.api b/simbot-api/api/simbot-api.api index e9f1a8494..08ad13d17 100644 --- a/simbot-api/api/simbot-api.api +++ b/simbot-api/api/simbot-api.api @@ -1898,7 +1898,7 @@ public abstract interface class love/forte/simbot/message/IDAwareImage : love/fo public abstract fun getId ()Llove/forte/simbot/common/id/ID; } -public abstract interface class love/forte/simbot/message/Image : love/forte/simbot/message/StandardMessage { +public abstract interface class love/forte/simbot/message/Image : love/forte/simbot/message/RichMediaMessage, love/forte/simbot/message/StandardMessage { } public abstract interface class love/forte/simbot/message/JvmOfflineImageResolver : love/forte/simbot/message/OfflineImageResolver { @@ -2255,6 +2255,9 @@ public abstract interface class love/forte/simbot/message/RemoteUrlAwareImage : public abstract synthetic fun url (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } +public abstract interface class love/forte/simbot/message/RichMediaMessage : love/forte/simbot/message/StandardMessage { +} + public final class love/forte/simbot/message/SimpleOfflineResourceImage : love/forte/simbot/message/OfflineResourceImage { public static final field Companion Llove/forte/simbot/message/SimpleOfflineResourceImage$Companion; public fun (Llove/forte/simbot/resource/Resource;)V diff --git a/simbot-api/src/commonMain/kotlin/love/forte/simbot/message/StandardMessages.kt b/simbot-api/src/commonMain/kotlin/love/forte/simbot/message/StandardMessages.kt index 1729d8ae4..e10603600 100644 --- a/simbot-api/src/commonMain/kotlin/love/forte/simbot/message/StandardMessages.kt +++ b/simbot-api/src/commonMain/kotlin/love/forte/simbot/message/StandardMessages.kt @@ -57,7 +57,6 @@ import kotlin.jvm.* public sealed interface StandardMessage : Message.Element - //region Text /** @@ -224,23 +223,50 @@ public data object AtAll : MentionMessage //endregion -//region Description +//region RichMedia + +/** + * 一个可以表示富媒体的消息元素类型, + * 即一个文字元素除外、且与二进制数据(例如文件、音频等)相关的消息元素。 + * + * 可以是本地或远程的类型,例如常见的 [Image]。 + * + * 在不同的平台中,富媒体的表现方式或实现方式千变万化, + * 它们的类型很可能并非标准消息类型中提供的已知类型。 + * 对于实现者,在实现 [RichMediaMessage] 类型的基础上, + * 应当尽可能支持一些具有功能描述的标记性接口: + * - [UrlAwareMessage] + * - [BinaryDataAwareMessage] + * 或它们的衍生类型,来表示你的实现类型具有哪些功能。 + * + * @since 4.3.0 + */ +public interface RichMediaMessage : StandardMessage + /** - * 一个图片消息元素类型。 + * 一个图片消息元素类型, + * 最常见的 [RichMediaMessage] 类型之一。 * * 图片消息可能被分为 [离线图片][OfflineImage] * 和 [远端图片][RemoteImage],也可能是由组件实现的独立特殊类型。 * * 在不同的平台中,图片的表现方式或实现方式千变万化, * 它们的类型很可能并非标准消息类型中提供的已知类型。 - * 对于实现者,应当尽可能支持 [UrlAwareImage] - * 来表示一个能够得到 URL 信息的图片。 + * 对于实现者,在实现 [Image] 类型的基础上, + * 应当尽可能支持一些具有功能描述的标记性接口: + * - [UrlAwareMessage] + * - [BinaryDataAwareMessage] + * 或它们的衍生类型: + * - [UrlAwareImage] + * 等等,来表示你的实现类型具有哪些功能。 + * * + * @see RichMediaMessage * @see OfflineImage * @see RemoteImage */ -public interface Image : StandardMessage +public interface Image : StandardMessage, RichMediaMessage /** * 一个可以感知到 [ID] 信息的 [Image]。 From c38c80270db1228e59c37a5bcdb9b7cf645cf307 Mon Sep 17 00:00:00 2001 From: ForteScarlet Date: Mon, 15 Jul 2024 18:29:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(api):=20=E5=A2=9E=E5=8A=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20RichMediaMessage=20=E7=94=A8=E4=BB=A5=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E4=B8=80=E4=B8=AA=E5=AF=8C=E5=AA=92=E4=BD=93=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/love/forte/simbot/message/StandardMessages.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simbot-api/src/commonMain/kotlin/love/forte/simbot/message/StandardMessages.kt b/simbot-api/src/commonMain/kotlin/love/forte/simbot/message/StandardMessages.kt index e10603600..cfd51b248 100644 --- a/simbot-api/src/commonMain/kotlin/love/forte/simbot/message/StandardMessages.kt +++ b/simbot-api/src/commonMain/kotlin/love/forte/simbot/message/StandardMessages.kt @@ -227,7 +227,7 @@ public data object AtAll : MentionMessage /** * 一个可以表示富媒体的消息元素类型, - * 即一个文字元素除外、且与二进制数据(例如文件、音频等)相关的消息元素。 + * 即一个与二进制数据(例如文件、音频等)相关的非文字消息元素。 * * 可以是本地或远程的类型,例如常见的 [Image]。 *