1 parent
1867179ce0
commit
543990996d
3 files changed
+69
-159
No files matched your search
@@ -171,6 +171,10 @@ def process_message_callback(
|
|||||||
send_group_message(client, message_id, content)
|
send_group_message(client, message_id, content)
|
||||||
|
|
||||||
# 表格触发器会自动设置 "创建人-售后专用" 为创建者, 使用接口调整
|
# 表格触发器会自动设置 "创建人-售后专用" 为创建者, 使用接口调整
|
||||||
|
for _ in range(100):
|
||||||
|
creator_names = get_record_creator_name_by_id(client, bitable_token, table_id, record_id)
|
||||||
|
if "官方应用指令" in creator_names:
|
||||||
|
break
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
|
|
||||||
update_data = {"创建人-售后专用": [{"id": thread_sender_id}]}
|
update_data = {"创建人-售后专用": [{"id": thread_sender_id}]}
|
||||||
|
|||||||
+39
-158
@@ -1,166 +1,47 @@
|
|||||||
import json
|
import lark_oapi as lark
|
||||||
|
from lark_oapi.api.bitable.v1 import *
|
||||||
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")
|
# SDK 使用说明: https://github.com/larksuite/oapi-sdk-python#readme
|
||||||
|
def main():
|
||||||
|
# 创建client
|
||||||
|
# 使用 user_access_token 需开启 token 配置, 并在 request_option 中配置 token
|
||||||
|
client = (
|
||||||
|
lark.Client.builder()
|
||||||
|
.enable_set_token(True)
|
||||||
|
.log_level(lark.LogLevel.DEBUG)
|
||||||
|
.build()
|
||||||
|
)
|
||||||
|
|
||||||
for index, item in enumerate(items):
|
# 构造请求对象
|
||||||
print("=======================")
|
request: GetAppTableRecordRequest = (
|
||||||
|
GetAppTableRecordRequest.builder()
|
||||||
|
.app_token("XDmHbhbZcaY4gZsOvBJcLcHonKh")
|
||||||
|
.table_id("tblwgGCDCE74Ugv6")
|
||||||
|
.record_id("recueIjTAp0vXl")
|
||||||
|
.build()
|
||||||
|
)
|
||||||
|
|
||||||
sender_id_item = item.get("sender").get("id")
|
# 发起请求
|
||||||
if index == 0:
|
option = (
|
||||||
sender_id = sender_id_item
|
lark.RequestOption.builder()
|
||||||
|
.user_access_token("u-ejSdCjHxt11FS5WMMy7wOwlh5NuQh459pww045mEyxe.")
|
||||||
|
.build()
|
||||||
|
)
|
||||||
|
response: GetAppTableRecordResponse = client.bitable.v1.app_table_record.get(
|
||||||
|
request, option
|
||||||
|
)
|
||||||
|
|
||||||
if sender_id != sender_id_item:
|
# 处理失败返回
|
||||||
continue
|
if not response.success():
|
||||||
|
lark.logger.error(
|
||||||
|
f"client.bitable.v1.app_table_record.get failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
item_content = json.loads(item.get("body").get("content"))
|
# 处理业务结果
|
||||||
|
print([item.get("name") for item in response.data.record.fields["创建人-售后专用"]])
|
||||||
|
|
||||||
message_id = item.get("message_id")
|
|
||||||
|
|
||||||
if item_content.get("text"):
|
if __name__ == "__main__":
|
||||||
message_content_data.append(item_content.get("text"))
|
main()
|
||||||
|
|
||||||
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({message_id: tmp_content_data_item.get("image_key")})
|
|
||||||
|
|
||||||
# print(item_content)
|
|
||||||
|
|
||||||
print("==========sum=============")
|
|
||||||
|
|
||||||
print(message_content_data)
|
|
||||||
print(message_images_data)
|
|
||||||
+26
-1
@@ -261,6 +261,32 @@ def get_filtered_record_by_uuid(
|
|||||||
print("找到了多条记录")
|
print("找到了多条记录")
|
||||||
|
|
||||||
|
|
||||||
|
def get_record_creator_name_by_id(client, bitable_token, table_id, record_id):
|
||||||
|
"""获取记录创建人姓名 售后专用"""
|
||||||
|
# 构造请求对象
|
||||||
|
request: GetAppTableRecordRequest = (
|
||||||
|
GetAppTableRecordRequest.builder()
|
||||||
|
.app_token(bitable_token)
|
||||||
|
.table_id(table_id)
|
||||||
|
.record_id(record_id)
|
||||||
|
.build()
|
||||||
|
)
|
||||||
|
|
||||||
|
response: GetAppTableRecordResponse = client.bitable.v1.app_table_record.get(
|
||||||
|
request
|
||||||
|
)
|
||||||
|
|
||||||
|
# 处理失败返回
|
||||||
|
if not response.success():
|
||||||
|
lark.logger.error(
|
||||||
|
f"client.bitable.v1.app_table_record.get failed, code: {response.code}, msg: {response.msg}, log_id: {response.get_log_id()}"
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
|
# 处理业务结果
|
||||||
|
return [item.get("name") for item in response.data.record.fields["创建人-售后专用"]]
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
app_id = os.environ["APP_ID"]
|
app_id = os.environ["APP_ID"]
|
||||||
@@ -283,4 +309,3 @@ if __name__ == "__main__":
|
|||||||
.log_level(lark.LogLevel.DEBUG)
|
.log_level(lark.LogLevel.DEBUG)
|
||||||
.build()
|
.build()
|
||||||
)
|
)
|
||||||
|
|
||||||
Reference in new issue
Block a user