refresh user id
continuous-integration/drone/push Build is passing

This commit is contained in:
jianxin committed 2024-01-17 18:40:01 +08:00
1 parent ff3a2f9476
commit 93f9e864dd
2 files changed
+135 -89

No files matched your search

+17 -88
View File
@@ -1,5 +1,8 @@
import os
import json
import time
from itertools import chain
import lark_oapi as lark
@@ -11,7 +14,13 @@ from lark_oapi.api.im.v1 import *
from lark_oapi.api.bitable.v1 import *
from utils import get_message_resource, upload_media
from utils import (
get_message_resource,
upload_media,
add_record,
update_record,
send_group_message,
)
load_dotenv()
@@ -64,7 +73,7 @@ def do_p2_im_message_receive_v1(data: P2ImMessageReceiveV1) -> None:
record["创建人"] = data.event.sender.sender_id.open_id
receive_open_id = data.event.sender.sender_id.open_id
message_id = data.event.message.message_id
user_id = data.event.sender.sender_id.user_id
# user_id = data.event.sender.sender_id.user_id
# 对 image_key 处理并并上传至多维表格
images_path = []
@@ -81,14 +90,18 @@ def do_p2_im_message_receive_v1(data: P2ImMessageReceiveV1) -> None:
if images:
record["附件"] = [{"file_token": image} for image in images_token]
add_record(record)
record_id = add_record(client, bitable_token, table_id, record)
time.sleep(1)
update_data = {"创建人": [{"id": receive_open_id}]}
update_record(client, bitable_token, table_id, record_id, update_data)
# content = {"text": "反馈的问题已经记录到多维表格, 稍后有小伙伴跟进"}
# send_message(receive_id, content)
# 回复群组的消息
content = f'{{"text": "反馈的问题已经记录到多维表格, 稍后有小伙伴跟进"}}'
send_group_message(message_id, content)
send_group_message(client, message_id, content)
def do_customized_event(data: lark.CustomizedEvent) -> None:
@@ -105,90 +118,6 @@ handler = (
)
def add_record(data):
# 构造请求对象
request: CreateAppTableRecordRequest = (
CreateAppTableRecordRequest.builder()
.app_token(bitable_token)
.table_id(table_id)
.request_body(AppTableRecord.builder().fields(data).build())
.build()
)
# 发起请求
response: CreateAppTableRecordResponse = client.bitable.v1.app_table_record.create(
request
)
# 处理失败返回
if not response.success():
lark.logger.error(
f"client.bitable.v1.app_table_record.create failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
)
return
# 处理业务结果
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
def send_group_message(message_id, content):
# 构造请求对象
request: ReplyMessageRequest = (
ReplyMessageRequest.builder()
.message_id(message_id)
.request_body(
ReplyMessageRequestBody.builder()
.content(content=content)
.msg_type("text")
.reply_in_thread(True)
.build()
)
.build()
)
# 发起请求
response: ReplyMessageResponse = client.im.v1.message.reply(request)
# 处理失败返回
if not response.success():
lark.logger.error(
f"client.im.v1.message.reply failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
)
# 处理业务结果
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
def send_message(receive_id, content):
# 构造请求对象
request: CreateMessageRequest = (
CreateMessageRequest.builder()
.receive_id_type("open_id")
.request_body(
CreateMessageRequestBody.builder()
.receive_id(receive_id)
.msg_type("text")
.content(content)
.build()
)
.build()
)
# 发起请求
response: CreateMessageResponse = client.im.v1.message.create(request)
# 处理失败返回
if not response.success():
lark.logger.error(
f"client.im.v1.message.create failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
)
return
# 处理业务结果
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
@app.route("/event", methods=["POST"])
def event():
resp = handler.do(parse_req())
+118 -1
View File
@@ -13,6 +13,66 @@ import lark_oapi as lark
from lark_oapi.api.drive.v1 import *
def update_record(client, bitable_token, table_id, record_id, data):
# 构造请求对象
request: UpdateAppTableRecordRequest = (
UpdateAppTableRecordRequest.builder()
.app_token(bitable_token)
.table_id(table_id)
.record_id(record_id)
.request_body(AppTableRecord.builder().fields(data).build())
.build()
)
# 发起请求
option = (
lark.RequestOption.builder()
.user_access_token("u-fEsiJAcUZaOFrBI0iYa6N61l4zvBghNxr200l1K82GvD")
.build()
)
response: UpdateAppTableRecordResponse = client.bitable.v1.app_table_record.update(
request, option
)
# 处理失败返回
if not response.success():
lark.logger.error(
f"client.bitable.v1.app_table_record.update failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
)
return
# 处理业务结果
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
def add_record(client, bitable_token, table_id, data):
# 构造请求对象
request: CreateAppTableRecordRequest = (
CreateAppTableRecordRequest.builder()
.app_token(bitable_token)
.table_id(table_id)
.request_body(AppTableRecord.builder().fields(data).build())
.build()
)
# 发起请求
response: CreateAppTableRecordResponse = client.bitable.v1.app_table_record.create(
request
)
# 处理失败返回
if not response.success():
lark.logger.error(
f"client.bitable.v1.app_table_record.create failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
)
return
# 处理业务结果
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
return response.data.record.record_id
def get_message_resource(client, message_id, file_key, file_type, save_dir):
request: GetMessageResourceRequest = (
GetMessageResourceRequest.builder()
@@ -58,7 +118,6 @@ def upload_media(client, file_path, parent_type, parent_node):
.build()
)
# 发起请求
option = (
lark.RequestOption.builder()
@@ -80,3 +139,61 @@ def upload_media(client, file_path, parent_type, parent_node):
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
return response.data.file_token
def send_group_message(client, message_id, content):
# 构造请求对象
request: ReplyMessageRequest = (
ReplyMessageRequest.builder()
.message_id(message_id)
.request_body(
ReplyMessageRequestBody.builder()
.content(content=content)
.msg_type("text")
.reply_in_thread(True)
.build()
)
.build()
)
# 发起请求
response: ReplyMessageResponse = client.im.v1.message.reply(request)
# 处理失败返回
if not response.success():
lark.logger.error(
f"client.im.v1.message.reply failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
)
# 处理业务结果
lark.logger.info(lark.JSON.marshal(response.data, indent=4))
def send_message(client, receive_id, content):
# 构造请求对象
request: CreateMessageRequest = (
CreateMessageRequest.builder()
.receive_id_type("open_id")
.request_body(
CreateMessageRequestBody.builder()
.receive_id(receive_id)
.msg_type("text")
.content(content)
.build()
)
.build()
)
# 发起请求
response: CreateMessageResponse = client.im.v1.message.create(request)
# 处理失败返回
if not response.success():
lark.logger.error(
f"client.im.v1.message.create failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
)
return
# 处理业务结果
lark.logger.info(lark.JSON.marshal(response.data, indent=4))