ecapi-sdk 3.2.7__tar.gz → 3.2.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/PKG-INFO +1 -1
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/pyproject.toml +1 -1
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/src/ecapi_sdk/client.py +52 -0
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/src/ecapi_sdk/client.pyi +52 -0
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/src/ecapi_sdk.egg-info/PKG-INFO +1 -1
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/README.md +0 -0
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/setup.cfg +0 -0
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/src/ecapi_sdk/__init__.py +0 -0
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/src/ecapi_sdk/py.typed +0 -0
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/src/ecapi_sdk.egg-info/SOURCES.txt +0 -0
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/src/ecapi_sdk.egg-info/dependency_links.txt +0 -0
- {ecapi_sdk-3.2.7 → ecapi_sdk-3.2.9}/src/ecapi_sdk.egg-info/top_level.txt +0 -0
|
@@ -286,10 +286,34 @@ class ReplayAPI(_BaseApi):
|
|
|
286
286
|
"""预热回放地图轮廓缓存"""
|
|
287
287
|
return self._post(f"/replay-map-profiles/cache", payload, **kwargs)
|
|
288
288
|
|
|
289
|
+
def create_full_data_job(self, payload: Mapping[str, Any], **kwargs: Any) -> Any:
|
|
290
|
+
"""创建批量回放完整事件数据解析任务"""
|
|
291
|
+
return self._post(f"/replays/full-data-jobs", payload, **kwargs)
|
|
292
|
+
|
|
289
293
|
def create_visualization_data_job(self, recordId: Union[int, float], payload: Mapping[str, Any], **kwargs: Any) -> Any:
|
|
290
294
|
"""创建回放结构化数据解析任务"""
|
|
291
295
|
return self._post(f"/replays/{quote(str(recordId), safe='')}/visualization-data-jobs", payload, **kwargs)
|
|
292
296
|
|
|
297
|
+
def download_full_data_record(self, jobId: str, recordId: Union[int, float], **kwargs: Any) -> Any:
|
|
298
|
+
"""下载单个回放完整事件二进制包"""
|
|
299
|
+
return self._get(f"/replay-full-data-jobs/{quote(str(jobId), safe='')}/records/{quote(str(recordId), safe='')}/data.br", None, response_type="bytes", **kwargs)
|
|
300
|
+
|
|
301
|
+
def get_full_data(self, jobId: str, **kwargs: Any) -> Any:
|
|
302
|
+
"""获取回放完整事件压缩数据"""
|
|
303
|
+
return self._get(f"/replay-full-data-jobs/{quote(str(jobId), safe='')}/data", None, **kwargs)
|
|
304
|
+
|
|
305
|
+
def get_full_data_cache_status(self, payload: Mapping[str, Any], **kwargs: Any) -> Any:
|
|
306
|
+
"""批量查询回放完整事件数据缓存状态"""
|
|
307
|
+
return self._post(f"/replays/full-data-cache-status", payload, **kwargs)
|
|
308
|
+
|
|
309
|
+
def get_full_data_job(self, jobId: str, **kwargs: Any) -> Any:
|
|
310
|
+
"""查询回放完整事件数据任务"""
|
|
311
|
+
return self._get(f"/replay-full-data-jobs/{quote(str(jobId), safe='')}", None, **kwargs)
|
|
312
|
+
|
|
313
|
+
def get_map_block_index(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
|
|
314
|
+
"""获取回放地图完整方块索引缓存"""
|
|
315
|
+
return self._get(f"/replay-map-block-indexes", query, **kwargs)
|
|
316
|
+
|
|
293
317
|
def get_map_profile(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
|
|
294
318
|
"""获取回放地图轮廓"""
|
|
295
319
|
return self._get(f"/replay-map-profiles", query, **kwargs)
|
|
@@ -298,6 +322,14 @@ class ReplayAPI(_BaseApi):
|
|
|
298
322
|
"""获取回放记录"""
|
|
299
323
|
return self._get(f"/replays/{quote(str(recordId), safe='')}", None, **kwargs)
|
|
300
324
|
|
|
325
|
+
def get_visualization_blocks_layer(self, jobId: str, **kwargs: Any) -> Any:
|
|
326
|
+
"""获取动态方块变化图层"""
|
|
327
|
+
return self._get(f"/replay-visualization-data-jobs/{quote(str(jobId), safe='')}/layers/blocks", None, **kwargs)
|
|
328
|
+
|
|
329
|
+
def get_visualization_core_data(self, jobId: str, **kwargs: Any) -> Any:
|
|
330
|
+
"""获取默认回放核心数据"""
|
|
331
|
+
return self._get(f"/replay-visualization-data-jobs/{quote(str(jobId), safe='')}/core", None, **kwargs)
|
|
332
|
+
|
|
301
333
|
def get_visualization_data(self, jobId: str, **kwargs: Any) -> Any:
|
|
302
334
|
"""获取回放结构化数据"""
|
|
303
335
|
return self._get(f"/replay-visualization-data-jobs/{quote(str(jobId), safe='')}/data", None, **kwargs)
|
|
@@ -306,6 +338,14 @@ class ReplayAPI(_BaseApi):
|
|
|
306
338
|
"""查询回放结构化数据任务"""
|
|
307
339
|
return self._get(f"/replay-visualization-data-jobs/{quote(str(jobId), safe='')}", None, **kwargs)
|
|
308
340
|
|
|
341
|
+
def get_visualization_equipment_layer(self, jobId: str, **kwargs: Any) -> Any:
|
|
342
|
+
"""获取主手武器/物品变化图层"""
|
|
343
|
+
return self._get(f"/replay-visualization-data-jobs/{quote(str(jobId), safe='')}/layers/equipment", None, **kwargs)
|
|
344
|
+
|
|
345
|
+
def get_visualization_high_tracks_layer(self, jobId: str, **kwargs: Any) -> Any:
|
|
346
|
+
"""获取高精度轨迹图层"""
|
|
347
|
+
return self._get(f"/replay-visualization-data-jobs/{quote(str(jobId), safe='')}/layers/high-tracks", None, **kwargs)
|
|
348
|
+
|
|
309
349
|
def list_replay_records(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
|
|
310
350
|
"""分页查询玩家回放记录"""
|
|
311
351
|
return self._get(f"/replays", query, **kwargs)
|
|
@@ -415,6 +455,10 @@ class AdminPlayerMerchandiseAPI(_BaseApi):
|
|
|
415
455
|
"""删除玩家道具"""
|
|
416
456
|
return self._delete(f"/admin/players/{quote(str(ecid), safe='')}/merchandise/{quote(str(category), safe='')}/{quote(str(itemId), safe='')}", None, **kwargs)
|
|
417
457
|
|
|
458
|
+
def find_owners(self, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
|
|
459
|
+
"""按道具反查玩家 ECID"""
|
|
460
|
+
return self._get(f"/admin/merchandise/owners", query, **kwargs)
|
|
461
|
+
|
|
418
462
|
def list(self, ecid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
|
|
419
463
|
"""查询玩家商品道具"""
|
|
420
464
|
return self._get(f"/admin/players/{quote(str(ecid), safe='')}/merchandise", query, **kwargs)
|
|
@@ -658,6 +702,10 @@ class PlayerAPI(_BaseApi):
|
|
|
658
702
|
"""获取玩家皮肤数据"""
|
|
659
703
|
return self._get(f"/players/{quote(str(ecid), safe='')}/skin", None, response_type="bytes", **kwargs)
|
|
660
704
|
|
|
705
|
+
def get_skin_geometry_data(self, ecid: str, **kwargs: Any) -> Any:
|
|
706
|
+
"""获取玩家皮肤几何数据"""
|
|
707
|
+
return self._get(f"/players/{quote(str(ecid), safe='')}/skin/geometry", None, **kwargs)
|
|
708
|
+
|
|
661
709
|
def get_stage_record(self, ecid: str, query: Optional[QueryParams] = None, **kwargs: Any) -> Any:
|
|
662
710
|
"""分页查询玩家关卡记录"""
|
|
663
711
|
return self._get(f"/players/{quote(str(ecid), safe='')}/stage-records", query, **kwargs)
|
|
@@ -837,6 +885,10 @@ class ServerEaseChatAPI(_BaseApi):
|
|
|
837
885
|
"""分页查询订阅"""
|
|
838
886
|
return self._get(f"/easechat/subscriptions", query, **kwargs)
|
|
839
887
|
|
|
888
|
+
def reconnect_ws(self, **kwargs: Any) -> Any:
|
|
889
|
+
"""手动重连 EaseChat WebSocket"""
|
|
890
|
+
return self._post(f"/easechat/ws/reconnect", None, **kwargs)
|
|
891
|
+
|
|
840
892
|
def send_hlaba(self, payload: Mapping[str, Any], **kwargs: Any) -> Any:
|
|
841
893
|
"""发送 HLABA 消息"""
|
|
842
894
|
return self._post(f"/easechat/hlaba", payload, **kwargs)
|
|
@@ -10,6 +10,12 @@ Headers = Dict[str, str]
|
|
|
10
10
|
AuthCredentials = Dict[str, str]
|
|
11
11
|
AuthProvider = Callable[[], Union[Optional[AuthCredentials], Awaitable[Optional[AuthCredentials]]]]
|
|
12
12
|
|
|
13
|
+
class ReplayAPIGetMapBlockIndexQueryRequired(TypedDict):
|
|
14
|
+
mapPath: QueryValue
|
|
15
|
+
|
|
16
|
+
class ReplayAPIGetMapBlockIndexQuery(ReplayAPIGetMapBlockIndexQueryRequired, total=False):
|
|
17
|
+
refresh: QueryValue
|
|
18
|
+
|
|
13
19
|
class ReplayAPIGetMapProfileQueryRequired(TypedDict):
|
|
14
20
|
mapPath: QueryValue
|
|
15
21
|
|
|
@@ -21,6 +27,7 @@ class ReplayAPICacheMapProfilesBody(TypedDict, total=False):
|
|
|
21
27
|
mapPaths: Sequence[Any]
|
|
22
28
|
prefix: str
|
|
23
29
|
includeOverview: bool
|
|
30
|
+
includeBlockIndex: bool
|
|
24
31
|
maxMaps: int
|
|
25
32
|
|
|
26
33
|
class ReplayAPIListReplayRecordsQueryRequired(TypedDict):
|
|
@@ -32,6 +39,29 @@ class ReplayAPIListReplayRecordsQuery(ReplayAPIListReplayRecordsQueryRequired, t
|
|
|
32
39
|
pageSize: QueryValue
|
|
33
40
|
gamePrefix: QueryValue
|
|
34
41
|
|
|
42
|
+
class ReplayAPIGetFullDataCacheStatusBodyRequired(TypedDict):
|
|
43
|
+
recordIds: Sequence[Any]
|
|
44
|
+
|
|
45
|
+
class ReplayAPIGetFullDataCacheStatusBody(ReplayAPIGetFullDataCacheStatusBodyRequired, total=False):
|
|
46
|
+
includeDerived: bool
|
|
47
|
+
includeStates: bool
|
|
48
|
+
includeGroundContact: bool
|
|
49
|
+
groundSampleRate: int
|
|
50
|
+
groundMaxDistance: int
|
|
51
|
+
concurrency: int
|
|
52
|
+
|
|
53
|
+
class ReplayAPICreateFullDataJobBodyRequired(TypedDict):
|
|
54
|
+
recordIds: Sequence[Any]
|
|
55
|
+
|
|
56
|
+
class ReplayAPICreateFullDataJobBody(ReplayAPICreateFullDataJobBodyRequired, total=False):
|
|
57
|
+
includeDerived: bool
|
|
58
|
+
includeStates: bool
|
|
59
|
+
includeGroundContact: bool
|
|
60
|
+
groundSampleRate: int
|
|
61
|
+
groundMaxDistance: int
|
|
62
|
+
forceRefresh: bool
|
|
63
|
+
concurrency: int
|
|
64
|
+
|
|
35
65
|
class ReplayAPICreateVisualizationDataJobBody(TypedDict, total=False):
|
|
36
66
|
includeBlocks: bool
|
|
37
67
|
includeLandmarks: bool
|
|
@@ -119,6 +149,15 @@ class AdminPlayerDataAPISetRankLevelBodyRequired(TypedDict):
|
|
|
119
149
|
class AdminPlayerDataAPISetRankLevelBody(AdminPlayerDataAPISetRankLevelBodyRequired, total=False):
|
|
120
150
|
pass
|
|
121
151
|
|
|
152
|
+
class AdminPlayerMerchandiseAPIFindOwnersQueryRequired(TypedDict):
|
|
153
|
+
category: QueryValue
|
|
154
|
+
itemId: QueryValue
|
|
155
|
+
|
|
156
|
+
class AdminPlayerMerchandiseAPIFindOwnersQuery(AdminPlayerMerchandiseAPIFindOwnersQueryRequired, total=False):
|
|
157
|
+
data: QueryValue
|
|
158
|
+
current: QueryValue
|
|
159
|
+
pageSize: QueryValue
|
|
160
|
+
|
|
122
161
|
class AdminPlayerMerchandiseAPIListQuery(TypedDict, total=False):
|
|
123
162
|
category: QueryValue
|
|
124
163
|
itemId: QueryValue
|
|
@@ -844,11 +883,21 @@ class ECAPIError(Exception):
|
|
|
844
883
|
|
|
845
884
|
class ReplayAPI:
|
|
846
885
|
def cache_map_profiles(self, payload: ReplayAPICacheMapProfilesBody, **kwargs: Any) -> Any: ...
|
|
886
|
+
def create_full_data_job(self, payload: ReplayAPICreateFullDataJobBody, **kwargs: Any) -> Any: ...
|
|
847
887
|
def create_visualization_data_job(self, recordId: Union[int, float], payload: ReplayAPICreateVisualizationDataJobBody, **kwargs: Any) -> Any: ...
|
|
888
|
+
def download_full_data_record(self, jobId: str, recordId: Union[int, float], **kwargs: Any) -> Any: ...
|
|
889
|
+
def get_full_data(self, jobId: str, **kwargs: Any) -> Any: ...
|
|
890
|
+
def get_full_data_cache_status(self, payload: ReplayAPIGetFullDataCacheStatusBody, **kwargs: Any) -> Any: ...
|
|
891
|
+
def get_full_data_job(self, jobId: str, **kwargs: Any) -> Any: ...
|
|
892
|
+
def get_map_block_index(self, query: ReplayAPIGetMapBlockIndexQuery, **kwargs: Any) -> Any: ...
|
|
848
893
|
def get_map_profile(self, query: ReplayAPIGetMapProfileQuery, **kwargs: Any) -> Any: ...
|
|
849
894
|
def get_replay_record(self, recordId: Union[int, float], **kwargs: Any) -> Any: ...
|
|
895
|
+
def get_visualization_blocks_layer(self, jobId: str, **kwargs: Any) -> Any: ...
|
|
896
|
+
def get_visualization_core_data(self, jobId: str, **kwargs: Any) -> Any: ...
|
|
850
897
|
def get_visualization_data(self, jobId: str, **kwargs: Any) -> Any: ...
|
|
851
898
|
def get_visualization_data_job(self, jobId: str, **kwargs: Any) -> Any: ...
|
|
899
|
+
def get_visualization_equipment_layer(self, jobId: str, **kwargs: Any) -> Any: ...
|
|
900
|
+
def get_visualization_high_tracks_layer(self, jobId: str, **kwargs: Any) -> Any: ...
|
|
852
901
|
def list_replay_records(self, query: ReplayAPIListReplayRecordsQuery, **kwargs: Any) -> Any: ...
|
|
853
902
|
|
|
854
903
|
class AdminAPI:
|
|
@@ -902,6 +951,7 @@ class AdminPlayerDataAPI:
|
|
|
902
951
|
class AdminPlayerMerchandiseAPI:
|
|
903
952
|
def create(self, ecid: str, payload: AdminPlayerMerchandiseAPICreateBody, **kwargs: Any) -> Any: ...
|
|
904
953
|
def delete_one(self, ecid: str, category: str, itemId: str, **kwargs: Any) -> Any: ...
|
|
954
|
+
def find_owners(self, query: AdminPlayerMerchandiseAPIFindOwnersQuery, **kwargs: Any) -> Any: ...
|
|
905
955
|
def list(self, ecid: str, query: Optional[AdminPlayerMerchandiseAPIListQuery] = ..., **kwargs: Any) -> Any: ...
|
|
906
956
|
def update(self, ecid: str, category: str, itemId: str, payload: AdminPlayerMerchandiseAPIUpdateBody, **kwargs: Any) -> Any: ...
|
|
907
957
|
|
|
@@ -988,6 +1038,7 @@ class PlayerAPI:
|
|
|
988
1038
|
def get_last_played(self, ecid: str, query: Optional[PlayerAPIGetLastPlayedQuery] = ..., **kwargs: Any) -> Any: ...
|
|
989
1039
|
def get_online_duration(self, ecid: str, **kwargs: Any) -> Any: ...
|
|
990
1040
|
def get_skin(self, ecid: str, **kwargs: Any) -> Any: ...
|
|
1041
|
+
def get_skin_geometry_data(self, ecid: str, **kwargs: Any) -> Any: ...
|
|
991
1042
|
def get_stage_record(self, ecid: str, query: PlayerAPIGetStageRecordQuery, **kwargs: Any) -> Any: ...
|
|
992
1043
|
def get_wallet(self, ecid: str, **kwargs: Any) -> Any: ...
|
|
993
1044
|
def get_wallet_lots(self, ecid: str, query: Optional[PlayerAPIGetWalletLotsQuery] = ..., **kwargs: Any) -> Any: ...
|
|
@@ -1061,6 +1112,7 @@ class ServerEaseChatAPI:
|
|
|
1061
1112
|
def create_subscription(self, payload: ServerEaseChatAPICreateSubscriptionBody, **kwargs: Any) -> Any: ...
|
|
1062
1113
|
def delete_subscription(self, subscriptionId: Union[int, float], **kwargs: Any) -> Any: ...
|
|
1063
1114
|
def list_subscriptions(self, query: Optional[ServerEaseChatAPIListSubscriptionsQuery] = ..., **kwargs: Any) -> Any: ...
|
|
1115
|
+
def reconnect_ws(self, **kwargs: Any) -> Any: ...
|
|
1064
1116
|
def send_hlaba(self, payload: ServerEaseChatAPISendHlabaBody, **kwargs: Any) -> Any: ...
|
|
1065
1117
|
|
|
1066
1118
|
class ServerGamingTagAPI:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|