adjust record creator
continuous-integration/drone/push Build is passing

This commit is contained in:
jianxin committed 2024-01-17 19:30:39 +08:00
1 parent 4de2795c73
commit 6b91a97fa0
1 file changed
+16 -27
+16 -27
View File
@@ -1,30 +1,22 @@
import os
import json
import time
from itertools import chain
import lark_oapi as lark
from flask import Flask
from dotenv import load_dotenv
from itertools import chain
from lark_oapi.adapter.flask import *
from lark_oapi.api.im.v1 import *
from lark_oapi.api.bitable.v1 import *
from utils import (
get_message_resource,
upload_media,
add_record,
update_record,
send_group_message,
)
from utils import *
load_dotenv()
app_id = os.environ["APP_ID"]
app_secret = os.environ["APP_SECRET"]
@@ -34,29 +26,28 @@ verification_token = os.environ["VERIFICATION_TOKEN"]
bitable_token = os.environ["BITABLE_TOKEN"]
table_id = os.environ["TABLE_ID"]
current_dir = os.path.dirname(os.path.abspath(__file__))
app = Flask(__name__)
# 创建client
client = lark.Client.builder().app_id(app_id).app_secret(app_secret).build()
current_dir = os.path.dirname(os.path.abspath(__file__))
cache_dir = os.path.join(current_dir, "cache")
if not os.path.exists(cache_dir):
os.makedirs(cache_dir)
app = Flask(__name__)
def do_p2_im_message_receive_v1(data: P2ImMessageReceiveV1) -> None:
print(lark.JSON.marshal(data))
record = {}
images = []
images_token = []
message_content = ""
message_type = data.event.message.message_type
content = data.event.message.content
content = json.loads(content)
content = json.loads(data.event.message.content)
if message_type == "post":
content = content["content"]
for item in chain.from_iterable(content):
@@ -69,20 +60,16 @@ def do_p2_im_message_receive_v1(data: P2ImMessageReceiveV1) -> None:
if message_type == "text":
message_content = content["text"].replace("@_user_1", "").strip()
sender_id = data.event.sender.sender_id.open_id
record["问题概述"] = message_content
record["创建人"] = data.event.sender.sender_id.open_id
receive_open_id = data.event.sender.sender_id.open_id
record["创建人"] = sender_id
message_id = data.event.message.message_id
# user_id = data.event.sender.sender_id.user_id
# 对 image_key 处理并并上传至多维表格
images_path = []
images_token = []
for image in images:
image_path = get_message_resource(client, message_id, image, "image", cache_dir)
print("下载文件成功:", image, image_path)
images_path.append(image_path)
file_token = upload_media(client, image_path, "bitable_image", bitable_token)
print("上传文件成功:", file_token)
images_token.append(file_token)
@@ -94,8 +81,9 @@ def do_p2_im_message_receive_v1(data: P2ImMessageReceiveV1) -> None:
time.sleep(1)
update_data = {"创建人": {"id": receive_open_id}}
update_data = {"创建人": {"id": sender_id}}
update_record(client, bitable_token, table_id, record_id, update_data)
# content = {"text": "反馈的问题已经记录到多维表格, 稍后有小伙伴跟进"}
# send_message(receive_id, content)
@@ -113,14 +101,15 @@ handler = (
encrypt_key, verification_token, lark.LogLevel.DEBUG
)
.register_p2_im_message_receive_v1(do_p2_im_message_receive_v1)
.register_p1_customized_event("message", do_customized_event)
.build()
)
# .register_p1_customized_event("message", do_customized_event)
@app.route("/event", methods=["POST"])
def event():
resp = handler.do(parse_req())
print(resp)
return parse_resp(resp)