qqbotsdk-base-py 2.2.0__tar.gz → 2.2.1__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.
Files changed (19) hide show
  1. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/PKG-INFO +1 -1
  2. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/pyproject.toml +1 -1
  3. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/pyproject.toml.orig +1 -1
  4. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/api/core.py +13 -7
  5. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/README.md +0 -0
  6. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/api/agent.md +0 -0
  7. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/api/auth.py +0 -0
  8. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/api/gateway.py +0 -0
  9. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/errors/__init__.py +0 -0
  10. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/errors/codes.py +0 -0
  11. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/model/agent.md +0 -0
  12. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/model/core.py +0 -0
  13. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/model/sub/messages.py +0 -0
  14. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/model/sub/upload.py +0 -0
  15. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/ws/__init__.py +0 -0
  16. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/ws/agent.md +0 -0
  17. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/ws/client.py +0 -0
  18. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/ws/intents.py +0 -0
  19. {qqbotsdk_base_py-2.2.0 → qqbotsdk_base_py-2.2.1}/src/qqbotsdk/ws/payload.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: qqbotsdk-base-py
3
- Version: 2.2.0
3
+ Version: 2.2.1
4
4
  Summary: QQ 官方机器人 SDK 基座包:模型基类、共享消息模型与 HTTP 会话
5
5
  Author: snowy-yang
6
6
  Author-email: snowy-yang <102860110+snowy-yang@users.noreply.github.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "qqbotsdk-base-py"
3
- version = "2.2.0"
3
+ version = "2.2.1"
4
4
  description = "QQ 官方机器人 SDK 基座包:模型基类、共享消息模型与 HTTP 会话"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "qqbotsdk-base-py"
3
- version = "2.2.0"
3
+ version = "2.2.1"
4
4
  description = "QQ 官方机器人 SDK 基座包:模型基类、共享消息模型与 HTTP 会话"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -414,8 +414,8 @@ class QQBotSession:
414
414
  """底层 aiohttp 会话, 供 WebSocket 等需要原生能力的场景使用."""
415
415
  return self._ensure()
416
416
 
417
- async def request(self, method: str, url: str, **kwargs: Any) -> ClientResponse:
418
- """通用 verb 请求: 与 ``get`` / ``post`` 等完全同构, 同样走 429 重试.
417
+ def request(self, method: str, url: str, **kwargs: Any) -> _RetryingRequestContext:
418
+ """通用 verb 请求: 与 ``get`` / ``post`` 等**完全同构**, 同样走 429 重试.
419
419
 
420
420
  ``method`` 可以是任意 HTTP verb, 便于按配置分发。行为与
421
421
  ``get`` / ``post`` / ``put`` / ``patch`` / ``delete`` 一致:
@@ -423,16 +423,22 @@ class QQBotSession:
423
423
  - 命中 HTTP 429 时按 ``Retry-After`` / 指数退避自动重试, 最多
424
424
  ``MAX_RETRIES`` 次;
425
425
  - 非 2xx 抛 :class:`qqbotsdk.errors.QQBotAPIError`(OpenAPI 域名下);
426
- - 返回的响应**未**读取 body, 调用方自己 ``await resp.json()`` 或
427
- ``await resp.read()``, 用完由本方法的上下文管理器释放连接::
426
+ - 返回可重试的请求上下文, 两种写法都支持::
428
427
 
428
+ # 推荐: 由上下文管理器负责释放连接
429
429
  async with session.request("GET", "/users/@me") as resp:
430
430
  data = await resp.json()
431
431
 
432
- 注意: 直接 ``await session.request(...)`` 拿到的响应不会自动释放,
433
- 与 aiohttp 原生语义一致, 建议一律用 ``async with``.
432
+ # 等价: 直接 await
433
+ resp = await session.request("GET", "/users/@me")
434
+
435
+ 注意: 直接 ``await`` 拿到的响应不会自动释放, 与 aiohttp 原生语义一致,
436
+ 建议一律用 ``async with``.
437
+
438
+ 本方法刻意写成普通 ``def`` 而不是 ``async def``: 后者返回协程, 会让
439
+ ``async with`` 直接抛 ``TypeError``, 与其它 verb 方法不一致.
434
440
  """
435
- return await self._request_context(method, url, **kwargs)
441
+ return self._request_context(method, url, **kwargs)
436
442
 
437
443
  @property
438
444
  def closed(self) -> bool: