Skip to content

Commit 394f63a

Browse files
authored
Merge pull request #190 from simple-robot/dev/main
Release: v1.6.1
2 parents d3db48b + 706ac08 commit 394f63a

File tree

16 files changed

+363
-63
lines changed

16 files changed

+363
-63
lines changed

build.gradle.kts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -154,26 +154,14 @@ apiValidation {
154154

155155
// region Dokka
156156

157-
// childProjects.values.forEach { childProject ->
158-
// childProject.afterEvaluate {
159-
// if (childProject.plugins.hasPlugin(libs.plugins.dokka.get().pluginId)) {
160-
// dokka {
161-
// configSourceSets(childProject)
162-
// configHtmlCustoms(childProject)
163-
// }
164-
// rootProject.dependencies.dokka(childProject)
165-
// }
166-
// }
167-
// }
168-
169157
subprojects {
170158
afterEvaluate {
171159
val p = this
172160
if (plugins.hasPlugin(libs.plugins.dokka.get().pluginId)) {
173161
dokka {
174162
configSourceSets(p)
175163
pluginsConfiguration.html {
176-
configHtmlCustoms(project)
164+
configHtmlCustoms(p)
177165
}
178166
}
179167
rootProject.dependencies.dokka(p)

buildSrc/src/main/kotlin/P.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2023-2024. ForteScarlet.
2+
* Copyright (c) 2023-2025. ForteScarlet.
33
*
44
* This file is part of simbot-component-onebot.
55
*
@@ -37,8 +37,8 @@ object P {
3737
override val description: String get() = DESCRIPTION
3838
override val homepage: String get() = HOMEPAGE
3939

40-
const val VERSION = "1.6.0"
41-
const val NEXT_VERSION = "1.6.1"
40+
const val VERSION = "1.6.1"
41+
const val NEXT_VERSION = "1.6.2"
4242

4343
override val snapshotVersion = "$NEXT_VERSION-SNAPSHOT"
4444
override val version = if (isSnapshot()) snapshotVersion else VERSION

simbot-component-onebot-v11/simbot-component-onebot-v11-core/api/simbot-component-onebot-v11-core.api

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2390,7 +2390,7 @@ public abstract interface class love/forte/simbot/component/onebot/v11/core/even
23902390
public abstract fun getContent ()Llove/forte/simbot/component/onebot/v11/core/event/message/OneBotGroupPrivateMessageEvent;
23912391
}
23922392

2393-
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotInternalMessageInteractionEvent : love/forte/simbot/event/InternalMessageInteractionEvent {
2393+
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotInternalMessageInteractionEvent : love/forte/simbot/component/onebot/v11/core/event/OneBotInternalEvent, love/forte/simbot/event/InternalMessageInteractionEvent {
23942394
}
23952395

23962396
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotInternalMessagePostSendEvent : love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotInternalMessageInteractionEvent, love/forte/simbot/event/InternalMessagePostSendEvent {
@@ -2490,11 +2490,11 @@ public abstract interface class love/forte/simbot/component/onebot/v11/core/even
24902490
public abstract fun getContent ()Llove/forte/simbot/ability/SendSupport;
24912491
}
24922492

2493-
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportPostSendEvent : love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportInteractionEvent, love/forte/simbot/event/SendSupportPostSendEvent {
2493+
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportPostSendEvent : love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotInternalMessagePostSendEvent, love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportInteractionEvent, love/forte/simbot/event/SendSupportPostSendEvent {
24942494
public abstract fun getMessage ()Llove/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSegmentsInteractionMessage;
24952495
}
24962496

2497-
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportPreSendEvent : love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportInteractionEvent, love/forte/simbot/event/SendSupportPreSendEvent {
2497+
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportPreSendEvent : love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotInternalMessagePreSendEvent, love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportInteractionEvent, love/forte/simbot/event/SendSupportPreSendEvent {
24982498
}
24992499

25002500
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/meta/OneBotHeartbeatEvent : love/forte/simbot/component/onebot/v11/core/event/meta/OneBotMetaEvent {
@@ -2804,7 +2804,7 @@ public abstract interface class love/forte/simbot/component/onebot/v11/core/even
28042804
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/stage/OneBotBotRegisteredEvent : love/forte/simbot/component/onebot/v11/core/event/stage/OneBotBotStageEvent, love/forte/simbot/event/BotRegisteredEvent {
28052805
}
28062806

2807-
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/stage/OneBotBotStageEvent : love/forte/simbot/component/onebot/v11/core/event/OneBotCommonEvent, love/forte/simbot/event/BotStageEvent {
2807+
public abstract interface class love/forte/simbot/component/onebot/v11/core/event/stage/OneBotBotStageEvent : love/forte/simbot/component/onebot/v11/core/event/OneBotInternalEvent, love/forte/simbot/event/BotStageEvent {
28082808
public abstract fun getBot ()Llove/forte/simbot/component/onebot/v11/core/bot/OneBotBot;
28092809
}
28102810

simbot-component-onebot-v11/simbot-component-onebot-v11-core/src/commonMain/kotlin/love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotInternalMessageInteractionEvent.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package love.forte.simbot.component.onebot.v11.core.event.messageinteraction
1919

20+
import love.forte.simbot.component.onebot.v11.core.event.OneBotInternalEvent
2021
import love.forte.simbot.event.FuzzyEventTypeImplementation
2122
import love.forte.simbot.event.InternalMessageInteractionEvent
2223
import love.forte.simbot.event.InternalMessagePostSendEvent
@@ -31,7 +32,7 @@ import love.forte.simbot.message.Message
3132
* @author ForteScarlet
3233
*/
3334
@SubclassOptInRequired(FuzzyEventTypeImplementation::class)
34-
public interface OneBotInternalMessageInteractionEvent : InternalMessageInteractionEvent
35+
public interface OneBotInternalMessageInteractionEvent : OneBotInternalEvent, InternalMessageInteractionEvent
3536

3637
/**
3738
* OneBot 组件针对消息发送前的拦截事件。

simbot-component-onebot-v11/simbot-component-onebot-v11-core/src/commonMain/kotlin/love/forte/simbot/component/onebot/v11/core/event/messageinteraction/OneBotSendSupportInteractionEvent.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ public interface OneBotSendSupportInteractionEvent :
5252
* @author ForteScarlet
5353
*/
5454
@SubclassOptInRequired(FuzzyEventTypeImplementation::class)
55-
public interface OneBotSendSupportPreSendEvent : SendSupportPreSendEvent, OneBotSendSupportInteractionEvent
55+
public interface OneBotSendSupportPreSendEvent :
56+
SendSupportPreSendEvent,
57+
OneBotInternalMessagePreSendEvent,
58+
OneBotSendSupportInteractionEvent
5659

5760
/**
5861
* OneBot组件中针对 [SendSupport.send] 的通知事件。
@@ -62,7 +65,10 @@ public interface OneBotSendSupportPreSendEvent : SendSupportPreSendEvent, OneBot
6265
* @author ForteScarlet
6366
*/
6467
@SubclassOptInRequired(FuzzyEventTypeImplementation::class)
65-
public interface OneBotSendSupportPostSendEvent : SendSupportPostSendEvent, OneBotSendSupportInteractionEvent {
68+
public interface OneBotSendSupportPostSendEvent :
69+
SendSupportPostSendEvent,
70+
OneBotInternalMessagePostSendEvent,
71+
OneBotSendSupportInteractionEvent {
6672
override val message: OneBotSegmentsInteractionMessage
6773
}
6874

simbot-component-onebot-v11/simbot-component-onebot-v11-core/src/commonMain/kotlin/love/forte/simbot/component/onebot/v11/core/event/stage/OneBotBotStageEvent.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2024. ForteScarlet.
2+
* Copyright (c) 2024-2025. ForteScarlet.
33
*
44
* This file is part of simbot-component-onebot.
55
*
@@ -19,7 +19,7 @@ package love.forte.simbot.component.onebot.v11.core.event.stage
1919

2020
import love.forte.simbot.bot.BotManager
2121
import love.forte.simbot.component.onebot.v11.core.bot.OneBotBot
22-
import love.forte.simbot.component.onebot.v11.core.event.OneBotCommonEvent
22+
import love.forte.simbot.component.onebot.v11.core.event.OneBotInternalEvent
2323
import love.forte.simbot.event.BotRegisteredEvent
2424
import love.forte.simbot.event.BotStageEvent
2525
import love.forte.simbot.event.BotStartedEvent
@@ -32,7 +32,7 @@ import love.forte.simbot.event.FuzzyEventTypeImplementation
3232
* @author ForteScarlet
3333
*/
3434
@SubclassOptInRequired(FuzzyEventTypeImplementation::class)
35-
public interface OneBotBotStageEvent : BotStageEvent, OneBotCommonEvent {
35+
public interface OneBotBotStageEvent : BotStageEvent, OneBotInternalEvent {
3636
override val bot: OneBotBot
3737
}
3838

simbot-component-onebot-v11/simbot-component-onebot-v11-message/api/simbot-component-onebot-v11-message.api

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
public abstract interface class love/forte/simbot/component/onebot/v11/message/Base64Encoder {
2+
public static final field Companion Llove/forte/simbot/component/onebot/v11/message/Base64Encoder$Companion;
3+
public static final field Default Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;
4+
public static final field Mime Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;
5+
public static final field UrlSafe Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;
6+
public abstract fun encodeToAppendable ([BLjava/lang/Appendable;)Ljava/lang/Appendable;
7+
}
8+
9+
public final class love/forte/simbot/component/onebot/v11/message/Base64Encoder$Companion {
10+
}
11+
112
public abstract interface class love/forte/simbot/component/onebot/v11/message/OneBotMessageContent : love/forte/simbot/message/MessageContent {
213
public abstract synthetic fun delete ([Llove/forte/simbot/ability/DeleteOption;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
314
public abstract fun getId ()Llove/forte/simbot/common/id/ID;
@@ -427,7 +438,7 @@ public final class love/forte/simbot/component/onebot/v11/message/segment/OneBot
427438
public final class love/forte/simbot/component/onebot/v11/message/segment/OneBotImage : love/forte/simbot/component/onebot/v11/message/segment/OneBotMessageSegment, love/forte/simbot/component/onebot/v11/message/segment/OneBotMessageSegmentElementResolver {
428439
public static final field Factory Llove/forte/simbot/component/onebot/v11/message/segment/OneBotImage$Factory;
429440
public static final field TYPE Ljava/lang/String;
430-
public synthetic fun <init> (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotImage$Data;Llove/forte/simbot/resource/Resource;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
441+
public synthetic fun <init> (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotImage$Data;Llove/forte/simbot/resource/Resource;Ljava/lang/String;Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
431442
public static final fun create (Ljava/lang/String;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotImage;
432443
public static final fun create (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotImage$Data;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotImage;
433444
public static final fun create (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotImage$Data;Llove/forte/simbot/resource/Resource;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotImage;
@@ -455,11 +466,13 @@ public synthetic class love/forte/simbot/component/onebot/v11/message/segment/On
455466

456467
public final class love/forte/simbot/component/onebot/v11/message/segment/OneBotImage$AdditionalParams {
457468
public fun <init> ()V
469+
public final fun getBase64Encoder ()Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;
458470
public final fun getCache ()Ljava/lang/Boolean;
459471
public final fun getLocalFileToBase64 ()Z
460472
public final fun getProxy ()Ljava/lang/Boolean;
461473
public final fun getTimeout ()Ljava/lang/Integer;
462474
public final fun getType ()Ljava/lang/String;
475+
public final fun setBase64Encoder (Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;)V
463476
public final fun setCache (Ljava/lang/Boolean;)V
464477
public final fun setLocalFileToBase64 (Z)V
465478
public final fun setProxy (Ljava/lang/Boolean;)V
@@ -836,7 +849,7 @@ public final class love/forte/simbot/component/onebot/v11/message/segment/OneBot
836849
public final class love/forte/simbot/component/onebot/v11/message/segment/OneBotRecord : love/forte/simbot/component/onebot/v11/message/segment/OneBotMessageSegment {
837850
public static final field Factory Llove/forte/simbot/component/onebot/v11/message/segment/OneBotRecord$Factory;
838851
public static final field TYPE Ljava/lang/String;
839-
public synthetic fun <init> (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotRecord$Data;Llove/forte/simbot/resource/Resource;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
852+
public synthetic fun <init> (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotRecord$Data;Llove/forte/simbot/resource/Resource;Ljava/lang/String;Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
840853
public static final fun create (Ljava/lang/String;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotRecord;
841854
public static final fun create (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotRecord$Data;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotRecord;
842855
public static final fun create (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotRecord$Data;Llove/forte/simbot/resource/Resource;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotRecord;
@@ -863,11 +876,13 @@ public synthetic class love/forte/simbot/component/onebot/v11/message/segment/On
863876

864877
public final class love/forte/simbot/component/onebot/v11/message/segment/OneBotRecord$AdditionalParams {
865878
public fun <init> ()V
879+
public final fun getBase64Encoder ()Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;
866880
public final fun getCache ()Ljava/lang/Boolean;
867881
public final fun getLocalFileToBase64 ()Z
868882
public final fun getMagic ()Ljava/lang/String;
869883
public final fun getProxy ()Ljava/lang/Boolean;
870884
public final fun getTimeout ()Ljava/lang/Integer;
885+
public final fun setBase64Encoder (Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;)V
871886
public final fun setCache (Ljava/lang/Boolean;)V
872887
public final fun setLocalFileToBase64 (Z)V
873888
public final fun setMagic (Ljava/lang/String;)V
@@ -1143,7 +1158,7 @@ public final class love/forte/simbot/component/onebot/v11/message/segment/OneBot
11431158
public final class love/forte/simbot/component/onebot/v11/message/segment/OneBotVideo : love/forte/simbot/component/onebot/v11/message/segment/OneBotMessageSegment {
11441159
public static final field Factory Llove/forte/simbot/component/onebot/v11/message/segment/OneBotVideo$Factory;
11451160
public static final field TYPE Ljava/lang/String;
1146-
public synthetic fun <init> (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotVideo$Data;Llove/forte/simbot/resource/Resource;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
1161+
public synthetic fun <init> (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotVideo$Data;Llove/forte/simbot/resource/Resource;Ljava/lang/String;Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
11471162
public static final fun create (Ljava/lang/String;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotVideo;
11481163
public static final fun create (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotVideo$Data;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotVideo;
11491164
public static final fun create (Llove/forte/simbot/component/onebot/v11/message/segment/OneBotVideo$Data;Llove/forte/simbot/resource/Resource;)Llove/forte/simbot/component/onebot/v11/message/segment/OneBotVideo;
@@ -1170,10 +1185,12 @@ public synthetic class love/forte/simbot/component/onebot/v11/message/segment/On
11701185

11711186
public final class love/forte/simbot/component/onebot/v11/message/segment/OneBotVideo$AdditionalParams {
11721187
public fun <init> ()V
1188+
public final fun getBase64Encoder ()Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;
11731189
public final fun getCache ()Ljava/lang/Boolean;
11741190
public final fun getLocalFileToBase64 ()Z
11751191
public final fun getProxy ()Ljava/lang/Boolean;
11761192
public final fun getTimeout ()Ljava/lang/Integer;
1193+
public final fun setBase64Encoder (Llove/forte/simbot/component/onebot/v11/message/Base64Encoder;)V
11771194
public final fun setCache (Ljava/lang/Boolean;)V
11781195
public final fun setLocalFileToBase64 (Z)V
11791196
public final fun setProxy (Ljava/lang/Boolean;)V
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
/*
2+
* Copyright (c) 2025. ForteScarlet.
3+
*
4+
* This file is part of simbot-component-onebot.
5+
*
6+
* simbot-component-onebot is free software: you can redistribute it and/or modify it under the terms
7+
* of the GNU Lesser General Public License as published by the Free Software Foundation,
8+
* either version 3 of the License, or (at your option) any later version.
9+
*
10+
* simbot-component-onebot is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11+
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12+
* See the GNU Lesser General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public License along with simbot-component-onebot.
15+
* If not, see <https://www.gnu.org/licenses/>.
16+
*/
17+
18+
package love.forte.simbot.component.onebot.v11.message
19+
20+
import kotlin.io.encoding.Base64
21+
import kotlin.io.encoding.ExperimentalEncodingApi
22+
import kotlin.jvm.JvmField
23+
24+
25+
/**
26+
* A base64 encoder.
27+
*
28+
* @since 1.6.1
29+
*
30+
* @author ForteScarlet
31+
*/
32+
public interface Base64Encoder {
33+
/**
34+
* Encodes [source] ByteArray to a Base64 encoded ByteArray.
35+
*/
36+
public fun <A : Appendable> encodeToAppendable(source: ByteArray, destination: A): A
37+
38+
public companion object {
39+
/**
40+
* Get a [Base64Encoder] instance based on [kotlin.io.encoding.Base64.Default].
41+
*/
42+
@ExperimentalEncodingApi
43+
@JvmField
44+
public val Default: Base64Encoder = KotlinBase64Encoder(Base64.Default)
45+
46+
/**
47+
* Get a [Base64Encoder] instance based on [kotlin.io.encoding.Base64.Mime].
48+
*/
49+
@ExperimentalEncodingApi
50+
@JvmField
51+
public val Mime: Base64Encoder = KotlinBase64Encoder(Base64.Mime)
52+
53+
/**
54+
* Get a [Base64Encoder] instance based on [kotlin.io.encoding.Base64.UrlSafe].
55+
*/
56+
@ExperimentalEncodingApi
57+
@JvmField
58+
public val UrlSafe: Base64Encoder = KotlinBase64Encoder(Base64.UrlSafe)
59+
}
60+
}
61+
62+
@ExperimentalEncodingApi
63+
private class KotlinBase64Encoder(val base64: Base64) : Base64Encoder {
64+
override fun <A : Appendable> encodeToAppendable(source: ByteArray, destination: A): A {
65+
base64.encodeToAppendable(source, destination)
66+
return destination
67+
}
68+
}
69+
70+
@OptIn(ExperimentalEncodingApi::class)
71+
internal fun standardEncoderByName(name: String): Base64Encoder? {
72+
return when {
73+
name.equals("Default", true) -> Base64Encoder.Default
74+
name.equals("Mime", true) -> Base64Encoder.Mime
75+
name.equals("UrlSafe", true) || name.equals("url_safe", true)
76+
-> Base64Encoder.UrlSafe
77+
78+
else -> null
79+
}
80+
}
81+
82+
@OptIn(ExperimentalEncodingApi::class)
83+
internal fun Base64Encoder.standardName(): String? {
84+
return when (this) {
85+
Base64Encoder.Default -> "Default"
86+
Base64Encoder.Mime -> "Mime"
87+
Base64Encoder.UrlSafe -> "UrlSafe"
88+
else -> null
89+
}
90+
}
91+
92+
@OptIn(ExperimentalEncodingApi::class)
93+
internal val Base64Encoder.base64: Base64? get() = (this as? KotlinBase64Encoder)?.base64

0 commit comments

Comments
 (0)