koishi-plugin-maichuni-scorehelper 0.0.11-test → 0.0.12-test

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.
@@ -118,6 +118,11 @@ class MaimaiStatus extends koishi_1.Service {
118
118
  }
119
119
  const list = heartbeatData.heartbeatList;
120
120
  if (!list) {
121
+ // 兼容直接返回 heartbeatList 的情况(某些部署可能直接返回对象)
122
+ if (heartbeatData && typeof heartbeatData === 'object' && !Array.isArray(heartbeatData)) {
123
+ this.clientLogger.warn('Heartbeat data missing heartbeatList, using raw object keys fallback.');
124
+ return await this.analyzeAndNotify(heartbeatData);
125
+ }
121
126
  this.clientLogger.warn('Heartbeat data format invalid: list missing', Object.keys(heartbeatData));
122
127
  return;
123
128
  }
@@ -294,7 +299,9 @@ class MaimaiStatus extends koishi_1.Service {
294
299
  try {
295
300
  data = JSON.parse(data);
296
301
  }
297
- catch {
302
+ catch (err) {
303
+ const snippet = data.slice(0, 200);
304
+ this.clientLogger.warn(`Heartbeat JSON parse failed: ${err.message}; snippet=${snippet}`);
298
305
  return null;
299
306
  }
300
307
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koishi-plugin-maichuni-scorehelper",
3
- "version": "0.0.11-test",
3
+ "version": "0.0.12-test",
4
4
  "description": "一个基础的 Koishi 插件,未来用于舞萌中二节奏分数辅助。",
5
5
  "keywords": [
6
6
  "koishi",
@@ -164,6 +164,11 @@ export class MaimaiStatus extends Service {
164
164
 
165
165
  const list = heartbeatData.heartbeatList
166
166
  if (!list) {
167
+ // 兼容直接返回 heartbeatList 的情况(某些部署可能直接返回对象)
168
+ if (heartbeatData && typeof heartbeatData === 'object' && !Array.isArray(heartbeatData)) {
169
+ this.clientLogger.warn('Heartbeat data missing heartbeatList, using raw object keys fallback.')
170
+ return await this.analyzeAndNotify(heartbeatData)
171
+ }
167
172
  this.clientLogger.warn('Heartbeat data format invalid: list missing', Object.keys(heartbeatData))
168
173
  return
169
174
  }
@@ -352,7 +357,9 @@ export class MaimaiStatus extends Service {
352
357
  if (typeof data === 'string') {
353
358
  try {
354
359
  data = JSON.parse(data)
355
- } catch {
360
+ } catch (err) {
361
+ const snippet = data.slice(0, 200)
362
+ this.clientLogger.warn(`Heartbeat JSON parse failed: ${(err as any).message}; snippet=${snippet}`)
356
363
  return null
357
364
  }
358
365
  }