mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-28 00:14:21 +00:00
Merge pull request #1154 from Yi-Lyu/master
将微信消息时间戳传递给 dify,便于 dify 通过消息时间戳来做业务逻辑。
This commit is contained in:
@@ -77,7 +77,7 @@ class DingTalkEventConverter(adapter.EventConverter):
|
|||||||
remark=""
|
remark=""
|
||||||
),
|
),
|
||||||
message_chain = message_chain,
|
message_chain = message_chain,
|
||||||
time = datetime.datetime.now(),
|
time = event.incoming_message.create_at,
|
||||||
source_platform_object=event,
|
source_platform_object=event,
|
||||||
)
|
)
|
||||||
elif event.conversation == 'GroupMessage':
|
elif event.conversation == 'GroupMessage':
|
||||||
@@ -95,7 +95,7 @@ class DingTalkEventConverter(adapter.EventConverter):
|
|||||||
last_speak_timestamp=0,
|
last_speak_timestamp=0,
|
||||||
mute_time_remaining=0
|
mute_time_remaining=0
|
||||||
)
|
)
|
||||||
time = datetime.datetime.now(),
|
time = event.incoming_message.create_at
|
||||||
return platform_events.GroupMessage(
|
return platform_events.GroupMessage(
|
||||||
sender =sender,
|
sender =sender,
|
||||||
message_chain = message_chain,
|
message_chain = message_chain,
|
||||||
|
|||||||
@@ -74,7 +74,11 @@ class QQOfficialEventConverter(adapter.EventConverter):
|
|||||||
remark = "",
|
remark = "",
|
||||||
)
|
)
|
||||||
return platform_events.FriendMessage(
|
return platform_events.FriendMessage(
|
||||||
sender = friend,message_chain = yiri_chain,time = event.timestamp,
|
sender = friend,message_chain = yiri_chain,time = int(
|
||||||
|
datetime.datetime.strptime(
|
||||||
|
event.timestamp, "%Y-%m-%dT%H:%M:%S%z"
|
||||||
|
).timestamp()
|
||||||
|
),
|
||||||
source_platform_object=event
|
source_platform_object=event
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -105,7 +109,11 @@ class QQOfficialEventConverter(adapter.EventConverter):
|
|||||||
last_speak_timestamp=0,
|
last_speak_timestamp=0,
|
||||||
mute_time_remaining=0
|
mute_time_remaining=0
|
||||||
)
|
)
|
||||||
time = event.timestamp
|
time = int(
|
||||||
|
datetime.datetime.strptime(
|
||||||
|
event.timestamp, "%Y-%m-%dT%H:%M:%S%z"
|
||||||
|
).timestamp()
|
||||||
|
)
|
||||||
return platform_events.GroupMessage(
|
return platform_events.GroupMessage(
|
||||||
sender = sender,
|
sender = sender,
|
||||||
message_chain=yiri_chain,
|
message_chain=yiri_chain,
|
||||||
@@ -128,7 +136,11 @@ class QQOfficialEventConverter(adapter.EventConverter):
|
|||||||
last_speak_timestamp=0,
|
last_speak_timestamp=0,
|
||||||
mute_time_remaining=0
|
mute_time_remaining=0
|
||||||
)
|
)
|
||||||
time = event.timestamp,
|
time = int(
|
||||||
|
datetime.datetime.strptime(
|
||||||
|
event.timestamp, "%Y-%m-%dT%H:%M:%S%z"
|
||||||
|
).timestamp()
|
||||||
|
),
|
||||||
return platform_events.GroupMessage(
|
return platform_events.GroupMessage(
|
||||||
sender =sender,
|
sender =sender,
|
||||||
message_chain = yiri_chain,
|
message_chain = yiri_chain,
|
||||||
|
|||||||
@@ -57,6 +57,9 @@ class MessageEvent(Event):
|
|||||||
message_chain: platform_message.MessageChain
|
message_chain: platform_message.MessageChain
|
||||||
"""消息内容。"""
|
"""消息内容。"""
|
||||||
|
|
||||||
|
time: float | None = None
|
||||||
|
"""消息发送时间戳。"""
|
||||||
|
|
||||||
source_platform_object: typing.Optional[typing.Any] = None
|
source_platform_object: typing.Optional[typing.Any] = None
|
||||||
"""原消息平台对象。
|
"""原消息平台对象。
|
||||||
供消息平台适配器开发者使用,如果回复用户时需要使用原消息事件对象的信息,
|
供消息平台适配器开发者使用,如果回复用户时需要使用原消息事件对象的信息,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import json
|
|||||||
import uuid
|
import uuid
|
||||||
import re
|
import re
|
||||||
import base64
|
import base64
|
||||||
|
import datetime
|
||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
|
|
||||||
@@ -69,6 +70,7 @@ class DifyServiceAPIRunner(runner.RequestRunner):
|
|||||||
"""
|
"""
|
||||||
plain_text = ""
|
plain_text = ""
|
||||||
image_ids = []
|
image_ids = []
|
||||||
|
|
||||||
if isinstance(query.user_message.content, list):
|
if isinstance(query.user_message.content, list):
|
||||||
for ce in query.user_message.content:
|
for ce in query.user_message.content:
|
||||||
if ce.type == "text":
|
if ce.type == "text":
|
||||||
@@ -230,6 +232,9 @@ class DifyServiceAPIRunner(runner.RequestRunner):
|
|||||||
|
|
||||||
plain_text, image_ids = await self._preprocess_user_message(query)
|
plain_text, image_ids = await self._preprocess_user_message(query)
|
||||||
|
|
||||||
|
# 尝试获取 CreateTime
|
||||||
|
create_time = int(query.message_event.time) if query.message_event.time else int(datetime.datetime.now().timestamp())
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
{
|
{
|
||||||
"type": "image",
|
"type": "image",
|
||||||
@@ -246,6 +251,7 @@ class DifyServiceAPIRunner(runner.RequestRunner):
|
|||||||
"langbot_user_message_text": plain_text,
|
"langbot_user_message_text": plain_text,
|
||||||
"langbot_session_id": f"{query.session.launcher_type.value}_{query.session.launcher_id}",
|
"langbot_session_id": f"{query.session.launcher_type.value}_{query.session.launcher_id}",
|
||||||
"langbot_conversation_id": cov_id,
|
"langbot_conversation_id": cov_id,
|
||||||
|
"langbot_msg_create_time": create_time,
|
||||||
},
|
},
|
||||||
user=f"{query.session.launcher_type.value}_{query.session.launcher_id}",
|
user=f"{query.session.launcher_type.value}_{query.session.launcher_id}",
|
||||||
files=files,
|
files=files,
|
||||||
|
|||||||
Reference in New Issue
Block a user