1 parent
8ddef1617b
commit
e83a9e116f
2 files changed
+67
-18
No files matched your search
+3
-13
@@ -50,30 +50,20 @@ if not os.path.exists(cache_dir):
|
|||||||
|
|
||||||
|
|
||||||
def do_p2_im_message_receive_v1(data: P2ImMessageReceiveV1) -> None:
|
def do_p2_im_message_receive_v1(data: P2ImMessageReceiveV1) -> None:
|
||||||
lark.logger.info(f"receive message: {lark.JSON.marshal(data)}")
|
|
||||||
# print(client, bitable_token, table_id, cache_dir, data)
|
# print(client, bitable_token, table_id, cache_dir, data)
|
||||||
|
|
||||||
message_type = data.event.message.message_type
|
|
||||||
content = json.loads(data.event.message.content)
|
|
||||||
sender_id = data.event.sender.sender_id.open_id
|
|
||||||
message_id = data.event.message.message_id
|
message_id = data.event.message.message_id
|
||||||
thread_id = data.event.message.thread_id
|
thread_id = data.event.message.thread_id
|
||||||
|
|
||||||
clear_data = {}
|
data = lark.JSON.marshal(data)
|
||||||
clear_data["message_type"] = message_type
|
|
||||||
clear_data["content"] = content
|
|
||||||
clear_data["sender_id"] = sender_id
|
|
||||||
clear_data["message_id"] = message_id
|
|
||||||
clear_data["thread_id"] = thread_id
|
|
||||||
|
|
||||||
print("=====================================")
|
print("=====================================")
|
||||||
print(f"thread_id: {thread_id}")
|
print(f"thread_id: {thread_id}")
|
||||||
print(f"thread_id: {message_id}")
|
print(f"thread_id: {message_id}")
|
||||||
|
|
||||||
process_message_callback.delay(
|
process_message_callback.delay(
|
||||||
app_id, app_secret, bitable_token, table_id, cache_dir, clear_data
|
app_id, app_secret, bitable_token, table_id, cache_dir, data
|
||||||
)
|
)
|
||||||
print(lark.JSON.marshal(data))
|
lark.logger.info(f"receive message: {lark.JSON.marshal(data)}")
|
||||||
print("=====================================")
|
print("=====================================")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+64
-5
@@ -16,13 +16,73 @@ from app.utils.utils import update_record
|
|||||||
def process_message_callback(
|
def process_message_callback(
|
||||||
app_id, app_secret, bitable_token, table_id, cache_dir, data
|
app_id, app_secret, bitable_token, table_id, cache_dir, data
|
||||||
) -> None:
|
) -> None:
|
||||||
|
"""
|
||||||
|
{
|
||||||
|
"schema": "2.0",
|
||||||
|
"header": {
|
||||||
|
"event_id": "5a62a955882eb0bef60d8cd92cbd3797",
|
||||||
|
"token": "35LaoAPYTXRyBmjeaBvzRbRUsJSL1KBx",
|
||||||
|
"create_time": "1716882569266",
|
||||||
|
"event_type": "im.message.receive_v1",
|
||||||
|
"tenant_key": "11cf67642edc175f",
|
||||||
|
"app_id": "cli_a5110cd1da70900b"
|
||||||
|
},
|
||||||
|
"event": {
|
||||||
|
"sender": {
|
||||||
|
"sender_id": {
|
||||||
|
"user_id": "7g3756f4",
|
||||||
|
"open_id": "ou_d542891996bf1961f9a94563e6bd4d49",
|
||||||
|
"union_id": "on_d0b974fa569f61a46f99b6aaac856779"
|
||||||
|
},
|
||||||
|
"sender_type": "user",
|
||||||
|
"tenant_key": "11cf67642edc175f"
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"message_id": "om_b9fc436533bd2f9b103fb036926558be",
|
||||||
|
"root_id": "om_eb490fc20824200d204ef8091ea41442",
|
||||||
|
"parent_id": "om_eb490fc20824200d204ef8091ea41442",
|
||||||
|
"create_time": "1716882569049",
|
||||||
|
"update_time": "1716882569049",
|
||||||
|
"chat_id": "oc_078dfeaefc42b43a25c35d3de348c7fc",
|
||||||
|
"thread_id": "omt_1531b4e1939f9740",
|
||||||
|
"chat_type": "group",
|
||||||
|
"message_type": "text",
|
||||||
|
"content": "{\"text\":\"@_user_1 1\"}",
|
||||||
|
"mentions": [
|
||||||
|
{
|
||||||
|
"key": "@_user_1",
|
||||||
|
"id": {
|
||||||
|
"user_id": "",
|
||||||
|
"open_id": "ou_76322e169bb6bb8f6e1c8b6631b54d72",
|
||||||
|
"union_id": "on_fef0f7ff1f1a29a806df7fe0625d40e5"
|
||||||
|
},
|
||||||
|
"name": "官方应用指令",
|
||||||
|
"tenant_key": "11cf67642edc175f"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
# 记录问题到多维表格逻辑
|
# 记录问题到多维表格逻辑
|
||||||
|
|
||||||
# 如果 @机器人 等于"记录问题", 获取当前的话题
|
# 如果 @机器人 等于"记录问题", 获取当前的话题
|
||||||
message_type = data.get("message_type")
|
event_message = data.get("event")
|
||||||
content = data.get("content")
|
sender_info = event_message.get("sender")
|
||||||
sender_id = data.get("sender_id")
|
message_data = event_message.get("message")
|
||||||
message_id = data.get("message_id")
|
|
||||||
|
message_type = message_data.get("message_type")
|
||||||
|
content = message_data.get("content")
|
||||||
|
sender_id = message_data.get("sender_id")
|
||||||
|
message_id = message_data.get("message_id")
|
||||||
|
|
||||||
|
if not message_data.get("mentions"):
|
||||||
|
# 忽略非@人的消息
|
||||||
|
return
|
||||||
|
|
||||||
|
if message_data.get("mentions").get("name") != "官方应用指令":
|
||||||
|
# 忽略@官方应用指令的消息
|
||||||
|
return
|
||||||
|
|
||||||
message_content = ""
|
message_content = ""
|
||||||
record = {}
|
record = {}
|
||||||
@@ -38,7 +98,6 @@ def process_message_callback(
|
|||||||
if item.get("tag") == "img":
|
if item.get("tag") == "img":
|
||||||
images.append(item["image_key"])
|
images.append(item["image_key"])
|
||||||
|
|
||||||
|
|
||||||
if message_type != "text" or message_content != "记录问题":
|
if message_type != "text" or message_content != "记录问题":
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user