nonebot-plugin-nodejsphira 0.1.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.
@@ -0,0 +1,5 @@
1
+ __pycache__/
2
+ *.pyc
3
+ .env*
4
+ .vscode/
5
+ .idea/
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 chuzouX
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,94 @@
1
+ Metadata-Version: 2.4
2
+ Name: nonebot-plugin-nodejsphira
3
+ Version: 0.1.0
4
+ Summary: Phira Server Manager plugin for NoneBot2
5
+ Project-URL: Homepage, https://github.com/chuzouX/nonebot_plugin_nodejsphira
6
+ Project-URL: Repository, https://github.com/chuzouX/nonebot_plugin_nodejsphira
7
+ Author: chuzouX
8
+ License-File: LICENSE
9
+ Requires-Python: >=3.10
10
+ Requires-Dist: cryptography>=46.0.4
11
+ Requires-Dist: httpx>=0.28.1
12
+ Requires-Dist: nonebot-plugin-htmlrender>=0.3.6
13
+ Requires-Dist: nonebot2>=2.4.4
14
+ Description-Content-Type: text/markdown
15
+
16
+ # nonebot-plugin-nodejsphira
17
+
18
+ ✨ **Phira 游戏服务器管理与监控插件** ✨
19
+
20
+ 适用于 NoneBot2 的 Phira Multiplayer (Node.js 版) 后端管理插件。提供实时的房间查询、网页截图监控、服务器节点状态查看以及完整的管理员远程控制功能。
21
+
22
+ ## 📖 功能介绍
23
+
24
+ - **多维度房间查询**:支持纯文本列表展示及高清网页长截图(PC/移动端布局)。
25
+ - **实时状态监控**:一键获取 Phira 服务器各节点的运行状态。
26
+ - **动态鉴权管理**:集成 AES-256-CBC 动态加密算法,安全对接管理接口。
27
+ - **全方位行政指令**:支持广播、踢人、强制开始、切换锁定、修改人数上限、关闭房间等。
28
+ - **权限智能感知**:帮助菜单根据用户权限(SUPERUSERS)动态显示指令。
29
+
30
+ ## 💿 安装方法
31
+
32
+ 推荐使用 `nb-cli` 进行安装:
33
+
34
+ ```bash
35
+ nb plugin install nonebot-plugin-nodejsphira
36
+ ```
37
+
38
+ 或者使用 `pip` 安装后手动加载:
39
+
40
+ ```bash
41
+ pip install nonebot-plugin-nodejsphira
42
+ ```
43
+
44
+ 并在 `pyproject.toml` 或 `bot.py` 中加载插件:
45
+ ```toml
46
+ plugins = ["nonebot_plugin_nodejsphira"]
47
+ ```
48
+
49
+ > **注意**:本插件依赖 `nonebot-plugin-htmlrender` 进行网页截图。安装后请务必执行以下命令安装浏览器内核:
50
+ > ```bash
51
+ > playwright install chromium
52
+ > ```
53
+
54
+ ## ⚙️ 插件配置项
55
+
56
+ 在机器人的 `.env` 文件中添加以下配置:
57
+
58
+ | 配置项 | 类型 | 默认值 | 说明 |
59
+ | :--- | :--- | :--- | :--- |
60
+ | `PHIRA_API_URL` | str | `https://phira.chuzoux.top` | Phira 服务器 API 基础地址 |
61
+ | `PHIRA_STATUS_PAGE_URL` | str | `.../status/phira` | Phira 状态页截图地址 |
62
+ | `PHIRA_ADMIN_SECRET` | str | 无 | **必填**。服务器端设置的 ADMIN_SECRET |
63
+ | `SUPERUSERS` | list | `[]` | 机器人管理员列表 (OpenID),拥有管理指令权限 |
64
+
65
+ ## 🎮 触发规则
66
+
67
+ ### 基础指令 (所有用户)
68
+ - `/room` : 获取服务器房间概览列表 (纯文本,包含房主及玩家)。
69
+ - `/room {id}` : 查询指定房间的详细玩家名单及状态 (纯文本)。
70
+ - `/proom` : 以移动端尺寸获取房间列表的网页长截图。
71
+ - `/proom {id}` : 获取指定房间详情的网页截图 (PC布局)。
72
+ - `/status` : 获取 Phira 服务器运行状态图。
73
+ - `/ping` : 查看机器人在线状态及当前用户权限。
74
+ - `/help` : 显示帮助菜单。
75
+
76
+ ### 管理指令 (仅 SUPERUSERS)
77
+ - `/players` : 列出全服所有房间内的在线玩家。
78
+ - `/broadcast "内容" [#ID]` : 向全服或指定房间发送系统广播。
79
+ - `/kick {UID}` : 强制将指定 ID 的玩家移出服务器。
80
+ - `/fstart {RID}` : 强制开始指定房间的游戏。
81
+ - `/lock {RID}` : 切换房间的锁定/解锁状态。
82
+ - `/maxp {RID} {人数}` : 修改指定房间的人数上限。
83
+ - `/close {RID}` : 强制解散并关闭指定房间。
84
+
85
+ ## 🛠️ 其它用法
86
+
87
+ ### 视觉缩放说明
88
+ 插件默认开启了 **125% 的视觉缩放** 以及 **2.0 的像素密度**,确保生成的截图在手机端查看时,文字清晰且布局紧凑。
89
+
90
+ ### 动态鉴权
91
+ 管理指令会自动读取 `PHIRA_ADMIN_SECRET` 并生成当日有效的加密串。请确保机器人服务器的系统时间准确,否则会导致鉴权失败。
92
+
93
+ ## 📝 许可证
94
+ MIT
@@ -0,0 +1,79 @@
1
+ # nonebot-plugin-nodejsphira
2
+
3
+ ✨ **Phira 游戏服务器管理与监控插件** ✨
4
+
5
+ 适用于 NoneBot2 的 Phira Multiplayer (Node.js 版) 后端管理插件。提供实时的房间查询、网页截图监控、服务器节点状态查看以及完整的管理员远程控制功能。
6
+
7
+ ## 📖 功能介绍
8
+
9
+ - **多维度房间查询**:支持纯文本列表展示及高清网页长截图(PC/移动端布局)。
10
+ - **实时状态监控**:一键获取 Phira 服务器各节点的运行状态。
11
+ - **动态鉴权管理**:集成 AES-256-CBC 动态加密算法,安全对接管理接口。
12
+ - **全方位行政指令**:支持广播、踢人、强制开始、切换锁定、修改人数上限、关闭房间等。
13
+ - **权限智能感知**:帮助菜单根据用户权限(SUPERUSERS)动态显示指令。
14
+
15
+ ## 💿 安装方法
16
+
17
+ 推荐使用 `nb-cli` 进行安装:
18
+
19
+ ```bash
20
+ nb plugin install nonebot-plugin-nodejsphira
21
+ ```
22
+
23
+ 或者使用 `pip` 安装后手动加载:
24
+
25
+ ```bash
26
+ pip install nonebot-plugin-nodejsphira
27
+ ```
28
+
29
+ 并在 `pyproject.toml` 或 `bot.py` 中加载插件:
30
+ ```toml
31
+ plugins = ["nonebot_plugin_nodejsphira"]
32
+ ```
33
+
34
+ > **注意**:本插件依赖 `nonebot-plugin-htmlrender` 进行网页截图。安装后请务必执行以下命令安装浏览器内核:
35
+ > ```bash
36
+ > playwright install chromium
37
+ > ```
38
+
39
+ ## ⚙️ 插件配置项
40
+
41
+ 在机器人的 `.env` 文件中添加以下配置:
42
+
43
+ | 配置项 | 类型 | 默认值 | 说明 |
44
+ | :--- | :--- | :--- | :--- |
45
+ | `PHIRA_API_URL` | str | `https://phira.chuzoux.top` | Phira 服务器 API 基础地址 |
46
+ | `PHIRA_STATUS_PAGE_URL` | str | `.../status/phira` | Phira 状态页截图地址 |
47
+ | `PHIRA_ADMIN_SECRET` | str | 无 | **必填**。服务器端设置的 ADMIN_SECRET |
48
+ | `SUPERUSERS` | list | `[]` | 机器人管理员列表 (OpenID),拥有管理指令权限 |
49
+
50
+ ## 🎮 触发规则
51
+
52
+ ### 基础指令 (所有用户)
53
+ - `/room` : 获取服务器房间概览列表 (纯文本,包含房主及玩家)。
54
+ - `/room {id}` : 查询指定房间的详细玩家名单及状态 (纯文本)。
55
+ - `/proom` : 以移动端尺寸获取房间列表的网页长截图。
56
+ - `/proom {id}` : 获取指定房间详情的网页截图 (PC布局)。
57
+ - `/status` : 获取 Phira 服务器运行状态图。
58
+ - `/ping` : 查看机器人在线状态及当前用户权限。
59
+ - `/help` : 显示帮助菜单。
60
+
61
+ ### 管理指令 (仅 SUPERUSERS)
62
+ - `/players` : 列出全服所有房间内的在线玩家。
63
+ - `/broadcast "内容" [#ID]` : 向全服或指定房间发送系统广播。
64
+ - `/kick {UID}` : 强制将指定 ID 的玩家移出服务器。
65
+ - `/fstart {RID}` : 强制开始指定房间的游戏。
66
+ - `/lock {RID}` : 切换房间的锁定/解锁状态。
67
+ - `/maxp {RID} {人数}` : 修改指定房间的人数上限。
68
+ - `/close {RID}` : 强制解散并关闭指定房间。
69
+
70
+ ## 🛠️ 其它用法
71
+
72
+ ### 视觉缩放说明
73
+ 插件默认开启了 **125% 的视觉缩放** 以及 **2.0 的像素密度**,确保生成的截图在手机端查看时,文字清晰且布局紧凑。
74
+
75
+ ### 动态鉴权
76
+ 管理指令会自动读取 `PHIRA_ADMIN_SECRET` 并生成当日有效的加密串。请确保机器人服务器的系统时间准确,否则会导致鉴权失败。
77
+
78
+ ## 📝 许可证
79
+ MIT
@@ -0,0 +1,29 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "nonebot-plugin-nodejsphira"
7
+ version = "0.1.0"
8
+ description = "Phira Server Manager plugin for NoneBot2"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ authors = [
12
+ { name = "chuzouX" },
13
+ ]
14
+ dependencies = [
15
+ "nonebot2>=2.4.4",
16
+ "httpx>=0.28.1",
17
+ "cryptography>=46.0.4",
18
+ "nonebot-plugin-htmlrender>=0.3.6",
19
+ ]
20
+
21
+ [project.urls]
22
+ Homepage = "https://github.com/chuzouX/nonebot_plugin_nodejsphira"
23
+ Repository = "https://github.com/chuzouX/nonebot_plugin_nodejsphira"
24
+
25
+ [tool.hatch.build.targets.sdist]
26
+ include = ["/nonebot_plugin_nodejsphira"]
27
+
28
+ [tool.hatch.build.targets.wheel]
29
+ packages = ["nonebot_plugin_nodejsphira"]