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:
|
||||
lark.logger.info(f"receive message: {lark.JSON.marshal(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
|
||||
thread_id = data.event.message.thread_id
|
||||
|
||||
clear_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
|
||||
|
||||
data = lark.JSON.marshal(data)
|
||||
print("=====================================")
|
||||
print(f"thread_id: {thread_id}")
|
||||
print(f"thread_id: {message_id}")
|
||||
|
||||
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("=====================================")
|
||||
|
||||
|
||||
|
||||
+64
-5
@@ -16,13 +16,73 @@ from app.utils.utils import update_record
|
||||
def process_message_callback(
|
||||
app_id, app_secret, bitable_token, table_id, cache_dir, data
|
||||
) -> 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")
|
||||
content = data.get("content")
|
||||
sender_id = data.get("sender_id")
|
||||
message_id = data.get("message_id")
|
||||
event_message = data.get("event")
|
||||
sender_info = event_message.get("sender")
|
||||
message_data = event_message.get("message")
|
||||
|
||||
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 = ""
|
||||
record = {}
|
||||
@@ -38,7 +98,6 @@ def process_message_callback(
|
||||
if item.get("tag") == "img":
|
||||
images.append(item["image_key"])
|
||||
|
||||
|
||||
if message_type != "text" or message_content != "记录问题":
|
||||
return
|
||||
|
||||
|
||||
Reference in new issue
Block a user