@tiktool/live 2.12.1 → 2.12.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/dist/index.mjs CHANGED
@@ -9,9 +9,9 @@ var __commonJS = (cb, mod) => function __require2() {
9
9
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
10
  };
11
11
 
12
- // ../../../node_modules/ms/index.js
12
+ // node_modules/ms/index.js
13
13
  var require_ms = __commonJS({
14
- "../../../node_modules/ms/index.js"(exports, module) {
14
+ "node_modules/ms/index.js"(exports, module) {
15
15
  "use strict";
16
16
  var s = 1e3;
17
17
  var m = s * 60;
@@ -126,9 +126,9 @@ var require_ms = __commonJS({
126
126
  }
127
127
  });
128
128
 
129
- // ../../../node_modules/debug/src/common.js
129
+ // node_modules/debug/src/common.js
130
130
  var require_common = __commonJS({
131
- "../../../node_modules/debug/src/common.js"(exports, module) {
131
+ "node_modules/debug/src/common.js"(exports, module) {
132
132
  "use strict";
133
133
  function setup(env) {
134
134
  createDebug.debug = createDebug;
@@ -304,9 +304,9 @@ var require_common = __commonJS({
304
304
  }
305
305
  });
306
306
 
307
- // ../../../node_modules/debug/src/browser.js
307
+ // node_modules/debug/src/browser.js
308
308
  var require_browser = __commonJS({
309
- "../../../node_modules/debug/src/browser.js"(exports, module) {
309
+ "node_modules/debug/src/browser.js"(exports, module) {
310
310
  "use strict";
311
311
  exports.formatArgs = formatArgs;
312
312
  exports.save = save;
@@ -475,9 +475,9 @@ var require_browser = __commonJS({
475
475
  }
476
476
  });
477
477
 
478
- // ../../../../node_modules/has-flag/index.js
478
+ // ../../node_modules/has-flag/index.js
479
479
  var require_has_flag = __commonJS({
480
- "../../../../node_modules/has-flag/index.js"(exports, module) {
480
+ "../../node_modules/has-flag/index.js"(exports, module) {
481
481
  "use strict";
482
482
  module.exports = (flag, argv = process.argv) => {
483
483
  const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
@@ -488,9 +488,9 @@ var require_has_flag = __commonJS({
488
488
  }
489
489
  });
490
490
 
491
- // ../../../../node_modules/supports-color/index.js
491
+ // ../../node_modules/supports-color/index.js
492
492
  var require_supports_color = __commonJS({
493
- "../../../../node_modules/supports-color/index.js"(exports, module) {
493
+ "../../node_modules/supports-color/index.js"(exports, module) {
494
494
  "use strict";
495
495
  var os = __require("os");
496
496
  var tty = __require("tty");
@@ -590,9 +590,9 @@ var require_supports_color = __commonJS({
590
590
  }
591
591
  });
592
592
 
593
- // ../../../node_modules/debug/src/node.js
593
+ // node_modules/debug/src/node.js
594
594
  var require_node = __commonJS({
595
- "../../../node_modules/debug/src/node.js"(exports, module) {
595
+ "node_modules/debug/src/node.js"(exports, module) {
596
596
  "use strict";
597
597
  var tty = __require("tty");
598
598
  var util = __require("util");
@@ -765,9 +765,9 @@ var require_node = __commonJS({
765
765
  }
766
766
  });
767
767
 
768
- // ../../../node_modules/debug/src/index.js
768
+ // node_modules/debug/src/index.js
769
769
  var require_src = __commonJS({
770
- "../../../node_modules/debug/src/index.js"(exports, module) {
770
+ "node_modules/debug/src/index.js"(exports, module) {
771
771
  "use strict";
772
772
  if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
773
773
  module.exports = require_browser();
@@ -777,9 +777,9 @@ var require_src = __commonJS({
777
777
  }
778
778
  });
779
779
 
780
- // ../../../node_modules/agent-base/dist/helpers.js
780
+ // node_modules/agent-base/dist/helpers.js
781
781
  var require_helpers = __commonJS({
782
- "../../../node_modules/agent-base/dist/helpers.js"(exports) {
782
+ "node_modules/agent-base/dist/helpers.js"(exports) {
783
783
  "use strict";
784
784
  var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
785
785
  if (k2 === void 0) k2 = k;
@@ -847,9 +847,9 @@ var require_helpers = __commonJS({
847
847
  }
848
848
  });
849
849
 
850
- // ../../../node_modules/agent-base/dist/index.js
850
+ // node_modules/agent-base/dist/index.js
851
851
  var require_dist = __commonJS({
852
- "../../../node_modules/agent-base/dist/index.js"(exports) {
852
+ "node_modules/agent-base/dist/index.js"(exports) {
853
853
  "use strict";
854
854
  var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
855
855
  if (k2 === void 0) k2 = k;
@@ -1003,9 +1003,9 @@ var require_dist = __commonJS({
1003
1003
  }
1004
1004
  });
1005
1005
 
1006
- // ../../../node_modules/https-proxy-agent/dist/parse-proxy-response.js
1006
+ // node_modules/https-proxy-agent/dist/parse-proxy-response.js
1007
1007
  var require_parse_proxy_response = __commonJS({
1008
- "../../../node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports) {
1008
+ "node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports) {
1009
1009
  "use strict";
1010
1010
  var __importDefault = exports && exports.__importDefault || function(mod) {
1011
1011
  return mod && mod.__esModule ? mod : { "default": mod };
@@ -1099,9 +1099,9 @@ var require_parse_proxy_response = __commonJS({
1099
1099
  }
1100
1100
  });
1101
1101
 
1102
- // ../../../node_modules/https-proxy-agent/dist/index.js
1102
+ // node_modules/https-proxy-agent/dist/index.js
1103
1103
  var require_dist2 = __commonJS({
1104
- "../../../node_modules/https-proxy-agent/dist/index.js"(exports) {
1104
+ "node_modules/https-proxy-agent/dist/index.js"(exports) {
1105
1105
  "use strict";
1106
1106
  var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
1107
1107
  if (k2 === void 0) k2 = k;
@@ -2209,6 +2209,7 @@ var TikTokLive = class _TikTokLive extends EventEmitter {
2209
2209
  }
2210
2210
  } else {
2211
2211
  console.log(`[TikTokLive] No presets for @${this.uniqueId}. Resolving via sign server (${this.signServerUrl})...`);
2212
+ let confirmedOffline = false;
2212
2213
  try {
2213
2214
  const roomResp = await fetch(`${this.signServerUrl}/webcast/room_id`, {
2214
2215
  method: "POST",
@@ -2218,7 +2219,10 @@ var TikTokLive = class _TikTokLive extends EventEmitter {
2218
2219
  console.log(`[TikTokLive] room_id response: ${roomResp.status}`);
2219
2220
  if (roomResp.ok) {
2220
2221
  const roomData = await roomResp.json();
2221
- if (roomData.status_code === 0 && roomData.data?.room_id) {
2222
+ if (roomData.status_code === 0 && roomData.data?.room_id && roomData.data.alive === false) {
2223
+ confirmedOffline = true;
2224
+ console.log(`[TikTokLive] @${this.uniqueId} resolved to ended room ${roomData.data.room_id} (alive:false)`);
2225
+ } else if (roomData.status_code === 0 && roomData.data?.room_id) {
2222
2226
  roomId = roomData.data.room_id;
2223
2227
  console.log(`[TikTokLive] \xE2\u0153\u2026 Got roomId from sign server: ${roomId}`);
2224
2228
  } else {
@@ -2228,6 +2232,7 @@ var TikTokLive = class _TikTokLive extends EventEmitter {
2228
2232
  } catch (e) {
2229
2233
  console.log(`[TikTokLive] \xE2\x9D\u0152 room_id request failed: ${e.message}`);
2230
2234
  }
2235
+ if (confirmedOffline) throw new Error(`User @${this.uniqueId} is not currently live`);
2231
2236
  if (roomId) {
2232
2237
  try {
2233
2238
  const credResp = await fetch(`${this.signServerUrl}/webcast/ws_credentials`, {
@@ -2594,8 +2599,12 @@ var TikTokLive = class _TikTokLive extends EventEmitter {
2594
2599
  * Resolve unknown host user IDs via the sign server API.
2595
2600
  * Caches results and re-emits the battleArmies event with enriched hostUser data.
2596
2601
  */
2602
+ // Set once the sign server refuses host resolution for this key (tier below
2603
+ // Basic answers 403). Before this, every battle frame retried and filled the
2604
+ // customer's API log with 403s they never asked for.
2605
+ _hostResolveUnavailable = false;
2597
2606
  async resolveHostUsers(userIds, originalEvt) {
2598
- const toResolve = userIds.filter((id) => !this._pendingHostResolves.has(id));
2607
+ const toResolve = this._hostResolveUnavailable ? [] : userIds.filter((id) => !this._pendingHostResolves.has(id));
2599
2608
  if (toResolve.length === 0) {
2600
2609
  this.emit("event", originalEvt);
2601
2610
  this.emit(originalEvt.type, originalEvt);
@@ -2613,7 +2622,9 @@ var TikTokLive = class _TikTokLive extends EventEmitter {
2613
2622
  body: JSON.stringify({ user_ids: toResolve }),
2614
2623
  signal: AbortSignal.timeout(5e3)
2615
2624
  });
2616
- if (res.ok) {
2625
+ if (res.status === 401 || res.status === 403) {
2626
+ this._hostResolveUnavailable = true;
2627
+ } else if (res.ok) {
2617
2628
  const json = await res.json();
2618
2629
  if (json.data) {
2619
2630
  for (const [uid, info] of Object.entries(json.data)) {