From 92e1ac5c3a83f107575a7d66e9d22ea87cf7034a Mon Sep 17 00:00:00 2001 From: Junyan Qin Date: Sun, 2 Mar 2025 20:18:33 +0800 Subject: [PATCH] feat: add supports for passing `time` to dify workflow --- pkg/platform/types/events.py | 2 +- pkg/provider/runners/difysvapi.py | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/pkg/platform/types/events.py b/pkg/platform/types/events.py index 57a84f24..40507315 100644 --- a/pkg/platform/types/events.py +++ b/pkg/platform/types/events.py @@ -57,7 +57,7 @@ class MessageEvent(Event): message_chain: platform_message.MessageChain """消息内容。""" - time: float + time: float | None = None """消息发送时间戳。""" source_platform_object: typing.Optional[typing.Any] = None diff --git a/pkg/provider/runners/difysvapi.py b/pkg/provider/runners/difysvapi.py index 2b99693c..bc806431 100644 --- a/pkg/provider/runners/difysvapi.py +++ b/pkg/provider/runners/difysvapi.py @@ -5,6 +5,7 @@ import json import uuid import re import base64 +import datetime import aiohttp @@ -232,15 +233,7 @@ class DifyServiceAPIRunner(runner.RequestRunner): plain_text, image_ids = await self._preprocess_user_message(query) # 尝试获取 CreateTime - create_time = 0 - try: - timestamp = query.message_event.source_platform_object.get('Data', {}).get('CreateTime') - # 确保 timestamp 是整数类型 - if isinstance(timestamp, (int, float)): - create_time = int(timestamp) - except AttributeError: - # 如果获取过程中发生属性错误,保持 create_time 为 None - pass + create_time = int(query.message_event.time) if query.message_event.time else int(datetime.datetime.now().timestamp()) files = [ {