mioku-plugin-terraria 2.0.2 → 2.0.3

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.
package/README.md CHANGED
@@ -8,15 +8,12 @@
8
8
  - **RCON 命令执行**:在群聊中以命令前缀(默认 `$`)开头的消息会被当作服务器命令执行,支持白名单
9
9
  - **多服务器支持**:可同时连接多台 Terraria 服务器,每台独立配置
10
10
  - **自动重连**:连接断开后按指数退避自动重连,可配置最大重试次数
11
+ - **过滤未知玩家**:默认不推送玩家名称缺失的事件,可在配置中关闭
11
12
 
12
13
  ## 服务端要求
13
14
 
14
15
  Terraria 服务器需安装 [TianSuo](https://github.com/Jerryplusy/TianSuo) TShock 插件
15
16
 
16
- ## 配置
17
-
18
- 通过 WebUI 配置页面管理
19
-
20
17
  ## 命令
21
18
 
22
19
  | 命令 | 描述 | 权限 |
package/config.md CHANGED
@@ -13,6 +13,11 @@ fields:
13
13
  type: switch
14
14
  description: 消息中是否显示服务器名称
15
15
 
16
+ - key: base.ignore_unknown_player
17
+ label: 不推送未知玩家信息
18
+ type: switch
19
+ description: 开启后,不推送玩家名称缺失的事件(如未知玩家加入、退出、聊天、死亡)
20
+
16
21
  - key: base.servers
17
22
  label: 服务器列表
18
23
  type: array
@@ -83,5 +88,6 @@ fields:
83
88
  keys:
84
89
  - base.say_way
85
90
  - base.display_server_name
91
+ - base.ignore_unknown_player
86
92
  - base.servers
87
93
  ```
package/index.ts CHANGED
@@ -154,6 +154,8 @@ async function handleTerrariaEvent(
154
154
  : undefined,
155
155
  };
156
156
 
157
+ if (!event.player?.name?.trim() && config.ignore_unknown_player) return;
158
+
157
159
  const messageText = formatTerrariaEvent(event, config);
158
160
  if (!messageText) return;
159
161
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mioku-plugin-terraria",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Terraria 服务器与 QQ 群消息互通插件,基于 TianSuo 协议",
5
5
  "main": "index.ts",
6
6
  "type": "module",
package/types.ts CHANGED
@@ -56,12 +56,14 @@ export interface TerrariaConfig {
56
56
  servers: TerrariaServerConfig[];
57
57
  say_way: string;
58
58
  display_server_name: boolean;
59
+ ignore_unknown_player: boolean;
59
60
  }
60
61
 
61
62
  export const DEFAULT_CONFIG: TerrariaConfig = {
62
63
  servers: [],
63
64
  say_way: "说:",
64
65
  display_server_name: true,
66
+ ignore_unknown_player: true,
65
67
  };
66
68
 
67
69
  export function normalizeConfig(raw: Partial<TerrariaConfig>): TerrariaConfig {
@@ -103,5 +105,9 @@ export function normalizeConfig(raw: Partial<TerrariaConfig>): TerrariaConfig {
103
105
  typeof raw.display_server_name === "boolean"
104
106
  ? raw.display_server_name
105
107
  : DEFAULT_CONFIG.display_server_name,
108
+ ignore_unknown_player:
109
+ typeof raw.ignore_unknown_player === "boolean"
110
+ ? raw.ignore_unknown_player
111
+ : DEFAULT_CONFIG.ignore_unknown_player,
106
112
  };
107
113
  }