ErisPulse-OneBot11Adapter 4.1.2__tar.gz → 4.3.0__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 (17) hide show
  1. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/PKG-INFO +24 -3
  2. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/SOURCES.txt +1 -0
  3. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/OneBotAdapter/Converter.py +14 -14
  4. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/OneBotAdapter/Core.py +428 -499
  5. erispulse_onebot11adapter-4.3.0/OneBotAdapter/__init__.py +3 -0
  6. erispulse_onebot11adapter-4.3.0/OneBotAdapter/i18n.py +92 -0
  7. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/PKG-INFO +24 -3
  8. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/README.md +23 -2
  9. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/pyproject.toml +11 -2
  10. erispulse_onebot11adapter-4.1.2/OneBotAdapter/__init__.py +0 -1
  11. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/dependency_links.txt +0 -0
  12. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/entry_points.txt +0 -0
  13. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/requires.txt +0 -0
  14. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/top_level.txt +0 -0
  15. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/LICENSE +0 -0
  16. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/setup.cfg +0 -0
  17. {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/test/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ErisPulse-OneBot11Adapter
3
- Version: 4.1.2
3
+ Version: 4.3.0
4
4
  Summary: ErisPulse的OneBotV11协议适配模块,异步的OneBot触发器
5
5
  Author-email: wsu2059q <wsu2059@qq.com>
6
6
  License: MIT License
@@ -32,7 +32,28 @@ License-File: LICENSE
32
32
  Requires-Dist: filetype>=1.2.0
33
33
  Dynamic: license-file
34
34
 
35
- # OneBotAdapter 模块文档
35
+ <div align="center">
36
+
37
+ <img src=".github/assets/ErisPulseLogo.png" width="180" alt="ErisPulse OneBot11Adapter" />
38
+
39
+ # ErisPulse OneBot11Adapter
40
+
41
+ **OneBot V11 协议适配器 —— 兼容任意 OneBot V11 协议实现。**
42
+
43
+ 基于 ErisPulse 架构的 OneBot V11 协议适配器模块,提供统一的事件处理机制与连接管理,支持 Server(被动接收)与 Client(主动连接)双模式及多账户配置。
44
+
45
+ <p>
46
+ <a href="https://pypi.org/project/ErisPulse-OneBot11Adapter/"><img src="https://img.shields.io/pypi/v/ErisPulse-OneBot11Adapter?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"></a>
47
+ <a href="https://pypi.org/project/ErisPulse-OneBot11Adapter/"><img src="https://img.shields.io/badge/Python-3.10+-FFD43B?style=for-the-badge&logo=python&logoColor=blue" alt="Python"></a>
48
+ <a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue?style=for-the-badge" alt="License"></a>
49
+ <a href="https://github.com/ErisPulse/ErisPulse-OneBot11Adapter"><img src="https://img.shields.io/github/stars/ErisPulse/ErisPulse-OneBot11Adapter?style=for-the-badge&logo=github&color=brightgreen" alt="Stars"></a>
50
+ <a href="https://pepy.tech/project/ErisPulse-OneBot11Adapter"><img src="https://img.shields.io/pepy/dt/ErisPulse-OneBot11Adapter?style=for-the-badge&color=blue" alt="Downloads"></a>
51
+ <a href="https://github.com/ErisPulse/ErisPulse"><img src="https://img.shields.io/badge/Powered_by-ErisPulse-FF6B9D?style=for-the-badge&logo=bookstack&logoColor=white" alt="ErisPulse"></a>
52
+ </p>
53
+
54
+ </div>
55
+
56
+ ---
36
57
 
37
58
  ## 简介
38
59
  OneBotAdapter 是基于 [ErisPulse](https://github.com/ErisPulse/ErisPulse/) 架构开发的 **OneBot V11 协议适配器模块**。它提供统一的事件处理机制、连接管理功能,并支持 Server 和 Connect 两种运行模式。
@@ -400,7 +421,7 @@ for name, account in onebot.accounts.items():
400
421
 
401
422
  ### Client 模式(主动连接 OneBot)
402
423
 
403
- - 主动连接到 OneBot 服务(如 go-cqhttp)。
424
+ - 主动连接到任意 OneBot V11 协议服务端。
404
425
  - 更适合单个 bot 实例直接连接的情况。
405
426
  - 支持自动重连机制。
406
427
 
@@ -10,4 +10,5 @@ ErisPulse_OneBot11Adapter.egg-info/top_level.txt
10
10
  OneBotAdapter/Converter.py
11
11
  OneBotAdapter/Core.py
12
12
  OneBotAdapter/__init__.py
13
+ OneBotAdapter/i18n.py
13
14
  test/test.py
@@ -15,18 +15,25 @@ import time
15
15
  import uuid
16
16
  from typing import Dict, Optional, List, Any
17
17
 
18
+ from ErisPulse.Core.Bases import BaseConverter
18
19
 
19
- class OneBot11Converter:
20
+
21
+ class OneBot11Converter(BaseConverter):
20
22
  """
21
23
  OneBot11 → ErisPulse 事件转换器
22
24
 
25
+ 继承 BaseConverter,公共字段(id/time/platform/self/{platform}_raw)由
26
+ build_base_event 构建后按 OB11 字段名(echo/time/self_id)覆盖。
27
+
23
28
  {!--< tips >!--}
24
29
  1. 消息事件会解析 CQ 码并转换为 OB12 消息段格式
25
30
  2. 通知事件会映射到统一的 detail_type 命名
31
+ 3. platform 参数支持子类(如 SnowLuma)复用 OB11 协议转换
26
32
  {!--< /tips >!--}
27
33
  """
28
34
 
29
- def __init__(self):
35
+ def __init__(self, platform: str = "onebot11"):
36
+ super().__init__(platform=platform)
30
37
  self._setup_event_mapping()
31
38
 
32
39
  def _setup_event_mapping(self):
@@ -76,18 +83,11 @@ class OneBot11Converter:
76
83
  if post_type not in self.event_map:
77
84
  return None
78
85
 
79
- # 基础事件结构
80
- onebot_event = {
81
- "id": str(raw_event.get("echo", str(uuid.uuid4()))),
82
- "time": self._convert_timestamp(raw_event.get("time", int(time.time()))),
83
- "platform": "onebot11",
84
- "self": {
85
- "platform": "onebot11",
86
- "user_id": str(raw_event.get("self_id", "")),
87
- },
88
- "onebot11_raw": raw_event, # 保留原始数据
89
- "onebot11_raw_type": post_type, # 原始事件类型字段
90
- }
86
+ # 基础事件结构(BaseConverter 提供骨架,按 OB11 字段名覆盖)
87
+ onebot_event = self.build_base_event(raw_event, post_type)
88
+ onebot_event["id"] = str(raw_event.get("echo", str(uuid.uuid4())))
89
+ onebot_event["time"] = self._convert_timestamp(raw_event.get("time", int(time.time())))
90
+ onebot_event["self"]["user_id"] = str(raw_event.get("self_id", ""))
91
91
 
92
92
  # 根据事件类型分发处理
93
93
  handler = getattr(self, f"_handle_{post_type}", None)