1 parent
effa4168e2
commit
6769ed6a6d
3 files changed
+172
-13
No files matched your search
+7
-11
@@ -8,7 +8,7 @@ from celery import Task
|
|||||||
|
|
||||||
from app.utils.utils import *
|
from app.utils.utils import *
|
||||||
from app.utils.yd_utils import get_token, get_activity_info
|
from app.utils.yd_utils import get_token, get_activity_info
|
||||||
from app.utils.feishu import create_doc, get_doc_block, create_doc_block
|
from app.utils.feishu import create_doc, get_doc_block, create_doc_block, get_messages
|
||||||
from app.utils.utils import update_record
|
from app.utils.utils import update_record
|
||||||
|
|
||||||
|
|
||||||
@@ -18,6 +18,7 @@ def process_message_callback(
|
|||||||
) -> None:
|
) -> None:
|
||||||
"""
|
"""
|
||||||
记录问题到多维表格逻辑
|
记录问题到多维表格逻辑
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# 如果 @机器人 等于"记录问题", 获取当前的话题
|
# 如果 @机器人 等于"记录问题", 获取当前的话题
|
||||||
@@ -25,6 +26,9 @@ def process_message_callback(
|
|||||||
sender_info = event_message.get("sender")
|
sender_info = event_message.get("sender")
|
||||||
message_data = event_message.get("message")
|
message_data = event_message.get("message")
|
||||||
|
|
||||||
|
chat_id = message_data.get("chat_id")
|
||||||
|
thread_id = message_data.get("thread_id")
|
||||||
|
|
||||||
message_type = message_data.get("message_type")
|
message_type = message_data.get("message_type")
|
||||||
content = message_data.get("content")
|
content = message_data.get("content")
|
||||||
sender_id = message_data.get("sender_id")
|
sender_id = message_data.get("sender_id")
|
||||||
@@ -59,15 +63,6 @@ def process_message_callback(
|
|||||||
images = []
|
images = []
|
||||||
images_token = []
|
images_token = []
|
||||||
|
|
||||||
# if message_type == "post":
|
|
||||||
# content = content["content"]
|
|
||||||
# for item in chain.from_iterable(content):
|
|
||||||
# if item.get("tag") == "text":
|
|
||||||
# message_content += item["text"]
|
|
||||||
|
|
||||||
# if item.get("tag") == "img":
|
|
||||||
# images.append(item["image_key"])
|
|
||||||
|
|
||||||
lark.logger.info(f"message_content: {content_text}")
|
lark.logger.info(f"message_content: {content_text}")
|
||||||
|
|
||||||
# 从话题中提取问题发起人的所有消息和图片, 记录到多维表格中, 记录发消息人 openid 并将处理人设置为@机器人的人
|
# 从话题中提取问题发起人的所有消息和图片, 记录到多维表格中, 记录发消息人 openid 并将处理人设置为@机器人的人
|
||||||
@@ -82,7 +77,8 @@ def process_message_callback(
|
|||||||
record["问题概述"] = content_text
|
record["问题概述"] = content_text
|
||||||
record["创建人"] = [{"id": sender_id}]
|
record["创建人"] = [{"id": sender_id}]
|
||||||
|
|
||||||
# 对 image_key 处理并并上传至多维表格
|
history_message_data = get_messages(client, message_id, images, cache_dir)
|
||||||
|
lark.logger.info(f"history_message_data: {history_message_data}")
|
||||||
|
|
||||||
for image in images:
|
for image in images:
|
||||||
image_path = get_message_resource(client, message_id, image, "image", cache_dir)
|
image_path = get_message_resource(client, message_id, image, "image", cache_dir)
|
||||||
|
|||||||
+164
@@ -0,0 +1,164 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"code": 0,
|
||||||
|
"data": {
|
||||||
|
"has_more": False,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"body": {
|
||||||
|
"content": '{"title":"","content":[[{"tag":"text","text":"图文测试 ","style":[]}],[{"tag":"img","image_key":"img_v3_02ba_8d84e41e-97c1-4fc4-813a-2a21e9569c2g","width":390,"height":221}]]}'
|
||||||
|
},
|
||||||
|
"chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc",
|
||||||
|
"create_time": "1716885856662",
|
||||||
|
"deleted": False,
|
||||||
|
"message_id": "om_3bc3b34aafeba7cb69c6a83d0695041e",
|
||||||
|
"msg_type": "post",
|
||||||
|
"sender": {
|
||||||
|
"id": "ou_d542891996bf1961f9a94563e6bd4d49",
|
||||||
|
"id_type": "open_id",
|
||||||
|
"sender_type": "user",
|
||||||
|
"tenant_key": "11cf67642edc175f",
|
||||||
|
},
|
||||||
|
"thread_id": "omt_153011a9ab87175d",
|
||||||
|
"update_time": "1716885856662",
|
||||||
|
"updated": False,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"body": {"content": '{"text":"测试"}'},
|
||||||
|
"chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc",
|
||||||
|
"create_time": "1716885862510",
|
||||||
|
"deleted": False,
|
||||||
|
"message_id": "om_c42796d82e790d1e840e28407f7feb4f",
|
||||||
|
"msg_type": "text",
|
||||||
|
"parent_id": "om_3bc3b34aafeba7cb69c6a83d0695041e",
|
||||||
|
"root_id": "om_3bc3b34aafeba7cb69c6a83d0695041e",
|
||||||
|
"sender": {
|
||||||
|
"id": "ou_d542891996bf1961f9a94563e6bd4d49",
|
||||||
|
"id_type": "open_id",
|
||||||
|
"sender_type": "user",
|
||||||
|
"tenant_key": "11cf67642edc175f",
|
||||||
|
},
|
||||||
|
"thread_id": "omt_153011a9ab87175d",
|
||||||
|
"update_time": "1716885862510",
|
||||||
|
"updated": False,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"body": {"content": '{"text":"@_user_1 记录问题"}'},
|
||||||
|
"chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc",
|
||||||
|
"create_time": "1716885870380",
|
||||||
|
"deleted": False,
|
||||||
|
"mentions": [
|
||||||
|
{
|
||||||
|
"id": "ou_76322e169bb6bb8f6e1c8b6631b54d72",
|
||||||
|
"id_type": "open_id",
|
||||||
|
"key": "@_user_1",
|
||||||
|
"name": "官方应用指令",
|
||||||
|
"tenant_key": "11cf67642edc175f",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"message_id": "om_84cf62c399045ff9a522f75519919dd2",
|
||||||
|
"msg_type": "text",
|
||||||
|
"parent_id": "om_3bc3b34aafeba7cb69c6a83d0695041e",
|
||||||
|
"root_id": "om_3bc3b34aafeba7cb69c6a83d0695041e",
|
||||||
|
"sender": {
|
||||||
|
"id": "ou_d542891996bf1961f9a94563e6bd4d49",
|
||||||
|
"id_type": "open_id",
|
||||||
|
"sender_type": "user",
|
||||||
|
"tenant_key": "11cf67642edc175f",
|
||||||
|
},
|
||||||
|
"thread_id": "omt_153011a9ab87175d",
|
||||||
|
"update_time": "1716885870380",
|
||||||
|
"updated": False,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"body": {
|
||||||
|
"content": '{"text":"问题已经记录到多维表格, 及时更新工单状态💕"}'
|
||||||
|
},
|
||||||
|
"chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc",
|
||||||
|
"create_time": "1716885873082",
|
||||||
|
"deleted": False,
|
||||||
|
"message_id": "om_6cb45fa521c10b1859b68efbe49f969c",
|
||||||
|
"msg_type": "text",
|
||||||
|
"parent_id": "om_84cf62c399045ff9a522f75519919dd2",
|
||||||
|
"root_id": "om_3bc3b34aafeba7cb69c6a83d0695041e",
|
||||||
|
"sender": {
|
||||||
|
"id": "cli_a5110cd1da70900b",
|
||||||
|
"id_type": "app_id",
|
||||||
|
"sender_type": "app",
|
||||||
|
"tenant_key": "11cf67642edc175f",
|
||||||
|
},
|
||||||
|
"thread_id": "omt_153011a9ab87175d",
|
||||||
|
"update_time": "1716885873082",
|
||||||
|
"updated": False,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"body": {
|
||||||
|
"content": '{"title":"","content":[[{"tag":"img","image_key":"img_v3_02ba_faca622b-d422-43a7-b72e-b6888c3a85dg","width":932,"height":271}]]}'
|
||||||
|
},
|
||||||
|
"chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc",
|
||||||
|
"create_time": "1716887901602",
|
||||||
|
"deleted": False,
|
||||||
|
"message_id": "om_65d7ba979bdd8dbe9ff3ea0f2a8c6272",
|
||||||
|
"msg_type": "post",
|
||||||
|
"parent_id": "om_3bc3b34aafeba7cb69c6a83d0695041e",
|
||||||
|
"root_id": "om_3bc3b34aafeba7cb69c6a83d0695041e",
|
||||||
|
"sender": {
|
||||||
|
"id": "ou_d542891996bf1961f9a94563e6bd4d49",
|
||||||
|
"id_type": "open_id",
|
||||||
|
"sender_type": "user",
|
||||||
|
"tenant_key": "11cf67642edc175f",
|
||||||
|
},
|
||||||
|
"thread_id": "omt_153011a9ab87175d",
|
||||||
|
"update_time": "1716887901602",
|
||||||
|
"updated": False,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"page_token": "",
|
||||||
|
},
|
||||||
|
"msg": "success",
|
||||||
|
}
|
||||||
|
sender_id = ""
|
||||||
|
|
||||||
|
message_content_data = []
|
||||||
|
message_images_data = []
|
||||||
|
|
||||||
|
|
||||||
|
items = data.get("data").get("items")
|
||||||
|
|
||||||
|
for index, item in enumerate(items):
|
||||||
|
print("=======================")
|
||||||
|
|
||||||
|
sender_id_item = item.get("sender").get("id")
|
||||||
|
if index == 0:
|
||||||
|
sender_id = sender_id_item
|
||||||
|
|
||||||
|
if sender_id != sender_id_item:
|
||||||
|
continue
|
||||||
|
|
||||||
|
item_content = json.loads(item.get("body").get("content"))
|
||||||
|
|
||||||
|
if item_content.get("text"):
|
||||||
|
message_content_data.append(item_content.get("text"))
|
||||||
|
|
||||||
|
if item_content.get("content"):
|
||||||
|
message_content_content_data = item_content.get("content")
|
||||||
|
|
||||||
|
tmp_content_data = []
|
||||||
|
for message_content_content_item in message_content_content_data:
|
||||||
|
for message_content_content_item_item in message_content_content_item:
|
||||||
|
tmp_content_data.append(message_content_content_item_item)
|
||||||
|
|
||||||
|
for tmp_content_data_item in tmp_content_data:
|
||||||
|
print(tmp_content_data_item)
|
||||||
|
if tmp_content_data_item.get("tag") == "text":
|
||||||
|
message_content_data.append(tmp_content_data_item.get("text"))
|
||||||
|
if tmp_content_data_item.get("tag") == "img":
|
||||||
|
message_images_data.append(tmp_content_data_item.get("image_key"))
|
||||||
|
|
||||||
|
# print(item_content)
|
||||||
|
|
||||||
|
print("==========sum=============")
|
||||||
|
|
||||||
|
print(message_content_data)
|
||||||
|
print(message_images_data)
|
||||||
+1
-2
@@ -304,8 +304,7 @@ def get_messages(client, container_id_type="", container_id="", page_size=50):
|
|||||||
|
|
||||||
# 处理业务结果
|
# 处理业务结果
|
||||||
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
|
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
|
||||||
|
return json.loads(lark.JSON.marshal(response.data))
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in new issue
Block a user