拼多多集成

This commit is contained in:
jjz
2025-09-12 20:42:00 +08:00
commit e9361b4c87
25 changed files with 22234 additions and 0 deletions

1946
Utils/Dy/DyUtils.py Normal file

File diff suppressed because it is too large Load Diff

0
Utils/Dy/__init__.py Normal file
View File

375
Utils/Dy/message_arg.py Normal file
View File

@@ -0,0 +1,375 @@
# -*- coding: utf-8 -*-
# python let's go
# 编辑人:kris思成
# coding=utf-8
import time
import uuid
import json
# 发送消息
def send_message(pigeon_sign: str, token: str, receiver_id: str, shop_id: str, talk_id: int, session_did: str, p_id: int, user_code: str, text: str):
"""
构造发送消息消息体
:param pigeon_sign: 接口返回
:param token: 接口返回
:param receiver_id: wss消息返回 对方用户id
:param shop_id: cookie自带
:param talk_id: wss消息返回 激活窗口id
:param session_did: cookie自带
:param p_id: wss消息返回
:param user_code: 用户token
:param text: 文本内容
:return:
"""
value = {
'1': 11778,
'2': int(time.time() * 1000),
'3': 10001,
'4': 1,
'5': [
{'1': b'pigeon_source', '2': b'web'},
{'1': b'PIGEON_BIZ_TYPE', '2': b'2'},
{'1': b'pigeon_sign', '2': pigeon_sign.encode()},
],
'7': {'14': 98},
'8': {
'1': 100,
'2': 11778,
'3': b'1.0.4-beta.2',
'4': token.encode(),
'5': 3,
'6': 3,
'7': b'2d97ea6:feat/add_init_callback',
'8': {
'100': {
'1': f"{receiver_id}:{shop_id}::2:1:pigeon".encode(),
'2': 11,
'3': p_id,
'4': text.encode(),
'5': [
{'1': b'type', '2': b'text'},
{'1': b'shop_id', '2': shop_id.encode()},
{'1': b'sender_role', '2': b'2'},
{'1': b'PIGEON_BIZ_TYPE', '2': b'2'},
{'1': b'src', '2': b'pc'},
{'1': b'srcType', '2': b'1'},
{'1': b'source', '2': b'pc-web'},
{'1': b'receiver_id', '2': str(receiver_id).encode()},
{'1': b'hierarchical_dimension', '2': b'{"dynamic_dimension":"4541_1131_9042_6599_9420_6832_4050_3823_3994_8564_1528_0388_8667_2179_7948_1870_1949_0989_8012_6240_7898_7548_8852_6245_9393_3650_8570_4026_4034_4057_6537_8632_2068_8958_0363_2387_9033_3425_2238_0982_1935_8188_3817_8557_7931_3278_4065_1893_6049_6961_3814_4883_4401_6637_7282_3652_9354_0437_4769_4815_9572_7230_5054_3951_4852_2188_3505_6813_2570_5394_0729","goofy_id":"1.0.1.1508","desk_version":"0.0.0","open_stores":"0","memL":"","cpuL":"","session_throughput":0,"message_throughput_send":0,"message_throughput_revice":0}'},
{'1': b'p:check_Send', '2': str(uuid.uuid4()).encode()},
{'1': b'track_info','2': json.dumps({"send_time": int(time.time() * 1000), "_send_delta": "77","_send_delta_2": "216"}).encode()},
{'1': b'user_agent', '2': b'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'},
{'1': b'sender_id', '2': b''},
{'1': b'biz_ext', '2': b'{}'},
{'1': b'p:from_source', '2': b'web'},
{'1': b's:mentioned_users', '2': b''},
{'1': b's:client_message_id', '2': str(uuid.uuid4()).encode()}
],
'6': 1000,
'7': user_code.encode(),
'8': str(uuid.uuid4()).encode(),
'14': talk_id # 激活聊天窗口id
}
},
'9': session_did.encode(),
'11': b'web',
'15': [
{'1': b'pigeon_source', '2': b'web'},
{'1': b'PIGEON_BIZ_TYPE', '2': b'2'},
{'1': b'pigeon_sign', '2': b'MIG6BAz2BNUON43WdlOBuGYEgZcsIho9ZjVP4yyExLShzXgAZtsvUMj2e3jZWeMZv+6+TNVQQMq3xSLrqiwcs2cCaOVBDuS6zGsWm5gBlGtlvOOLM5td2/9OS8P37t1sdkjN4BSH2mB7FlGItioZIsTh1sodn6pYCGj+45mtId3Itenufgai3Mnkpt573uoWJmagF8J3jVPHMFtdwd25Qf5vsWC2kB30glpQBBCbk2VO2ubMqctqQSzhI6uD'},
{'1': b'session_aid', '2': b'1383'},
{'1': b'session_did', '2': session_did.encode()},
{'1': b'app_name', '2': b'im'},
{'1': b'priority_region', '2': b'cn'},
{'1': b'user_agent','2': b'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'},
{'1': b'cookie_enabled', '2': b'true'},
{'1': b'browser_language', '2': b'zh-CN'},
{'1': b'browser_platform', '2': b'Win32'},
{'1': b'browser_name', '2': b'Mozilla'},
{'1': b'browser_version', '2': b'5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'},
{'1': b'browser_online', '2': b'true'},
{'1': b'screen_width', '2': b'1707'},
{'1': b'screen_height', '2': b'1067'},
{'1': b'referer', '2': b''},
{'1': b'timezone_name', '2': b'Asia/Shanghai'}
],
'18': 2}
}
message_type = {
"1": {
"type": "int",
"name": ""
},
"2": {
"type": "int",
"name": ""
},
"3": {
"type": "int",
"name": ""
},
"4": {
"type": "int",
"name": ""
},
"5": {
"type": "message",
"message_typedef": {
"1": {
"type": "bytes",
"name": ""
},
"2": {
"type": "bytes",
"name": ""
}
},
"name": ""
},
"7": {
"type": "message",
"message_typedef": {
"14": {
"type": "int",
"name": ""
}
},
"name": ""
},
"8": {
"type": "message",
"message_typedef": {
"1": {
"type": "int",
"name": ""
},
"2": {
"type": "int",
"name": ""
},
"3": {
"type": "bytes",
"name": ""
},
"4": {
"type": "bytes",
"name": ""
},
"5": {
"type": "int",
"name": ""
},
"6": {
"type": "int",
"name": ""
},
"7": {
"type": "bytes",
"name": ""
},
"8": {
"type": "message",
"message_typedef": {
"100": {
"type": "message",
"message_typedef": {
"1": {
"type": "bytes",
"name": ""
},
"2": {
"type": "int",
"name": ""
},
"3": {
"type": "int",
"name": ""
},
"4": {
"type": "bytes",
"name": ""
},
"5": {
"type": "message",
"message_typedef": {
"1": {
"type": "bytes",
"name": ""
},
"2": {
"type": "bytes",
"name": ""
}
},
"name": ""
},
"6": {
"type": "int",
"name": ""
},
"7": {
"type": "bytes",
"name": ""
},
"8": {
"type": "bytes",
"name": ""
},
"14": {
"type": "int",
"name": ""
}
},
"name": ""
}
},
"name": ""
},
"9": {
"type": "bytes",
"name": ""
},
"11": {
"type": "bytes",
"name": ""
},
"15": {
"type": "message",
"message_typedef": {
"1": {
"type": "bytes",
"name": ""
},
"2": {
"type": "bytes",
"name": ""
}
},
"name": ""
},
"18": {
"type": "int",
"name": ""
}
},
"name": ""
}
}
return value, message_type
# 获取token
def get_user_code(pigeon_sign: str, token: str, receiver_id: str, shop_id: str, session_did: str, p_id: int):
value = {'1': 10109, '2': int(time.time() * 1000), '3': 10001, '4': 1,
'5': [{'1': b'pigeon_source', '2': b'web'}, {'1': b'PIGEON_BIZ_TYPE', '2': b'2'}, {'1': b'pigeon_sign',
'2': pigeon_sign.encode()}],
'7': {'14': 98}, '8': {'1': 610, '2': 10109, '3': b'1.0.4-beta.2',
'4': token.encode(), '5': 3, '6': 3,
'7': b'2d97ea6:feat/add_init_callback', '8': {
'610': {'1': {'1': f"{receiver_id}:{shop_id}::2:1:pigeon".encode(), '2': p_id, '3': 10}}},
'9': session_did.encode(), '11': b'web',
'15': [{'1': b'pigeon_source', '2': b'web'}, {'1': b'PIGEON_BIZ_TYPE', '2': b'2'},
{'1': b'pigeon_sign',
'2': pigeon_sign.encode()},
{'1': b'session_aid', '2': b'1383'},
{'1': b'session_did', '2': session_did.encode()},
{'1': b'app_name', '2': b'im'}, {'1': b'priority_region', '2': b'cn'},
{'1': b'user_agent',
'2': b'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'},
{'1': b'cookie_enabled', '2': b'true'},
{'1': b'browser_language', '2': b'zh-CN'},
{'1': b'browser_platform', '2': b'Win32'},
{'1': b'browser_name', '2': b'Mozilla'}, {'1': b'browser_version',
'2': b'5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'},
{'1': b'browser_online', '2': b'true'}, {'1': b'screen_width', '2': b'1707'},
{'1': b'screen_height', '2': b'1067'}, {'1': b'referer', '2': b''},
{'1': b'timezone_name', '2': b'Asia/Shanghai'}], '18': 2}}
message_type = {'1': {'type': 'int', 'name': ''}, '2': {'type': 'int', 'name': ''},
'3': {'type': 'int', 'name': ''}, '4': {'type': 'int', 'name': ''}, '5': {'type': 'message',
'message_typedef': {
'1': {'type': 'bytes',
'name': ''},
'2': {'type': 'bytes',
'name': ''}},
'name': ''},
'7': {'type': 'message', 'message_typedef': {'14': {'type': 'int', 'name': ''}}, 'name': ''},
'8': {'type': 'message',
'message_typedef': {'1': {'type': 'int', 'name': ''}, '2': {'type': 'int', 'name': ''},
'3': {'type': 'bytes', 'name': ''}, '4': {'type': 'bytes', 'name': ''},
'5': {'type': 'int', 'name': ''}, '6': {'type': 'int', 'name': ''},
'7': {'type': 'bytes', 'name': ''}, '8': {'type': 'message',
'message_typedef': {
'610': {'type': 'message',
'message_typedef': {
'1': {
'type': 'message',
'message_typedef': {
'1': {
'type': 'bytes',
'name': ''},
'2': {
'type': 'int',
'name': ''},
'3': {
'type': 'int',
'name': ''}},
'name': ''}},
'name': ''}},
'name': ''},
'9': {'type': 'bytes', 'name': ''}, '11': {'type': 'bytes', 'name': ''},
'15': {'type': 'message',
'message_typedef': {'1': {'type': 'bytes', 'name': ''},
'2': {'type': 'bytes', 'name': ''}},
'name': ''}, '18': {'type': 'int', 'name': ''}}, 'name': ''}}
return value, message_type
# 心跳包
def heartbeat_message(pigeon_sign: str, token: str, session_did: str):
value = {
'1': 11028,
'2': int(time.time() * 1000),
'3': 10001,
'4': 1,
'5': [
{'1': b'pigeon_source', '2': b'web'},
{'1': b'PIGEON_BIZ_TYPE', '2': b'2'},
{'1': b'pigeon_sign','2': pigeon_sign.encode()}
],
'7': {'14': 98},
'8': {
'1': 200,
'2': 11028,
'3': b'1.0.4-beta.2',
'4': token.encode(),
'5': 3,
'6': 3,
'7': b'2d97ea6:feat/add_init_callback',
'8': {'200': {'1': int(time.time() * 1000), '2': 50}},
'9': session_did.encode(),
'11': b'web',
'15': [
{'1': b'pigeon_source', '2': b'web'},
{'1': b'PIGEON_BIZ_TYPE', '2': b'2'},
{'1': b'pigeon_sign', '2': pigeon_sign.encode()},
{'1': b'session_aid', '2': b'1383'},
{'1': b'session_did', '2': session_did.encode()},
{'1': b'app_name', '2': b'im'},
{'1': b'priority_region', '2': b'cn'},
{'1': b'user_agent', '2': b'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'},
{'1': b'cookie_enabled', '2': b'true'},
{'1': b'browser_language', '2': b'zh-CN'},
{'1': b'browser_platform', '2': b'Win32'}, {'1': b'browser_name', '2': b'Mozilla'},
{'1': b'browser_version', '2': b'5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36'},
{'1': b'browser_online', '2': b'true'}, {'1': b'screen_width', '2': b'1707'},
{'1': b'screen_height', '2': b'1067'}, {'1': b'referer', '2': b''},
{'1': b'timezone_name', '2': b'Asia/Shanghai'}
],
'18': 2
}
}
message_type = {'1': {'type': 'int', 'name': ''}, '2': {'type': 'int', 'name': ''}, '3': {'type': 'int', 'name': ''}, '4': {'type': 'int', 'name': ''}, '5': {'type': 'message', 'message_typedef': {'1': {'type': 'bytes', 'name': ''}, '2': {'type': 'bytes', 'name': ''}}, 'name': ''}, '7': {'type': 'message', 'message_typedef': {'14': {'type': 'int', 'name': ''}}, 'name': ''}, '8': {'type': 'message', 'message_typedef': {'1': {'type': 'int', 'name': ''}, '2': {'type': 'int', 'name': ''}, '3': {'type': 'bytes', 'name': ''}, '4': {'type': 'bytes', 'name': ''}, '5': {'type': 'int', 'name': ''}, '6': {'type': 'int', 'name': ''}, '7': {'type': 'bytes', 'name': ''}, '8': {'type': 'message', 'message_typedef': {'200': {'type': 'message', 'message_typedef': {'1': {'type': 'int', 'name': ''}, '2': {'type': 'int', 'name': ''}}, 'name': ''}}, 'name': ''}, '9': {'type': 'bytes', 'name': ''}, '11': {'type': 'bytes', 'name': ''}, '15': {'type': 'message', 'message_typedef': {'1': {'type': 'bytes', 'name': ''}, '2': {'type': 'bytes', 'name': ''}}, 'name': ''}, '18': {'type': 'int', 'name': ''}}, 'name': ''}}
return value, message_type