fix: serialization bug in events emitting

This commit is contained in:
Junyan Qin
2025-06-27 21:16:52 +08:00
parent 5553a86ac8
commit f474e42b79
2 changed files with 4 additions and 8 deletions

View File

@@ -85,7 +85,7 @@ class ContentFilterStage(stage.PipelineStage):
elif result.level == filter_entities.ResultLevel.PASS: # 传到下一个
message = result.replacement
query.message_chain = platform_message.MessageChain(platform_message.Plain(message))
query.message_chain = platform_message.MessageChain(platform_message.Plain(text=message))
return entities.StageProcessResult(result_type=entities.ResultType.CONTINUE, new_query=query)

View File

@@ -184,24 +184,20 @@ class RuntimePipeline:
else events.GroupMessageReceived
)
print(query)
print(query.model_dump(exclude_none=True))
event_obj = event_type(
launcher_type=query.launcher_type.value,
launcher_id=query.launcher_id,
sender_id=query.sender_id,
message_chain=query.message_chain,
query=query,
)
event_ctx = event_context.EventContext(
event=event_obj,
)
event_ctx_result = await self.ap.plugin_connector.handler.emit_event(
event_ctx.model_dump(exclude_none=True)
)
event_ctx_data = event_ctx.model_dump(serialize_as_any=True)
event_ctx_result = await self.ap.plugin_connector.handler.emit_event(event_ctx_data)
event_ctx.update(**event_ctx_result)