Forte Scarlet

Results 65 issues of Forte Scarlet

如果直接原样发送图片类型的消息将无法转发: ```kotlin channel.send(event.messageContent) ``` 这会提示资源不存在,需要重新上传资源。但是此资源链接(貌似)可以直接使用在卡片消息中,因此仅需要对消息转发情况做处理,可能需要涉及内部链接缓存。 此问题在Kook开发者中心中有所反馈,但是对此问题的调整意向不大,可能不会被官方改善。 > ヘキソナ#6969: 你放在卡片消息里发出去就行 由回复得知图片链接似乎可直接被卡片消息使用。 > ヘキソナ#6969: 这种东西从来都是开发者自己实现吧… 加糖可以,但是加到最后甜到发齁,你的sdk就有点太臃肿了 > ヘキソナ#6969: 关于优化这一点我觉得这种操作几乎可以忽略不计,你又不是在打OI…(其实就算是OI这么几个指令的时间也解决不了TLE)…所以最后唯一的作用还只是语法糖 以目前的讨论结果来看,操作调整的可能性不大。

缺陷

在私聊中邀请bot时出现。 ``` Session flow on error: Unknown event type property: "SYS_MSG" love.forte.simbot.kook.event.KookSignalException: Unknown event type property: "SYS_MSG" at love.forte.simbot.kook.internal.KookBotImpl$processEvent$3.invokeSuspend(KookBotImpl.kt:540) at love.forte.simbot.kook.internal.KookBotImpl$processEvent$3.invoke(KookBotImpl.kt) at love.forte.simbot.kook.internal.KookBotImpl$processEvent$3.invoke(KookBotImpl.kt) at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit(Emitters.kt:223) at love.forte.simbot.kook.internal.KookBotImpl$processEvent$$inlined$mapNotNull$1$2.emit(Emitters.kt:237) at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:62) at...

bug

KookAPI尚未解决分组删除的事件。 ![image](https://user-images.githubusercontent.com/40045247/178207815-e09ef245-8830-49d6-a5eb-d3fda9ae381c.png) 来自: > 2022/7/11

缺陷

支持使用环境变量的形式来动态读取配置文件

特性

``` Event pre precess failure. kotlinx.serialization.MissingFieldException: Fields [user_id, channel_id] are required for type with serial name 'love.forte.simbot.kook.event.system.user.UserExitedChannelEventBodyImpl', but they were missing at kotlinx.serialization.internal.PluginExceptionsKt.throwMissingFieldException(PluginExceptions.kt:20) at love.forte.simbot.kook.event.system.user.UserExitedChannelEventBodyImpl.(UserExitedChannelEvent.kt:56) at love.forte.simbot.kook.event.system.user.UserExitedChannelEventBodyImpl$$serializer.deserialize(UserExitedChannelEvent.kt:56) at love.forte.simbot.kook.event.system.user.UserExitedChannelEventBodyImpl$$serializer.deserialize(UserExitedChannelEvent.kt:56) at...

bug?

``` love.forte.simbot.SimbotIllegalStateException: Unknown event type: PUBLIC_MESSAGE_DELETE. data: Dispatch(data={"message":{"author":{"bot":false,"id":"xxx","username":"xxx"},"channel_id":"xxx","guild_id":"xxx","id":"xxx"},"op_user":{"id":"14072671896854096427"}}, type=PUBLIC_MESSAGE_DELETE, seq=3) at love.forte.simbot.tencentguild.core.internal.TencentGuildBotImpl$processEvent$3.invokeSuspend(TencentGuildBotImpl.kt:438) at love.forte.simbot.tencentguild.core.internal.TencentGuildBotImpl$processEvent$3.invoke(TencentGuildBotImpl.kt) at love.forte.simbot.tencentguild.core.internal.TencentGuildBotImpl$processEvent$3.invoke(TencentGuildBotImpl.kt) at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit(Emitters.kt:223) at love.forte.simbot.tencentguild.core.internal.TencentGuildBotImpl$processEvent$$inlined$mapNotNull$1$2.emit(Emitters.kt:245) at kotlinx.coroutines.flow.FlowKt__ChannelsKt.emitAllImpl$FlowKt__ChannelsKt(Channels.kt:62) at kotlinx.coroutines.flow.FlowKt__ChannelsKt.access$emitAllImpl$FlowKt__ChannelsKt(Channels.kt:1) at kotlinx.coroutines.flow.FlowKt__ChannelsKt$emitAllImpl$1.invokeSuspend(Channels.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)...

bug?

v4.0使用K2作为最终编译目标。 - [x] 等待Kotlin 2.0 稳定版 - [x] 等待 [kotlin-suspend-transform-compiler-plugin](https://github.com/ForteScarlet/kotlin-suspend-transform-compiler-plugin) 发布支持 Kotlin 2.0 的版本

优先

Kotlin多平台项目中无法识别 commonMain 中定义的类型,例如 commonMain 中写的某个数据类。如果点击 `Copy JSON` 会在粘贴板中得到 `null` 。 会考虑支持Kotlin多平台吗?

stdlib(标准库)模块是一个脱离 simbot 组件体系、可作为轻量级SDK直接使用的模块。 在此模块中,会有一套独立的轻量级时间调度体系和Bot实现,而在组件库模块中会对其进行再次包装。 但是这种拆分似乎意义不大,且徒增工作量。考虑废弃此模块、将直接以组件的形式实现QQ机器人API。

不兼容