Skip to content

Commit

Permalink
fix event not apply json
Browse files Browse the repository at this point in the history
  • Loading branch information
MrXiaoM committed Sep 2, 2024
1 parent eca4853 commit de37478
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion onebot/src/main/kotlin/client/handler/EventBus.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import cn.evolvefield.onebot.sdk.util.JsonHelper.gson
import cn.evolvefield.onebot.client.listener.EventListener
import cn.evolvefield.onebot.client.listener.message
import cn.evolvefield.onebot.client.util.ListenerUtils
import cn.evolvefield.onebot.sdk.util.JsonHelper.applyJson
import com.google.gson.JsonParser
import org.slf4j.LoggerFactory
import java.util.concurrent.ConcurrentHashMap
Expand Down Expand Up @@ -48,16 +49,18 @@ object EventBus {
message: String
): Pair<Event, List<EventListener<out Event>>> {
val messageType = ListenerUtils[message] // 获取消息对应的实体类型
val json = JsonParser.parseString(message).asJsonObject
if (messageType == null) {
val bean = UnsolvedEvent().also { it.jsonString = message }
val executes = getExecutes(UnsolvedEvent::class.java)
val json = JsonParser.parseString(message).asJsonObject
bean.postType = json["post_type"].asString
bean.time = json["time"].asLong
bean.selfId = json["self_id"].asLong
bean.applyJson(json)
return bean to executes
} else {
val bean = gson.fromJson(message, messageType) // 将消息反序列化为对象
bean.applyJson(json)
log.debug(String.format("接收到上报消息内容:%s", bean.toString()))
val executes = getExecutes(messageType)
if (executes.isEmpty()) { // 如果该事件未被监听,将其定为 UnsolvedEvent
Expand Down

0 comments on commit de37478

Please sign in to comment.