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.
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/PKG-INFO +24 -3
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/SOURCES.txt +1 -0
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/OneBotAdapter/Converter.py +14 -14
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/OneBotAdapter/Core.py +428 -499
- erispulse_onebot11adapter-4.3.0/OneBotAdapter/__init__.py +3 -0
- erispulse_onebot11adapter-4.3.0/OneBotAdapter/i18n.py +92 -0
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/PKG-INFO +24 -3
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/README.md +23 -2
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/pyproject.toml +11 -2
- erispulse_onebot11adapter-4.1.2/OneBotAdapter/__init__.py +0 -1
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/dependency_links.txt +0 -0
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/entry_points.txt +0 -0
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/requires.txt +0 -0
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/ErisPulse_OneBot11Adapter.egg-info/top_level.txt +0 -0
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/LICENSE +0 -0
- {erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/setup.cfg +0 -0
- {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.
|
|
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
|
-
|
|
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
|
-
-
|
|
424
|
+
- 主动连接到任意 OneBot V11 协议服务端。
|
|
404
425
|
- 更适合单个 bot 实例直接连接的情况。
|
|
405
426
|
- 支持自动重连机制。
|
|
406
427
|
|
{erispulse_onebot11adapter-4.1.2 → erispulse_onebot11adapter-4.3.0}/OneBotAdapter/Converter.py
RENAMED
|
@@ -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
|
-
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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)
|