koishi-plugin-warframe 1.6.5 → 1.6.7
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/lib/index.d.ts +170 -135
- package/lib/index.js +278 -217
- package/lib/index.tsbuildinfo +1 -1
- package/package.json +10 -10
- /package/lib/{assets → warframe/assets}/arbyRewards.json +0 -0
- /package/lib/{assets → warframe/assets}/arbys.txt +0 -0
- /package/lib/{assets → warframe/assets}/baro.txt +0 -0
- /package/lib/{assets → warframe/assets}/baroParsed.json +0 -0
- /package/lib/{assets → warframe/assets}/circuitRewards.json +0 -0
- /package/lib/{assets → warframe/assets}/en.json +0 -0
- /package/lib/{assets → warframe/assets}/rivenAttrValues.json +0 -0
- /package/lib/{assets → warframe/assets}/rivencalc.json +0 -0
- /package/lib/{assets → warframe/assets}/warframeAlias.json +0 -0
- /package/lib/{assets → warframe/assets}/zh.json +0 -0
package/lib/index.js
CHANGED
|
@@ -156,7 +156,7 @@ var require_DLList = __commonJS({
|
|
|
156
156
|
var require_Events = __commonJS({
|
|
157
157
|
"node_modules/bottleneck/lib/Events.js"(exports2, module2) {
|
|
158
158
|
"use strict";
|
|
159
|
-
function asyncGeneratorStep2(gen,
|
|
159
|
+
function asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
160
160
|
try {
|
|
161
161
|
var info = gen[key](arg);
|
|
162
162
|
var value = info.value;
|
|
@@ -165,7 +165,7 @@ var require_Events = __commonJS({
|
|
|
165
165
|
return;
|
|
166
166
|
}
|
|
167
167
|
if (info.done) {
|
|
168
|
-
|
|
168
|
+
resolve3(value);
|
|
169
169
|
} else {
|
|
170
170
|
Promise.resolve(value).then(_next, _throw);
|
|
171
171
|
}
|
|
@@ -174,14 +174,14 @@ var require_Events = __commonJS({
|
|
|
174
174
|
function _asyncToGenerator2(fn) {
|
|
175
175
|
return function() {
|
|
176
176
|
var self2 = this, args = arguments;
|
|
177
|
-
return new Promise(function(
|
|
177
|
+
return new Promise(function(resolve3, reject) {
|
|
178
178
|
var gen = fn.apply(self2, args);
|
|
179
179
|
function _next(value) {
|
|
180
|
-
asyncGeneratorStep2(gen,
|
|
180
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "next", value);
|
|
181
181
|
}
|
|
182
182
|
__name(_next, "_next");
|
|
183
183
|
function _throw(err) {
|
|
184
|
-
asyncGeneratorStep2(gen,
|
|
184
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
185
185
|
}
|
|
186
186
|
__name(_throw, "_throw");
|
|
187
187
|
_next(void 0);
|
|
@@ -384,7 +384,7 @@ var require_BottleneckError = __commonJS({
|
|
|
384
384
|
var require_Job = __commonJS({
|
|
385
385
|
"node_modules/bottleneck/lib/Job.js"(exports2, module2) {
|
|
386
386
|
"use strict";
|
|
387
|
-
function asyncGeneratorStep2(gen,
|
|
387
|
+
function asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
388
388
|
try {
|
|
389
389
|
var info = gen[key](arg);
|
|
390
390
|
var value = info.value;
|
|
@@ -393,7 +393,7 @@ var require_Job = __commonJS({
|
|
|
393
393
|
return;
|
|
394
394
|
}
|
|
395
395
|
if (info.done) {
|
|
396
|
-
|
|
396
|
+
resolve3(value);
|
|
397
397
|
} else {
|
|
398
398
|
Promise.resolve(value).then(_next, _throw);
|
|
399
399
|
}
|
|
@@ -402,14 +402,14 @@ var require_Job = __commonJS({
|
|
|
402
402
|
function _asyncToGenerator2(fn) {
|
|
403
403
|
return function() {
|
|
404
404
|
var self2 = this, args = arguments;
|
|
405
|
-
return new Promise(function(
|
|
405
|
+
return new Promise(function(resolve3, reject) {
|
|
406
406
|
var gen = fn.apply(self2, args);
|
|
407
407
|
function _next(value) {
|
|
408
|
-
asyncGeneratorStep2(gen,
|
|
408
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "next", value);
|
|
409
409
|
}
|
|
410
410
|
__name(_next, "_next");
|
|
411
411
|
function _throw(err) {
|
|
412
|
-
asyncGeneratorStep2(gen,
|
|
412
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
413
413
|
}
|
|
414
414
|
__name(_throw, "_throw");
|
|
415
415
|
_next(void 0);
|
|
@@ -595,7 +595,7 @@ var require_Job = __commonJS({
|
|
|
595
595
|
var require_LocalDatastore = __commonJS({
|
|
596
596
|
"node_modules/bottleneck/lib/LocalDatastore.js"(exports2, module2) {
|
|
597
597
|
"use strict";
|
|
598
|
-
function asyncGeneratorStep2(gen,
|
|
598
|
+
function asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
599
599
|
try {
|
|
600
600
|
var info = gen[key](arg);
|
|
601
601
|
var value = info.value;
|
|
@@ -604,7 +604,7 @@ var require_LocalDatastore = __commonJS({
|
|
|
604
604
|
return;
|
|
605
605
|
}
|
|
606
606
|
if (info.done) {
|
|
607
|
-
|
|
607
|
+
resolve3(value);
|
|
608
608
|
} else {
|
|
609
609
|
Promise.resolve(value).then(_next, _throw);
|
|
610
610
|
}
|
|
@@ -613,14 +613,14 @@ var require_LocalDatastore = __commonJS({
|
|
|
613
613
|
function _asyncToGenerator2(fn) {
|
|
614
614
|
return function() {
|
|
615
615
|
var self2 = this, args = arguments;
|
|
616
|
-
return new Promise(function(
|
|
616
|
+
return new Promise(function(resolve3, reject) {
|
|
617
617
|
var gen = fn.apply(self2, args);
|
|
618
618
|
function _next(value) {
|
|
619
|
-
asyncGeneratorStep2(gen,
|
|
619
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "next", value);
|
|
620
620
|
}
|
|
621
621
|
__name(_next, "_next");
|
|
622
622
|
function _throw(err) {
|
|
623
|
-
asyncGeneratorStep2(gen,
|
|
623
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
624
624
|
}
|
|
625
625
|
__name(_throw, "_throw");
|
|
626
626
|
_next(void 0);
|
|
@@ -694,8 +694,8 @@ var require_LocalDatastore = __commonJS({
|
|
|
694
694
|
})();
|
|
695
695
|
}
|
|
696
696
|
yieldLoop(t2 = 0) {
|
|
697
|
-
return new this.Promise(function(
|
|
698
|
-
return setTimeout(
|
|
697
|
+
return new this.Promise(function(resolve3, reject) {
|
|
698
|
+
return setTimeout(resolve3, t2);
|
|
699
699
|
});
|
|
700
700
|
}
|
|
701
701
|
computePenalty() {
|
|
@@ -1154,8 +1154,8 @@ var require_Scripts = __commonJS({
|
|
|
1154
1154
|
exports2.payload = function(name2) {
|
|
1155
1155
|
var template2;
|
|
1156
1156
|
template2 = templates[name2];
|
|
1157
|
-
return Array.prototype.concat(headers.refs, template2.headers.map(function(
|
|
1158
|
-
return headers[
|
|
1157
|
+
return Array.prototype.concat(headers.refs, template2.headers.map(function(h2) {
|
|
1158
|
+
return headers[h2];
|
|
1159
1159
|
}), template2.refresh_expiration ? headers.refresh_expiration : "", template2.code).join("\n");
|
|
1160
1160
|
};
|
|
1161
1161
|
}
|
|
@@ -1165,7 +1165,7 @@ var require_Scripts = __commonJS({
|
|
|
1165
1165
|
var require_RedisConnection = __commonJS({
|
|
1166
1166
|
"node_modules/bottleneck/lib/RedisConnection.js"(exports, module) {
|
|
1167
1167
|
"use strict";
|
|
1168
|
-
function asyncGeneratorStep(gen,
|
|
1168
|
+
function asyncGeneratorStep(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
1169
1169
|
try {
|
|
1170
1170
|
var info = gen[key](arg);
|
|
1171
1171
|
var value = info.value;
|
|
@@ -1174,7 +1174,7 @@ var require_RedisConnection = __commonJS({
|
|
|
1174
1174
|
return;
|
|
1175
1175
|
}
|
|
1176
1176
|
if (info.done) {
|
|
1177
|
-
|
|
1177
|
+
resolve3(value);
|
|
1178
1178
|
} else {
|
|
1179
1179
|
Promise.resolve(value).then(_next, _throw);
|
|
1180
1180
|
}
|
|
@@ -1183,14 +1183,14 @@ var require_RedisConnection = __commonJS({
|
|
|
1183
1183
|
function _asyncToGenerator(fn) {
|
|
1184
1184
|
return function() {
|
|
1185
1185
|
var self2 = this, args = arguments;
|
|
1186
|
-
return new Promise(function(
|
|
1186
|
+
return new Promise(function(resolve3, reject) {
|
|
1187
1187
|
var gen = fn.apply(self2, args);
|
|
1188
1188
|
function _next(value) {
|
|
1189
|
-
asyncGeneratorStep(gen,
|
|
1189
|
+
asyncGeneratorStep(gen, resolve3, reject, _next, _throw, "next", value);
|
|
1190
1190
|
}
|
|
1191
1191
|
__name(_next, "_next");
|
|
1192
1192
|
function _throw(err) {
|
|
1193
|
-
asyncGeneratorStep(gen,
|
|
1193
|
+
asyncGeneratorStep(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
1194
1194
|
}
|
|
1195
1195
|
__name(_throw, "_throw");
|
|
1196
1196
|
_next(void 0);
|
|
@@ -1236,7 +1236,7 @@ var require_RedisConnection = __commonJS({
|
|
|
1236
1236
|
}
|
|
1237
1237
|
_setup(client, sub) {
|
|
1238
1238
|
client.setMaxListeners(0);
|
|
1239
|
-
return new this.Promise((
|
|
1239
|
+
return new this.Promise((resolve3, reject) => {
|
|
1240
1240
|
client.on("error", (e) => {
|
|
1241
1241
|
return this.Events.trigger("error", e);
|
|
1242
1242
|
});
|
|
@@ -1247,14 +1247,14 @@ var require_RedisConnection = __commonJS({
|
|
|
1247
1247
|
});
|
|
1248
1248
|
}
|
|
1249
1249
|
if (client.ready) {
|
|
1250
|
-
return
|
|
1250
|
+
return resolve3();
|
|
1251
1251
|
} else {
|
|
1252
|
-
return client.once("ready",
|
|
1252
|
+
return client.once("ready", resolve3);
|
|
1253
1253
|
}
|
|
1254
1254
|
});
|
|
1255
1255
|
}
|
|
1256
1256
|
_loadScript(name2) {
|
|
1257
|
-
return new this.Promise((
|
|
1257
|
+
return new this.Promise((resolve3, reject) => {
|
|
1258
1258
|
var payload;
|
|
1259
1259
|
payload = Scripts.payload(name2);
|
|
1260
1260
|
return this.client.multi([["script", "load", payload]]).exec((err, replies) => {
|
|
@@ -1262,7 +1262,7 @@ var require_RedisConnection = __commonJS({
|
|
|
1262
1262
|
return reject(err);
|
|
1263
1263
|
}
|
|
1264
1264
|
this.shas[name2] = replies[0];
|
|
1265
|
-
return
|
|
1265
|
+
return resolve3(replies[0]);
|
|
1266
1266
|
});
|
|
1267
1267
|
});
|
|
1268
1268
|
}
|
|
@@ -1275,12 +1275,12 @@ var require_RedisConnection = __commonJS({
|
|
|
1275
1275
|
var _this = this;
|
|
1276
1276
|
return _asyncToGenerator(function* () {
|
|
1277
1277
|
yield _this.ready;
|
|
1278
|
-
return new _this.Promise((
|
|
1278
|
+
return new _this.Promise((resolve3, reject) => {
|
|
1279
1279
|
return _this.client.multi([cmd]).exec_atomic(function(err, replies) {
|
|
1280
1280
|
if (err != null) {
|
|
1281
1281
|
return reject(err);
|
|
1282
1282
|
} else {
|
|
1283
|
-
return
|
|
1283
|
+
return resolve3(replies[0]);
|
|
1284
1284
|
}
|
|
1285
1285
|
});
|
|
1286
1286
|
});
|
|
@@ -1288,13 +1288,13 @@ var require_RedisConnection = __commonJS({
|
|
|
1288
1288
|
}
|
|
1289
1289
|
__addLimiter__(instance) {
|
|
1290
1290
|
return this.Promise.all([instance.channel(), instance.channel_client()].map((channel) => {
|
|
1291
|
-
return new this.Promise((
|
|
1291
|
+
return new this.Promise((resolve3, reject) => {
|
|
1292
1292
|
var handler;
|
|
1293
1293
|
handler = /* @__PURE__ */ __name((chan) => {
|
|
1294
1294
|
if (chan === channel) {
|
|
1295
1295
|
this.subscriber.removeListener("subscribe", handler);
|
|
1296
1296
|
this.limiters[channel] = instance;
|
|
1297
|
-
return
|
|
1297
|
+
return resolve3();
|
|
1298
1298
|
}
|
|
1299
1299
|
}, "handler");
|
|
1300
1300
|
this.subscriber.on("subscribe", handler);
|
|
@@ -1308,13 +1308,13 @@ var require_RedisConnection = __commonJS({
|
|
|
1308
1308
|
/* @__PURE__ */ (function() {
|
|
1309
1309
|
var _ref = _asyncToGenerator(function* (channel) {
|
|
1310
1310
|
if (!_this2.terminated) {
|
|
1311
|
-
yield new _this2.Promise((
|
|
1311
|
+
yield new _this2.Promise((resolve3, reject) => {
|
|
1312
1312
|
return _this2.subscriber.unsubscribe(channel, function(err, chan) {
|
|
1313
1313
|
if (err != null) {
|
|
1314
1314
|
return reject(err);
|
|
1315
1315
|
}
|
|
1316
1316
|
if (chan === channel) {
|
|
1317
|
-
return
|
|
1317
|
+
return resolve3();
|
|
1318
1318
|
}
|
|
1319
1319
|
});
|
|
1320
1320
|
});
|
|
@@ -1403,7 +1403,7 @@ var require_IORedisConnection = __commonJS({
|
|
|
1403
1403
|
if (Array.isArray(arr)) return arr;
|
|
1404
1404
|
}
|
|
1405
1405
|
__name(_arrayWithHoles, "_arrayWithHoles");
|
|
1406
|
-
function asyncGeneratorStep(gen,
|
|
1406
|
+
function asyncGeneratorStep(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
1407
1407
|
try {
|
|
1408
1408
|
var info = gen[key](arg);
|
|
1409
1409
|
var value = info.value;
|
|
@@ -1412,7 +1412,7 @@ var require_IORedisConnection = __commonJS({
|
|
|
1412
1412
|
return;
|
|
1413
1413
|
}
|
|
1414
1414
|
if (info.done) {
|
|
1415
|
-
|
|
1415
|
+
resolve3(value);
|
|
1416
1416
|
} else {
|
|
1417
1417
|
Promise.resolve(value).then(_next, _throw);
|
|
1418
1418
|
}
|
|
@@ -1421,14 +1421,14 @@ var require_IORedisConnection = __commonJS({
|
|
|
1421
1421
|
function _asyncToGenerator(fn) {
|
|
1422
1422
|
return function() {
|
|
1423
1423
|
var self2 = this, args = arguments;
|
|
1424
|
-
return new Promise(function(
|
|
1424
|
+
return new Promise(function(resolve3, reject) {
|
|
1425
1425
|
var gen = fn.apply(self2, args);
|
|
1426
1426
|
function _next(value) {
|
|
1427
|
-
asyncGeneratorStep(gen,
|
|
1427
|
+
asyncGeneratorStep(gen, resolve3, reject, _next, _throw, "next", value);
|
|
1428
1428
|
}
|
|
1429
1429
|
__name(_next, "_next");
|
|
1430
1430
|
function _throw(err) {
|
|
1431
|
-
asyncGeneratorStep(gen,
|
|
1431
|
+
asyncGeneratorStep(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
1432
1432
|
}
|
|
1433
1433
|
__name(_throw, "_throw");
|
|
1434
1434
|
_next(void 0);
|
|
@@ -1479,7 +1479,7 @@ var require_IORedisConnection = __commonJS({
|
|
|
1479
1479
|
}
|
|
1480
1480
|
_setup(client, sub) {
|
|
1481
1481
|
client.setMaxListeners(0);
|
|
1482
|
-
return new this.Promise((
|
|
1482
|
+
return new this.Promise((resolve3, reject) => {
|
|
1483
1483
|
client.on("error", (e) => {
|
|
1484
1484
|
return this.Events.trigger("error", e);
|
|
1485
1485
|
});
|
|
@@ -1490,9 +1490,9 @@ var require_IORedisConnection = __commonJS({
|
|
|
1490
1490
|
});
|
|
1491
1491
|
}
|
|
1492
1492
|
if (client.status === "ready") {
|
|
1493
|
-
return
|
|
1493
|
+
return resolve3();
|
|
1494
1494
|
} else {
|
|
1495
|
-
return client.once("ready",
|
|
1495
|
+
return client.once("ready", resolve3);
|
|
1496
1496
|
}
|
|
1497
1497
|
});
|
|
1498
1498
|
}
|
|
@@ -1518,10 +1518,10 @@ var require_IORedisConnection = __commonJS({
|
|
|
1518
1518
|
}
|
|
1519
1519
|
__addLimiter__(instance) {
|
|
1520
1520
|
return this.Promise.all([instance.channel(), instance.channel_client()].map((channel) => {
|
|
1521
|
-
return new this.Promise((
|
|
1521
|
+
return new this.Promise((resolve3, reject) => {
|
|
1522
1522
|
return this.subscriber.subscribe(channel, () => {
|
|
1523
1523
|
this.limiters[channel] = instance;
|
|
1524
|
-
return
|
|
1524
|
+
return resolve3();
|
|
1525
1525
|
});
|
|
1526
1526
|
});
|
|
1527
1527
|
}));
|
|
@@ -1623,7 +1623,7 @@ var require_RedisDatastore = __commonJS({
|
|
|
1623
1623
|
if (Array.isArray(arr)) return arr;
|
|
1624
1624
|
}
|
|
1625
1625
|
__name(_arrayWithHoles2, "_arrayWithHoles");
|
|
1626
|
-
function asyncGeneratorStep2(gen,
|
|
1626
|
+
function asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
1627
1627
|
try {
|
|
1628
1628
|
var info = gen[key](arg);
|
|
1629
1629
|
var value = info.value;
|
|
@@ -1632,7 +1632,7 @@ var require_RedisDatastore = __commonJS({
|
|
|
1632
1632
|
return;
|
|
1633
1633
|
}
|
|
1634
1634
|
if (info.done) {
|
|
1635
|
-
|
|
1635
|
+
resolve3(value);
|
|
1636
1636
|
} else {
|
|
1637
1637
|
Promise.resolve(value).then(_next, _throw);
|
|
1638
1638
|
}
|
|
@@ -1641,14 +1641,14 @@ var require_RedisDatastore = __commonJS({
|
|
|
1641
1641
|
function _asyncToGenerator2(fn) {
|
|
1642
1642
|
return function() {
|
|
1643
1643
|
var self2 = this, args = arguments;
|
|
1644
|
-
return new Promise(function(
|
|
1644
|
+
return new Promise(function(resolve3, reject) {
|
|
1645
1645
|
var gen = fn.apply(self2, args);
|
|
1646
1646
|
function _next(value) {
|
|
1647
|
-
asyncGeneratorStep2(gen,
|
|
1647
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "next", value);
|
|
1648
1648
|
}
|
|
1649
1649
|
__name(_next, "_next");
|
|
1650
1650
|
function _throw(err) {
|
|
1651
|
-
asyncGeneratorStep2(gen,
|
|
1651
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
1652
1652
|
}
|
|
1653
1653
|
__name(_throw, "_throw");
|
|
1654
1654
|
_next(void 0);
|
|
@@ -1789,7 +1789,7 @@ var require_RedisDatastore = __commonJS({
|
|
|
1789
1789
|
if (!(name2 === "init" || name2 === "register_client")) {
|
|
1790
1790
|
yield _this3.ready;
|
|
1791
1791
|
}
|
|
1792
|
-
return new _this3.Promise((
|
|
1792
|
+
return new _this3.Promise((resolve3, reject) => {
|
|
1793
1793
|
var all_args, arr;
|
|
1794
1794
|
all_args = [Date.now(), _this3.clientId].concat(args);
|
|
1795
1795
|
_this3.instance.Events.trigger("debug", `Calling Redis script: ${name2}.lua`, all_args);
|
|
@@ -1797,7 +1797,7 @@ var require_RedisDatastore = __commonJS({
|
|
|
1797
1797
|
if (err != null) {
|
|
1798
1798
|
return reject(err);
|
|
1799
1799
|
}
|
|
1800
|
-
return
|
|
1800
|
+
return resolve3(replies);
|
|
1801
1801
|
});
|
|
1802
1802
|
return _this3.connection.__scriptFn__(name2)(...arr);
|
|
1803
1803
|
}).catch((e) => {
|
|
@@ -2031,7 +2031,7 @@ var require_States = __commonJS({
|
|
|
2031
2031
|
var require_Sync = __commonJS({
|
|
2032
2032
|
"node_modules/bottleneck/lib/Sync.js"(exports2, module2) {
|
|
2033
2033
|
"use strict";
|
|
2034
|
-
function asyncGeneratorStep2(gen,
|
|
2034
|
+
function asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
2035
2035
|
try {
|
|
2036
2036
|
var info = gen[key](arg);
|
|
2037
2037
|
var value = info.value;
|
|
@@ -2040,7 +2040,7 @@ var require_Sync = __commonJS({
|
|
|
2040
2040
|
return;
|
|
2041
2041
|
}
|
|
2042
2042
|
if (info.done) {
|
|
2043
|
-
|
|
2043
|
+
resolve3(value);
|
|
2044
2044
|
} else {
|
|
2045
2045
|
Promise.resolve(value).then(_next, _throw);
|
|
2046
2046
|
}
|
|
@@ -2049,14 +2049,14 @@ var require_Sync = __commonJS({
|
|
|
2049
2049
|
function _asyncToGenerator2(fn) {
|
|
2050
2050
|
return function() {
|
|
2051
2051
|
var self2 = this, args = arguments;
|
|
2052
|
-
return new Promise(function(
|
|
2052
|
+
return new Promise(function(resolve3, reject) {
|
|
2053
2053
|
var gen = fn.apply(self2, args);
|
|
2054
2054
|
function _next(value) {
|
|
2055
|
-
asyncGeneratorStep2(gen,
|
|
2055
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "next", value);
|
|
2056
2056
|
}
|
|
2057
2057
|
__name(_next, "_next");
|
|
2058
2058
|
function _throw(err) {
|
|
2059
|
-
asyncGeneratorStep2(gen,
|
|
2059
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
2060
2060
|
}
|
|
2061
2061
|
__name(_throw, "_throw");
|
|
2062
2062
|
_next(void 0);
|
|
@@ -2084,19 +2084,19 @@ var require_Sync = __commonJS({
|
|
|
2084
2084
|
_tryToRun() {
|
|
2085
2085
|
var _this = this;
|
|
2086
2086
|
return _asyncToGenerator2(function* () {
|
|
2087
|
-
var args, cb, error, reject,
|
|
2087
|
+
var args, cb, error, reject, resolve3, returned, task;
|
|
2088
2088
|
if (_this._running < 1 && _this._queue.length > 0) {
|
|
2089
2089
|
_this._running++;
|
|
2090
2090
|
var _this$_queue$shift = _this._queue.shift();
|
|
2091
2091
|
task = _this$_queue$shift.task;
|
|
2092
2092
|
args = _this$_queue$shift.args;
|
|
2093
|
-
|
|
2093
|
+
resolve3 = _this$_queue$shift.resolve;
|
|
2094
2094
|
reject = _this$_queue$shift.reject;
|
|
2095
2095
|
cb = yield _asyncToGenerator2(function* () {
|
|
2096
2096
|
try {
|
|
2097
2097
|
returned = yield task(...args);
|
|
2098
2098
|
return function() {
|
|
2099
|
-
return
|
|
2099
|
+
return resolve3(returned);
|
|
2100
2100
|
};
|
|
2101
2101
|
} catch (error1) {
|
|
2102
2102
|
error = error1;
|
|
@@ -2112,16 +2112,16 @@ var require_Sync = __commonJS({
|
|
|
2112
2112
|
})();
|
|
2113
2113
|
}
|
|
2114
2114
|
schedule(task, ...args) {
|
|
2115
|
-
var promise, reject,
|
|
2116
|
-
|
|
2115
|
+
var promise, reject, resolve3;
|
|
2116
|
+
resolve3 = reject = null;
|
|
2117
2117
|
promise = new this.Promise(function(_resolve, _reject) {
|
|
2118
|
-
|
|
2118
|
+
resolve3 = _resolve;
|
|
2119
2119
|
return reject = _reject;
|
|
2120
2120
|
});
|
|
2121
2121
|
this._queue.push({
|
|
2122
2122
|
task,
|
|
2123
2123
|
args,
|
|
2124
|
-
resolve:
|
|
2124
|
+
resolve: resolve3,
|
|
2125
2125
|
reject
|
|
2126
2126
|
});
|
|
2127
2127
|
this._tryToRun();
|
|
@@ -2178,7 +2178,7 @@ var require_Group = __commonJS({
|
|
|
2178
2178
|
if (Array.isArray(arr)) return arr;
|
|
2179
2179
|
}
|
|
2180
2180
|
__name(_arrayWithHoles2, "_arrayWithHoles");
|
|
2181
|
-
function asyncGeneratorStep2(gen,
|
|
2181
|
+
function asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
2182
2182
|
try {
|
|
2183
2183
|
var info = gen[key](arg);
|
|
2184
2184
|
var value = info.value;
|
|
@@ -2187,7 +2187,7 @@ var require_Group = __commonJS({
|
|
|
2187
2187
|
return;
|
|
2188
2188
|
}
|
|
2189
2189
|
if (info.done) {
|
|
2190
|
-
|
|
2190
|
+
resolve3(value);
|
|
2191
2191
|
} else {
|
|
2192
2192
|
Promise.resolve(value).then(_next, _throw);
|
|
2193
2193
|
}
|
|
@@ -2196,14 +2196,14 @@ var require_Group = __commonJS({
|
|
|
2196
2196
|
function _asyncToGenerator2(fn) {
|
|
2197
2197
|
return function() {
|
|
2198
2198
|
var self2 = this, args = arguments;
|
|
2199
|
-
return new Promise(function(
|
|
2199
|
+
return new Promise(function(resolve3, reject) {
|
|
2200
2200
|
var gen = fn.apply(self2, args);
|
|
2201
2201
|
function _next(value) {
|
|
2202
|
-
asyncGeneratorStep2(gen,
|
|
2202
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "next", value);
|
|
2203
2203
|
}
|
|
2204
2204
|
__name(_next, "_next");
|
|
2205
2205
|
function _throw(err) {
|
|
2206
|
-
asyncGeneratorStep2(gen,
|
|
2206
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
2207
2207
|
}
|
|
2208
2208
|
__name(_throw, "_throw");
|
|
2209
2209
|
_next(void 0);
|
|
@@ -2480,7 +2480,7 @@ var require_Bottleneck = __commonJS({
|
|
|
2480
2480
|
if (Array.isArray(arr)) return arr;
|
|
2481
2481
|
}
|
|
2482
2482
|
__name(_arrayWithHoles2, "_arrayWithHoles");
|
|
2483
|
-
function asyncGeneratorStep2(gen,
|
|
2483
|
+
function asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, key, arg) {
|
|
2484
2484
|
try {
|
|
2485
2485
|
var info = gen[key](arg);
|
|
2486
2486
|
var value = info.value;
|
|
@@ -2489,7 +2489,7 @@ var require_Bottleneck = __commonJS({
|
|
|
2489
2489
|
return;
|
|
2490
2490
|
}
|
|
2491
2491
|
if (info.done) {
|
|
2492
|
-
|
|
2492
|
+
resolve3(value);
|
|
2493
2493
|
} else {
|
|
2494
2494
|
Promise.resolve(value).then(_next, _throw);
|
|
2495
2495
|
}
|
|
@@ -2498,14 +2498,14 @@ var require_Bottleneck = __commonJS({
|
|
|
2498
2498
|
function _asyncToGenerator2(fn) {
|
|
2499
2499
|
return function() {
|
|
2500
2500
|
var self2 = this, args = arguments;
|
|
2501
|
-
return new Promise(function(
|
|
2501
|
+
return new Promise(function(resolve3, reject) {
|
|
2502
2502
|
var gen = fn.apply(self2, args);
|
|
2503
2503
|
function _next(value) {
|
|
2504
|
-
asyncGeneratorStep2(gen,
|
|
2504
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "next", value);
|
|
2505
2505
|
}
|
|
2506
2506
|
__name(_next, "_next");
|
|
2507
2507
|
function _throw(err) {
|
|
2508
|
-
asyncGeneratorStep2(gen,
|
|
2508
|
+
asyncGeneratorStep2(gen, resolve3, reject, _next, _throw, "throw", err);
|
|
2509
2509
|
}
|
|
2510
2510
|
__name(_throw, "_throw");
|
|
2511
2511
|
_next(void 0);
|
|
@@ -2748,14 +2748,14 @@ var require_Bottleneck = __commonJS({
|
|
|
2748
2748
|
counts = this._states.counts;
|
|
2749
2749
|
return counts[0] + counts[1] + counts[2] + counts[3] === at;
|
|
2750
2750
|
}, "finished");
|
|
2751
|
-
return new this.Promise((
|
|
2751
|
+
return new this.Promise((resolve3, reject) => {
|
|
2752
2752
|
if (finished()) {
|
|
2753
|
-
return
|
|
2753
|
+
return resolve3();
|
|
2754
2754
|
} else {
|
|
2755
2755
|
return this.on("done", () => {
|
|
2756
2756
|
if (finished()) {
|
|
2757
2757
|
this.removeAllListeners("done");
|
|
2758
|
-
return
|
|
2758
|
+
return resolve3();
|
|
2759
2759
|
}
|
|
2760
2760
|
});
|
|
2761
2761
|
}
|
|
@@ -2863,9 +2863,9 @@ var require_Bottleneck = __commonJS({
|
|
|
2863
2863
|
options2 = parser2.load(options2, this.jobDefaults);
|
|
2864
2864
|
}
|
|
2865
2865
|
task = /* @__PURE__ */ __name((...args2) => {
|
|
2866
|
-
return new this.Promise(function(
|
|
2866
|
+
return new this.Promise(function(resolve3, reject) {
|
|
2867
2867
|
return fn(...args2, function(...args3) {
|
|
2868
|
-
return (args3[0] != null ? reject :
|
|
2868
|
+
return (args3[0] != null ? reject : resolve3)(args3);
|
|
2869
2869
|
});
|
|
2870
2870
|
});
|
|
2871
2871
|
}, "task");
|
|
@@ -4240,7 +4240,7 @@ var messages = {
|
|
|
4240
4240
|
};
|
|
4241
4241
|
function t(messageOrResult, params) {
|
|
4242
4242
|
if (typeof messageOrResult !== "string") {
|
|
4243
|
-
return t(messageOrResult.
|
|
4243
|
+
return t(messageOrResult.error.code, messageOrResult.error.params);
|
|
4244
4244
|
}
|
|
4245
4245
|
let text = messages[messageOrResult];
|
|
4246
4246
|
for (const [key, value] of Object.entries(params ?? {})) {
|
|
@@ -4250,7 +4250,7 @@ function t(messageOrResult, params) {
|
|
|
4250
4250
|
}
|
|
4251
4251
|
__name(t, "t");
|
|
4252
4252
|
|
|
4253
|
-
// src/utils/assets.ts
|
|
4253
|
+
// src/warframe/utils/assets.ts
|
|
4254
4254
|
var import_node_fs = require("node:fs");
|
|
4255
4255
|
var import_node_path = require("node:path");
|
|
4256
4256
|
var jsonCache = /* @__PURE__ */ new Map();
|
|
@@ -4259,7 +4259,7 @@ function assetRoot() {
|
|
|
4259
4259
|
if ((0, import_node_path.basename)(__dirname) === "utils") {
|
|
4260
4260
|
return (0, import_node_path.resolve)(__dirname, "../assets");
|
|
4261
4261
|
}
|
|
4262
|
-
return (0, import_node_path.resolve)(__dirname, "assets");
|
|
4262
|
+
return (0, import_node_path.resolve)(__dirname, "warframe/assets");
|
|
4263
4263
|
}
|
|
4264
4264
|
__name(assetRoot, "assetRoot");
|
|
4265
4265
|
function assetPath(path) {
|
|
@@ -4292,7 +4292,7 @@ function loadAssetText(path) {
|
|
|
4292
4292
|
}
|
|
4293
4293
|
__name(loadAssetText, "loadAssetText");
|
|
4294
4294
|
|
|
4295
|
-
// src/utils/cache.ts
|
|
4295
|
+
// src/warframe/utils/cache.ts
|
|
4296
4296
|
function createAsyncCache(factory, ttlMs = 6e4) {
|
|
4297
4297
|
let cache;
|
|
4298
4298
|
let lastUpdatedAt = 0;
|
|
@@ -4326,7 +4326,7 @@ function createAsyncCache(factory, ttlMs = 6e4) {
|
|
|
4326
4326
|
}
|
|
4327
4327
|
__name(createAsyncCache, "createAsyncCache");
|
|
4328
4328
|
|
|
4329
|
-
// src/utils/collection.ts
|
|
4329
|
+
// src/warframe/utils/collection.ts
|
|
4330
4330
|
var listToDict = /* @__PURE__ */ __name((dict, predict) => {
|
|
4331
4331
|
const result = {};
|
|
4332
4332
|
for (const obj of dict) {
|
|
@@ -4352,31 +4352,8 @@ var dictToKeyDict = /* @__PURE__ */ __name((dict, predict) => {
|
|
|
4352
4352
|
return result;
|
|
4353
4353
|
}, "dictToKeyDict");
|
|
4354
4354
|
|
|
4355
|
-
// src/utils/
|
|
4356
|
-
function lerp(start, end, t2) {
|
|
4357
|
-
return Math.round(start + (end - start) * t2);
|
|
4358
|
-
}
|
|
4359
|
-
__name(lerp, "lerp");
|
|
4360
|
-
function hexToRgb(hex) {
|
|
4361
|
-
const r = Number.parseInt(hex.slice(1, 3), 16);
|
|
4362
|
-
const g = Number.parseInt(hex.slice(3, 5), 16);
|
|
4363
|
-
const b = Number.parseInt(hex.slice(5, 7), 16);
|
|
4364
|
-
return { r, g, b };
|
|
4365
|
-
}
|
|
4366
|
-
__name(hexToRgb, "hexToRgb");
|
|
4367
|
-
function rgbToHex(r, g, b) {
|
|
4368
|
-
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;
|
|
4369
|
-
}
|
|
4370
|
-
__name(rgbToHex, "rgbToHex");
|
|
4371
|
-
|
|
4372
|
-
// src/utils/http.ts
|
|
4355
|
+
// src/warframe/utils/http.ts
|
|
4373
4356
|
var import_ofetch = require("ofetch");
|
|
4374
|
-
|
|
4375
|
-
// src/utils/logger.ts
|
|
4376
|
-
var import_koishi = require("koishi");
|
|
4377
|
-
var logger = new import_koishi.Logger("koishi-plugin-warframe");
|
|
4378
|
-
|
|
4379
|
-
// src/utils/http.ts
|
|
4380
4357
|
var defaultHeaders = {
|
|
4381
4358
|
"Accept": "text/html,application/json;q=0.9,image/*;q=0.8,*/*;q=0.8",
|
|
4382
4359
|
"Accept-Language": "zh-CN,zh-Hans;q=0.9",
|
|
@@ -4394,11 +4371,7 @@ async function request(url, method, responseType) {
|
|
|
4394
4371
|
retryDelay: 500,
|
|
4395
4372
|
retryStatusCodes: [408, 429, 500, 502, 503, 504]
|
|
4396
4373
|
});
|
|
4397
|
-
} catch
|
|
4398
|
-
const e = err;
|
|
4399
|
-
const status = e.statusCode ?? "network";
|
|
4400
|
-
const detail = e.data && typeof e.data === "object" ? JSON.stringify(e.data) : e.data ?? e.message ?? "";
|
|
4401
|
-
logger.error(`[HTTP] ${method} ${url} -> ${status} ${detail}`.trimEnd());
|
|
4374
|
+
} catch {
|
|
4402
4375
|
return void 0;
|
|
4403
4376
|
}
|
|
4404
4377
|
}
|
|
@@ -4416,7 +4389,7 @@ async function fetchAsyncImage(url, method = "GET") {
|
|
|
4416
4389
|
}
|
|
4417
4390
|
__name(fetchAsyncImage, "fetchAsyncImage");
|
|
4418
4391
|
|
|
4419
|
-
// src/utils/text.ts
|
|
4392
|
+
// src/warframe/utils/text.ts
|
|
4420
4393
|
function normalizeName(text) {
|
|
4421
4394
|
return fullWidthToHalfWidth(text).toLowerCase().replace(/[·'\-+()【】[\]{},。!?;:_]/g, "").replace(/\s+/g, "");
|
|
4422
4395
|
}
|
|
@@ -4482,7 +4455,7 @@ function tokenSimilarity(a, b) {
|
|
|
4482
4455
|
}
|
|
4483
4456
|
__name(tokenSimilarity, "tokenSimilarity");
|
|
4484
4457
|
|
|
4485
|
-
// src/utils/time.ts
|
|
4458
|
+
// src/warframe/utils/time.ts
|
|
4486
4459
|
function toTimeStamp(timeStr) {
|
|
4487
4460
|
return new Date(timeStr).getTime();
|
|
4488
4461
|
}
|
|
@@ -4506,7 +4479,7 @@ function msToHumanReadable(ms) {
|
|
|
4506
4479
|
}
|
|
4507
4480
|
__name(msToHumanReadable, "msToHumanReadable");
|
|
4508
4481
|
|
|
4509
|
-
// src/infrastructure/miscs/lab-api.ts
|
|
4482
|
+
// src/warframe/infrastructure/miscs/lab-api.ts
|
|
4510
4483
|
async function getHotRivenWeapons(num = 30) {
|
|
4511
4484
|
const response = await fetchAsyncData(
|
|
4512
4485
|
`https://lab.webutilitykit.com/api/RivenTracker/hot-weapons?limit=${num}&sortBy=price`
|
|
@@ -4515,30 +4488,43 @@ async function getHotRivenWeapons(num = 30) {
|
|
|
4515
4488
|
}
|
|
4516
4489
|
__name(getHotRivenWeapons, "getHotRivenWeapons");
|
|
4517
4490
|
|
|
4518
|
-
// src/data/miscs/lab.ts
|
|
4491
|
+
// src/warframe/data/miscs/lab.ts
|
|
4519
4492
|
var globalHotRivenWeapons = createAsyncCache(async () => {
|
|
4520
4493
|
const items = await getHotRivenWeapons(40);
|
|
4521
4494
|
return items || [];
|
|
4522
4495
|
}, 18e5);
|
|
4523
4496
|
|
|
4524
|
-
// src/
|
|
4497
|
+
// src/warframe/types/warframe-result.ts
|
|
4498
|
+
function failure(code, retryable = false, params) {
|
|
4499
|
+
return {
|
|
4500
|
+
ok: false,
|
|
4501
|
+
error: {
|
|
4502
|
+
code,
|
|
4503
|
+
retryable,
|
|
4504
|
+
...params ? { params } : {}
|
|
4505
|
+
}
|
|
4506
|
+
};
|
|
4507
|
+
}
|
|
4508
|
+
__name(failure, "failure");
|
|
4509
|
+
|
|
4510
|
+
// src/warframe/services/miscs-service.ts
|
|
4525
4511
|
async function getHotRivenWeapons2() {
|
|
4526
4512
|
try {
|
|
4527
4513
|
const result = await globalHotRivenWeapons.get();
|
|
4528
4514
|
if (!result || result.length === 0) {
|
|
4529
|
-
return
|
|
4515
|
+
return failure("miscs.hotRiven.noData");
|
|
4530
4516
|
}
|
|
4531
4517
|
return { ok: true, data: result };
|
|
4532
4518
|
} catch {
|
|
4533
|
-
return
|
|
4519
|
+
return failure("miscs.hotRiven.fetchFailed", true);
|
|
4534
4520
|
}
|
|
4535
4521
|
}
|
|
4536
4522
|
__name(getHotRivenWeapons2, "getHotRivenWeapons");
|
|
4537
4523
|
|
|
4538
|
-
// src/services/wf-service.ts
|
|
4524
|
+
// src/warframe/services/wf-service.ts
|
|
4539
4525
|
var import_warframe_public_export_plus6 = require("warframe-public-export-plus");
|
|
4540
4526
|
|
|
4541
|
-
// src/assets/index.ts
|
|
4527
|
+
// src/warframe/assets/index.ts
|
|
4542
4528
|
var {
|
|
4543
4529
|
incarnons,
|
|
4544
4530
|
warframes
|
|
@@ -4553,7 +4539,7 @@ var Baro = loadAssetText("baro.txt");
|
|
|
4553
4539
|
var BaroParsed = loadAssetJson("baroParsed.json");
|
|
4554
4540
|
var warframeAlias = loadAssetJson("warframeAlias.json");
|
|
4555
4541
|
|
|
4556
|
-
// src/data/wf/arbitrationSchedule.ts
|
|
4542
|
+
// src/warframe/data/wf/arbitrationSchedule.ts
|
|
4557
4543
|
var arbitrationSchedule = arbitrationScheduleText.split("\n").map((line) => line.split(",")).filter((arr) => arr.length === 2).map((arr) => {
|
|
4558
4544
|
return {
|
|
4559
4545
|
time: parseInt(arr[0]),
|
|
@@ -4561,10 +4547,10 @@ var arbitrationSchedule = arbitrationScheduleText.split("\n").map((line) => line
|
|
|
4561
4547
|
};
|
|
4562
4548
|
});
|
|
4563
4549
|
|
|
4564
|
-
// src/data/wf/globalWorldState.ts
|
|
4550
|
+
// src/warframe/data/wf/globalWorldState.ts
|
|
4565
4551
|
var import_warframe_public_export_plus3 = require("warframe-public-export-plus");
|
|
4566
4552
|
|
|
4567
|
-
// src/infrastructure/wf/wf-api.ts
|
|
4553
|
+
// src/warframe/infrastructure/wf/wf-api.ts
|
|
4568
4554
|
var apiBase = "https://api.warframe.com/cdn/";
|
|
4569
4555
|
async function getWorldState(json) {
|
|
4570
4556
|
if (!json) {
|
|
@@ -4735,7 +4721,7 @@ async function getVoidTraderHistory(data) {
|
|
|
4735
4721
|
}
|
|
4736
4722
|
__name(getVoidTraderHistory, "getVoidTraderHistory");
|
|
4737
4723
|
|
|
4738
|
-
// src/infrastructure/wf/wf-export-adapter.ts
|
|
4724
|
+
// src/warframe/infrastructure/wf/wf-export-adapter.ts
|
|
4739
4725
|
var import_warframe_public_export_plus = require("warframe-public-export-plus");
|
|
4740
4726
|
function regionToShort(region, dict) {
|
|
4741
4727
|
let faction;
|
|
@@ -4768,7 +4754,7 @@ function fixRelicRewardKey(item) {
|
|
|
4768
4754
|
}
|
|
4769
4755
|
__name(fixRelicRewardKey, "fixRelicRewardKey");
|
|
4770
4756
|
|
|
4771
|
-
// src/infrastructure/wf/wfcd-adapter.ts
|
|
4757
|
+
// src/warframe/infrastructure/wf/wfcd-adapter.ts
|
|
4772
4758
|
var import_warframe_public_export_plus2 = require("warframe-public-export-plus");
|
|
4773
4759
|
function relicToFullNameZH(tier, category) {
|
|
4774
4760
|
return `${import_warframe_public_export_plus2.dict_zh[relicEraToTransKey(tier)] ?? toPascalCase(tier)} ${category} 遗物`;
|
|
@@ -4866,7 +4852,7 @@ function getVoidTraderItemName(sourceKey) {
|
|
|
4866
4852
|
}
|
|
4867
4853
|
__name(getVoidTraderItemName, "getVoidTraderItemName");
|
|
4868
4854
|
|
|
4869
|
-
// src/data/wf/globalWorldState.ts
|
|
4855
|
+
// src/warframe/data/wf/globalWorldState.ts
|
|
4870
4856
|
var globalWorldState = createAsyncCache(async () => {
|
|
4871
4857
|
const worldState = await getWorldState();
|
|
4872
4858
|
const fissures = [];
|
|
@@ -4898,7 +4884,7 @@ var globalWorldState = createAsyncCache(async () => {
|
|
|
4898
4884
|
return { raw: worldState, fissures, spFissures, rjFissures };
|
|
4899
4885
|
}, 12e4);
|
|
4900
4886
|
|
|
4901
|
-
// src/data/wf/relics.ts
|
|
4887
|
+
// src/warframe/data/wf/relics.ts
|
|
4902
4888
|
var import_warframe_public_export_plus4 = require("warframe-public-export-plus");
|
|
4903
4889
|
var relics = (() => {
|
|
4904
4890
|
const result = {};
|
|
@@ -4926,7 +4912,7 @@ var relics = (() => {
|
|
|
4926
4912
|
return result;
|
|
4927
4913
|
})();
|
|
4928
4914
|
|
|
4929
|
-
// src/data/wf/rivenBaseValues.ts
|
|
4915
|
+
// src/warframe/data/wf/rivenBaseValues.ts
|
|
4930
4916
|
var rivenAttrValueDict = (() => {
|
|
4931
4917
|
const dict = {};
|
|
4932
4918
|
for (const key in rivenAttrValues) {
|
|
@@ -4941,7 +4927,7 @@ var rivenAttrValueDict = (() => {
|
|
|
4941
4927
|
return dict;
|
|
4942
4928
|
})();
|
|
4943
4929
|
|
|
4944
|
-
// src/data/wf/rivenDisposition.ts
|
|
4930
|
+
// src/warframe/data/wf/rivenDisposition.ts
|
|
4945
4931
|
var import_warframe_public_export_plus5 = require("warframe-public-export-plus");
|
|
4946
4932
|
var weaponRivenDispositionDict = (() => {
|
|
4947
4933
|
const mapped = rivenCalc.weapons.reduce(
|
|
@@ -4989,7 +4975,7 @@ var weaponRivenDispositionDict = (() => {
|
|
|
4989
4975
|
]);
|
|
4990
4976
|
})();
|
|
4991
4977
|
|
|
4992
|
-
// src/data/wf/rivenStatData.ts
|
|
4978
|
+
// src/warframe/data/wf/rivenStatData.ts
|
|
4993
4979
|
var rivenStatFixFactor = {
|
|
4994
4980
|
2: { buffFactor: 0.99, buffCount: 2, curseFactor: 0, curseCount: 0 },
|
|
4995
4981
|
21: {
|
|
@@ -5191,10 +5177,10 @@ function resolveLimiter(rateLimit) {
|
|
|
5191
5177
|
}
|
|
5192
5178
|
__name(resolveLimiter, "resolveLimiter");
|
|
5193
5179
|
|
|
5194
|
-
// src/infrastructure/wfm-client.ts
|
|
5180
|
+
// src/warframe/infrastructure/wfm-client.ts
|
|
5195
5181
|
var wfmClient = createWfmApiClient();
|
|
5196
5182
|
|
|
5197
|
-
// src/data/wfm/globalRivenAttribute.ts
|
|
5183
|
+
// src/warframe/data/wfm/globalRivenAttribute.ts
|
|
5198
5184
|
async function globalRivenAttributeFactory(rivenAttributeData) {
|
|
5199
5185
|
rivenAttributeData ??= await wfmClient.rivens.getAttributes();
|
|
5200
5186
|
if (!rivenAttributeData) {
|
|
@@ -5218,7 +5204,7 @@ var globalRivenAttribute = createAsyncCache(
|
|
|
5218
5204
|
-1
|
|
5219
5205
|
);
|
|
5220
5206
|
|
|
5221
|
-
// src/data/wfm/globalRivenItem.ts
|
|
5207
|
+
// src/warframe/data/wfm/globalRivenItem.ts
|
|
5222
5208
|
function normalizeWordPrefixName(input) {
|
|
5223
5209
|
return fullWidthToHalfWidth(input).toLowerCase().replace(/[·'()+【】[\]{},。!?;:_]/g, " ").replace(/[-/\\]/g, " ").replace(/\s+/g, " ").trim();
|
|
5224
5210
|
}
|
|
@@ -5294,7 +5280,7 @@ var globalRivenItemData = createAsyncCache(async () => {
|
|
|
5294
5280
|
return globalRivenItemFactory();
|
|
5295
5281
|
}, -1);
|
|
5296
5282
|
|
|
5297
|
-
// src/infrastructure/ocr-api.ts
|
|
5283
|
+
// src/warframe/infrastructure/ocr-api.ts
|
|
5298
5284
|
var import_node_buffer = require("node:buffer");
|
|
5299
5285
|
var import_node_crypto = __toESM(require("node:crypto"));
|
|
5300
5286
|
var import_async_cache_dedupe = require("async-cache-dedupe");
|
|
@@ -5345,24 +5331,23 @@ async function extractTextFromImage(image, secret) {
|
|
|
5345
5331
|
const hash = getImageBase64Hash(image);
|
|
5346
5332
|
try {
|
|
5347
5333
|
return await ocrCache.extract({ hash, image, secret });
|
|
5348
|
-
} catch
|
|
5349
|
-
logger.error("OCR request error:", err);
|
|
5334
|
+
} catch {
|
|
5350
5335
|
return void 0;
|
|
5351
5336
|
}
|
|
5352
5337
|
}
|
|
5353
5338
|
__name(extractTextFromImage, "extractTextFromImage");
|
|
5354
5339
|
|
|
5355
|
-
// src/services/wf-service.ts
|
|
5340
|
+
// src/warframe/services/wf-service.ts
|
|
5356
5341
|
async function getRelic(input) {
|
|
5357
5342
|
if (!input) {
|
|
5358
|
-
return
|
|
5343
|
+
return failure("relic.invalidName");
|
|
5359
5344
|
}
|
|
5360
5345
|
input = normalizeName(input);
|
|
5361
5346
|
if (!input) {
|
|
5362
|
-
return
|
|
5347
|
+
return failure("relic.invalidName");
|
|
5363
5348
|
}
|
|
5364
5349
|
if (!relics) {
|
|
5365
|
-
return
|
|
5350
|
+
return failure("relic.dataLoading", true);
|
|
5366
5351
|
}
|
|
5367
5352
|
const tierListForMatch = [
|
|
5368
5353
|
"古纪",
|
|
@@ -5380,7 +5365,7 @@ async function getRelic(input) {
|
|
|
5380
5365
|
].map((t2) => normalizeName(t2));
|
|
5381
5366
|
const tier = tierListForMatch.find((t2) => input.startsWith(t2));
|
|
5382
5367
|
if (!tier) {
|
|
5383
|
-
return
|
|
5368
|
+
return failure("relic.invalidName");
|
|
5384
5369
|
}
|
|
5385
5370
|
const category = input.replace(new RegExp(`^${tier}`), "").replace(/遗物$|relic$/, "");
|
|
5386
5371
|
const zhTierMap = {
|
|
@@ -5393,12 +5378,12 @@ async function getRelic(input) {
|
|
|
5393
5378
|
};
|
|
5394
5379
|
const enTier = zhTierMap[tier] ?? tier;
|
|
5395
5380
|
const key = normalizeName(enTier + category);
|
|
5396
|
-
return relics[key] ? { ok: true, data: relics[key] } :
|
|
5381
|
+
return relics[key] ? { ok: true, data: relics[key] } : failure("relic.notFound");
|
|
5397
5382
|
}
|
|
5398
5383
|
__name(getRelic, "getRelic");
|
|
5399
5384
|
function getArbitrations(day = 3) {
|
|
5400
5385
|
if (day > 14 || day <= 0) {
|
|
5401
|
-
return
|
|
5386
|
+
return failure("arbitration.invalidDayRange");
|
|
5402
5387
|
}
|
|
5403
5388
|
const currentHourTimeStamp = Math.floor(
|
|
5404
5389
|
(/* @__PURE__ */ new Date()).setUTCMinutes(0, 0, 0) / 1e3
|
|
@@ -5437,7 +5422,7 @@ __name(getArbitrations, "getArbitrations");
|
|
|
5437
5422
|
async function getWeekly() {
|
|
5438
5423
|
const { raw: worldState } = await globalWorldState.get();
|
|
5439
5424
|
if (!worldState) {
|
|
5440
|
-
return
|
|
5425
|
+
return failure("common.fetchFailed", true);
|
|
5441
5426
|
}
|
|
5442
5427
|
const archon = {
|
|
5443
5428
|
name: import_warframe_public_export_plus6.dict_zh[`/Lotus/Language/Narmer/${removeSpace(worldState.archonHunt.boss)}`],
|
|
@@ -5574,31 +5559,31 @@ function getCircuitWeek() {
|
|
|
5574
5559
|
__name(getCircuitWeek, "getCircuitWeek");
|
|
5575
5560
|
async function getFissures() {
|
|
5576
5561
|
const { fissures } = await globalWorldState.get();
|
|
5577
|
-
return fissures ? { ok: true, data: fissures } :
|
|
5562
|
+
return fissures ? { ok: true, data: fissures } : failure("common.fetchFailed", true);
|
|
5578
5563
|
}
|
|
5579
5564
|
__name(getFissures, "getFissures");
|
|
5580
5565
|
async function getSteelPathFissures() {
|
|
5581
5566
|
const { spFissures } = await globalWorldState.get();
|
|
5582
|
-
return spFissures ? { ok: true, data: spFissures } :
|
|
5567
|
+
return spFissures ? { ok: true, data: spFissures } : failure("common.fetchFailed", true);
|
|
5583
5568
|
}
|
|
5584
5569
|
__name(getSteelPathFissures, "getSteelPathFissures");
|
|
5585
5570
|
async function getRailjackFissures() {
|
|
5586
5571
|
const { rjFissures } = await globalWorldState.get();
|
|
5587
|
-
return rjFissures ? { ok: true, data: rjFissures } :
|
|
5572
|
+
return rjFissures ? { ok: true, data: rjFissures } : failure("common.fetchFailed", true);
|
|
5588
5573
|
}
|
|
5589
5574
|
__name(getRailjackFissures, "getRailjackFissures");
|
|
5590
5575
|
async function getAnalyzedRiven(secret, url) {
|
|
5591
5576
|
const img = await fetchAsyncImage(url);
|
|
5592
5577
|
if (!img) {
|
|
5593
|
-
return
|
|
5578
|
+
return failure("riven.imageFetchFailed", true);
|
|
5594
5579
|
}
|
|
5595
5580
|
const extractResult = await extractTextFromImage(img, secret);
|
|
5596
5581
|
if (!extractResult) {
|
|
5597
|
-
return
|
|
5582
|
+
return failure("riven.imageParseFailed");
|
|
5598
5583
|
}
|
|
5599
5584
|
const parseResult = await parseOCRResult(extractResult);
|
|
5600
5585
|
if (!parseResult || parseResult.attributes.length < 2 || parseResult.attributes.length > 4) {
|
|
5601
|
-
return
|
|
5586
|
+
return failure("riven.imageParseFailed");
|
|
5602
5587
|
}
|
|
5603
5588
|
return analyzeRivenStat(parseResult);
|
|
5604
5589
|
}
|
|
@@ -5606,12 +5591,12 @@ __name(getAnalyzedRiven, "getAnalyzedRiven");
|
|
|
5606
5591
|
async function getVoidTrader() {
|
|
5607
5592
|
const { raw: worldState } = await globalWorldState.get();
|
|
5608
5593
|
if (worldState.voidTraders.length === 0) {
|
|
5609
|
-
return
|
|
5594
|
+
return failure("voidTrader.drifting");
|
|
5610
5595
|
}
|
|
5611
5596
|
const trader = worldState.voidTraders[0];
|
|
5612
5597
|
if (trader && trader.activation && trader.activation.getTime() > Date.now()) {
|
|
5613
5598
|
const diff2 = trader.activation.getTime() - Date.now();
|
|
5614
|
-
return
|
|
5599
|
+
return failure("voidTrader.arriving", false, { time: msToHumanReadable(diff2) });
|
|
5615
5600
|
}
|
|
5616
5601
|
const diff = trader.expiry.getTime() - Date.now();
|
|
5617
5602
|
const items = trader.inventory.map(getVoidTraderItem);
|
|
@@ -5654,7 +5639,7 @@ async function getWeeklyRivens(minPrice) {
|
|
|
5654
5639
|
__name(getWeeklyRivens, "getWeeklyRivens");
|
|
5655
5640
|
async function getStaticRivenStats(weaponType, statType, disposition) {
|
|
5656
5641
|
if (disposition > 1.55 || disposition < 0.5) {
|
|
5657
|
-
return
|
|
5642
|
+
return failure("riven.dispositionError");
|
|
5658
5643
|
}
|
|
5659
5644
|
const weaponTypes = [
|
|
5660
5645
|
"步枪",
|
|
@@ -5672,7 +5657,7 @@ async function getStaticRivenStats(weaponType, statType, disposition) {
|
|
|
5672
5657
|
(v) => normalizeName(v).startsWith(normalizeName(weaponType))
|
|
5673
5658
|
);
|
|
5674
5659
|
if (!matchedWeaponType) {
|
|
5675
|
-
return
|
|
5660
|
+
return failure("riven.weaponTypeError");
|
|
5676
5661
|
}
|
|
5677
5662
|
const weaponTypeKeys = {
|
|
5678
5663
|
步枪: "Rifle",
|
|
@@ -5684,7 +5669,7 @@ async function getStaticRivenStats(weaponType, statType, disposition) {
|
|
|
5684
5669
|
const weaponTypeKey = weaponTypeKeys[matchedWeaponType] ?? matchedWeaponType;
|
|
5685
5670
|
const statTypes = ["2", "3", "21", "31"];
|
|
5686
5671
|
if (!statTypes.includes(statType)) {
|
|
5687
|
-
return
|
|
5672
|
+
return failure("riven.statTypeError");
|
|
5688
5673
|
}
|
|
5689
5674
|
const rivenAttrValues2 = rivenAttrValueDict[weaponTypeKey];
|
|
5690
5675
|
const factor = rivenStatFixFactor[statType];
|
|
@@ -5871,11 +5856,9 @@ __name(parseOCRResult, "parseOCRResult");
|
|
|
5871
5856
|
function analyzeRivenStat(parseResult) {
|
|
5872
5857
|
const weaponRiven = getWeaponRivenDisposition(parseResult.name);
|
|
5873
5858
|
if (!weaponRiven) {
|
|
5874
|
-
return {
|
|
5875
|
-
|
|
5876
|
-
|
|
5877
|
-
params: { weapon: parseResult.name }
|
|
5878
|
-
};
|
|
5859
|
+
return failure("riven.weaponNotFound", false, {
|
|
5860
|
+
weapon: parseResult.name
|
|
5861
|
+
});
|
|
5879
5862
|
}
|
|
5880
5863
|
const disposition = weaponRiven.calc.disposition;
|
|
5881
5864
|
const weaponType = weaponRiven.calc.riventype;
|
|
@@ -5940,10 +5923,10 @@ function analyzeRivenStat(parseResult) {
|
|
|
5940
5923
|
}
|
|
5941
5924
|
__name(analyzeRivenStat, "analyzeRivenStat");
|
|
5942
5925
|
|
|
5943
|
-
// src/services/wfm-service/index.ts
|
|
5926
|
+
// src/warframe/services/wfm-service/index.ts
|
|
5944
5927
|
var import_warframe_public_export_plus7 = require("warframe-public-export-plus");
|
|
5945
5928
|
|
|
5946
|
-
// src/data/wfm/globalDucatnator.ts
|
|
5929
|
+
// src/warframe/data/wfm/globalDucatnator.ts
|
|
5947
5930
|
var globalDucatnatorIDDict = createAsyncCache(async () => {
|
|
5948
5931
|
const data = await wfmClient.tools.getDucatnator();
|
|
5949
5932
|
if (!data) {
|
|
@@ -5952,7 +5935,7 @@ var globalDucatnatorIDDict = createAsyncCache(async () => {
|
|
|
5952
5935
|
return listToDict(data.hour, (d) => [d.item]);
|
|
5953
5936
|
}, 36e5);
|
|
5954
5937
|
|
|
5955
|
-
// src/data/wfm/globalItem.ts
|
|
5938
|
+
// src/warframe/data/wfm/globalItem.ts
|
|
5956
5939
|
function normalizeWordPrefixName2(input) {
|
|
5957
5940
|
return fullWidthToHalfWidth(input).toLowerCase().replace(/[·'()+【】[\]{},。!?;:_]/g, " ").replace(/[-/\\]/g, " ").replace(/\s+/g, " ").trim();
|
|
5958
5941
|
}
|
|
@@ -6037,7 +6020,7 @@ async function globalItemDataFactory(response) {
|
|
|
6037
6020
|
__name(globalItemDataFactory, "globalItemDataFactory");
|
|
6038
6021
|
var globalItemData = createAsyncCache(globalItemDataFactory, -1);
|
|
6039
6022
|
|
|
6040
|
-
// src/services/wfm-service/wfm-service.item-matcher.ts
|
|
6023
|
+
// src/warframe/services/wfm-service/wfm-service.item-matcher.ts
|
|
6041
6024
|
var wfmItemMatcher = (() => {
|
|
6042
6025
|
const setSuffix = "一套";
|
|
6043
6026
|
const bpSuffix = "蓝图";
|
|
@@ -6297,7 +6280,7 @@ var shortHandProcess = wfmItemMatcher.shortHandProcess;
|
|
|
6297
6280
|
var stringToWFMItem = wfmItemMatcher.stringToWFMItem;
|
|
6298
6281
|
var transformByWarframeAlias = wfmItemMatcher.transformByWarframeAlias;
|
|
6299
6282
|
|
|
6300
|
-
// src/services/wfm-service/wfm-service.riven-item-matcher.ts
|
|
6283
|
+
// src/warframe/services/wfm-service/wfm-service.riven-item-matcher.ts
|
|
6301
6284
|
function normalizeWordPrefixName4(input) {
|
|
6302
6285
|
return fullWidthToHalfWidth(input).toLowerCase().replace(/[·'()+【】[\]{},。!?;:_]/g, " ").replace(/[-/\\]/g, " ").replace(/\s+/g, " ").trim();
|
|
6303
6286
|
}
|
|
@@ -6425,7 +6408,7 @@ async function findRivenItemByName(input, globalRivenItemList) {
|
|
|
6425
6408
|
}
|
|
6426
6409
|
__name(findRivenItemByName, "findRivenItemByName");
|
|
6427
6410
|
|
|
6428
|
-
// src/services/wfm-service/index.ts
|
|
6411
|
+
// src/warframe/services/wfm-service/index.ts
|
|
6429
6412
|
async function updateCache() {
|
|
6430
6413
|
const updateTasks = [
|
|
6431
6414
|
{ name: "globalItemData", fn: globalItemData.update() },
|
|
@@ -6446,10 +6429,10 @@ async function updateCache() {
|
|
|
6446
6429
|
}
|
|
6447
6430
|
__name(updateCache, "updateCache");
|
|
6448
6431
|
async function getItemOrders(input) {
|
|
6449
|
-
input
|
|
6450
|
-
|
|
6451
|
-
return { ok: false, message: "wfm.inputItemName" };
|
|
6432
|
+
if (!input || !input.trim()) {
|
|
6433
|
+
return failure("wfm.inputItemName");
|
|
6452
6434
|
}
|
|
6435
|
+
input = input.trim();
|
|
6453
6436
|
const isFullLevel = /^满级|满级$/.test(normalizeName(input));
|
|
6454
6437
|
if (isFullLevel) {
|
|
6455
6438
|
if (input.startsWith("满级")) {
|
|
@@ -6460,18 +6443,18 @@ async function getItemOrders(input) {
|
|
|
6460
6443
|
}
|
|
6461
6444
|
const targetItem = await stringToWFMItem(input);
|
|
6462
6445
|
if (!targetItem) {
|
|
6463
|
-
return
|
|
6446
|
+
return failure("wfm.itemNotFound", false, { input });
|
|
6464
6447
|
}
|
|
6465
6448
|
const itemId = targetItem.slug;
|
|
6466
6449
|
const data = await wfmClient.items.getOrders(itemId);
|
|
6467
6450
|
if (!data) {
|
|
6468
|
-
return
|
|
6451
|
+
return failure("wfm.orderFetchFailed", true);
|
|
6469
6452
|
}
|
|
6470
6453
|
const result = data.filter(
|
|
6471
6454
|
(order) => order.user.status === "ingame" && order.visible && order.type === "sell" && (!isFullLevel || order.rank === targetItem.maxRank)
|
|
6472
|
-
).sort((a, b) => toTimeStamp(b.updatedAt) - toTimeStamp(a.updatedAt)).sort((a, b) => a.platinum - b.platinum).slice(0,
|
|
6455
|
+
).sort((a, b) => toTimeStamp(b.updatedAt) - toTimeStamp(a.updatedAt)).sort((a, b) => a.platinum - b.platinum).slice(0, 8);
|
|
6473
6456
|
if (result.length === 0) {
|
|
6474
|
-
return
|
|
6457
|
+
return failure("wfm.noOnlineSeller");
|
|
6475
6458
|
}
|
|
6476
6459
|
return {
|
|
6477
6460
|
ok: true,
|
|
@@ -6480,21 +6463,25 @@ async function getItemOrders(input) {
|
|
|
6480
6463
|
}
|
|
6481
6464
|
__name(getItemOrders, "getItemOrders");
|
|
6482
6465
|
async function getRivenOrders(input) {
|
|
6466
|
+
if (!input || !input.trim()) {
|
|
6467
|
+
return failure("wfm.inputItemName");
|
|
6468
|
+
}
|
|
6469
|
+
input = input.trim();
|
|
6483
6470
|
const { globalRivenAttributeDict } = await globalRivenAttribute.get();
|
|
6484
6471
|
const targetItem = await findRivenItemByName(input);
|
|
6485
6472
|
if (!targetItem) {
|
|
6486
|
-
return
|
|
6473
|
+
return failure("wfm.rivenWeaponNotFound", false, { input });
|
|
6487
6474
|
}
|
|
6488
6475
|
const itemId = targetItem.slug;
|
|
6489
6476
|
const data = await wfmClient.rivens.getOrders(itemId);
|
|
6490
6477
|
if (!data) {
|
|
6491
|
-
return
|
|
6478
|
+
return failure("wfm.rivenOrderFetchFailed", true);
|
|
6492
6479
|
}
|
|
6493
6480
|
const top5 = data.filter(
|
|
6494
6481
|
(order) => order.owner.status === "ingame" && order.visible && !order.private && !order.closed && order.is_direct_sell
|
|
6495
6482
|
).sort((a, b) => toTimeStamp(b.updated) - toTimeStamp(a.updated)).sort((a, b) => a.starting_price - b.starting_price).slice(0, 5);
|
|
6496
6483
|
if (top5.length === 0) {
|
|
6497
|
-
return
|
|
6484
|
+
return failure("wfm.noOnlineRivenSeller");
|
|
6498
6485
|
}
|
|
6499
6486
|
const orders = top5.map((e) => {
|
|
6500
6487
|
const transformed = e.item.attributes.map(
|
|
@@ -6620,6 +6607,54 @@ function createMiscsCommands(deps) {
|
|
|
6620
6607
|
}
|
|
6621
6608
|
__name(createMiscsCommands, "createMiscsCommands");
|
|
6622
6609
|
|
|
6610
|
+
// src/utils/assets.ts
|
|
6611
|
+
var import_node_fs2 = require("node:fs");
|
|
6612
|
+
var import_node_path2 = require("node:path");
|
|
6613
|
+
var textCache2 = /* @__PURE__ */ new Map();
|
|
6614
|
+
function assetRoot2() {
|
|
6615
|
+
if ((0, import_node_path2.basename)(__dirname) === "utils") {
|
|
6616
|
+
return (0, import_node_path2.resolve)(__dirname, "../assets");
|
|
6617
|
+
}
|
|
6618
|
+
return (0, import_node_path2.resolve)(__dirname, "assets");
|
|
6619
|
+
}
|
|
6620
|
+
__name(assetRoot2, "assetRoot");
|
|
6621
|
+
function assetPath2(path) {
|
|
6622
|
+
const root = assetRoot2();
|
|
6623
|
+
const resolved = (0, import_node_path2.resolve)(root, path);
|
|
6624
|
+
if (resolved !== root && !resolved.startsWith(`${root}${import_node_path2.sep}`)) {
|
|
6625
|
+
throw new Error(`Invalid asset path: ${path}`);
|
|
6626
|
+
}
|
|
6627
|
+
return resolved;
|
|
6628
|
+
}
|
|
6629
|
+
__name(assetPath2, "assetPath");
|
|
6630
|
+
function loadAssetText2(path) {
|
|
6631
|
+
const resolved = assetPath2(path);
|
|
6632
|
+
if (textCache2.has(resolved)) {
|
|
6633
|
+
return textCache2.get(resolved);
|
|
6634
|
+
}
|
|
6635
|
+
const data = (0, import_node_fs2.readFileSync)(resolved, "utf8");
|
|
6636
|
+
textCache2.set(resolved, data);
|
|
6637
|
+
return data;
|
|
6638
|
+
}
|
|
6639
|
+
__name(loadAssetText2, "loadAssetText");
|
|
6640
|
+
|
|
6641
|
+
// src/utils/color.ts
|
|
6642
|
+
function lerp(start, end, t2) {
|
|
6643
|
+
return Math.round(start + (end - start) * t2);
|
|
6644
|
+
}
|
|
6645
|
+
__name(lerp, "lerp");
|
|
6646
|
+
function hexToRgb(hex) {
|
|
6647
|
+
const r = Number.parseInt(hex.slice(1, 3), 16);
|
|
6648
|
+
const g = Number.parseInt(hex.slice(3, 5), 16);
|
|
6649
|
+
const b = Number.parseInt(hex.slice(5, 7), 16);
|
|
6650
|
+
return { r, g, b };
|
|
6651
|
+
}
|
|
6652
|
+
__name(hexToRgb, "hexToRgb");
|
|
6653
|
+
function rgbToHex(r, g, b) {
|
|
6654
|
+
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;
|
|
6655
|
+
}
|
|
6656
|
+
__name(rgbToHex, "rgbToHex");
|
|
6657
|
+
|
|
6623
6658
|
// src/components/wf.tsx
|
|
6624
6659
|
var import_jsx_runtime2 = require("@satorijs/element/jsx-runtime");
|
|
6625
6660
|
function ArbitrationComponent(arbi) {
|
|
@@ -8322,6 +8357,47 @@ function createWfCommands(deps) {
|
|
|
8322
8357
|
}
|
|
8323
8358
|
__name(createWfCommands, "createWfCommands");
|
|
8324
8359
|
|
|
8360
|
+
// src/components/render.tsx
|
|
8361
|
+
var import_koishi = require("koishi");
|
|
8362
|
+
var style = loadAssetText2("render.css");
|
|
8363
|
+
var svg = loadAssetText2("render-icons.svg");
|
|
8364
|
+
var template = loadAssetText2("render.html");
|
|
8365
|
+
var slots = {
|
|
8366
|
+
body: "<!-- __WARFRAME_RENDER_SLOT_BODY__ -->",
|
|
8367
|
+
title: "__WARFRAME_RENDER_SLOT_TITLE__",
|
|
8368
|
+
style: "/* __WARFRAME_RENDER_SLOT_STYLE__ */",
|
|
8369
|
+
svg: "<!-- __WARFRAME_RENDER_SLOT_SVG__ -->"
|
|
8370
|
+
};
|
|
8371
|
+
function htmlString(htmlString2, title = "title") {
|
|
8372
|
+
return template.replace(slots.body, () => htmlString2).replace(slots.title, () => title).replace(slots.style, () => style).replace(slots.svg, () => svg);
|
|
8373
|
+
}
|
|
8374
|
+
__name(htmlString, "htmlString");
|
|
8375
|
+
async function generateImageOutput(puppe, element) {
|
|
8376
|
+
if (!puppe) {
|
|
8377
|
+
return "本功能需要启用 koishi-plugin-puppeteer 插件";
|
|
8378
|
+
}
|
|
8379
|
+
return puppe.render(
|
|
8380
|
+
htmlString(element.toString()),
|
|
8381
|
+
async (page, next) => {
|
|
8382
|
+
const handle = await page.$("#root>*");
|
|
8383
|
+
return next(handle ?? void 0);
|
|
8384
|
+
}
|
|
8385
|
+
);
|
|
8386
|
+
}
|
|
8387
|
+
__name(generateImageOutput, "generateImageOutput");
|
|
8388
|
+
async function generateImageElementOutput(puppe, element) {
|
|
8389
|
+
return puppe.render(
|
|
8390
|
+
htmlString(element.toString()),
|
|
8391
|
+
async (page) => {
|
|
8392
|
+
const handle = await page.$("#root>*");
|
|
8393
|
+
const clip = await handle?.boundingBox() ?? void 0;
|
|
8394
|
+
const buffer = await page.screenshot({ clip });
|
|
8395
|
+
return import_koishi.h.image(buffer, "image/png");
|
|
8396
|
+
}
|
|
8397
|
+
);
|
|
8398
|
+
}
|
|
8399
|
+
__name(generateImageElementOutput, "generateImageElementOutput");
|
|
8400
|
+
|
|
8325
8401
|
// src/components/wfm.tsx
|
|
8326
8402
|
var import_jsx_runtime3 = require("@satorijs/element/jsx-runtime");
|
|
8327
8403
|
function ItemOrderComponent(item, orders) {
|
|
@@ -8363,9 +8439,10 @@ function ItemOrderComponent(item, orders) {
|
|
|
8363
8439
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("table", { style: "width:100%;", children: [
|
|
8364
8440
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("tr", { children: [
|
|
8365
8441
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("th", { style: "width:40%;", children: "玩家名" }),
|
|
8366
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("th", { style: "width:
|
|
8442
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("th", { style: "width:20%;", children: "状态" }),
|
|
8367
8443
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("th", { style: "width:10%;", children: "价格" }),
|
|
8368
8444
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("th", { style: "width:10%;", children: "数量" }),
|
|
8445
|
+
item.maxRank && item.maxRank > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("th", { style: "width:10%;", children: "等级" }) : null,
|
|
8369
8446
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("th", { style: "width:10%;", children: "好评" })
|
|
8370
8447
|
] }),
|
|
8371
8448
|
orders.map((order) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("tr", { children: [
|
|
@@ -8373,14 +8450,10 @@ function ItemOrderComponent(item, orders) {
|
|
|
8373
8450
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("td", { children: order.user.status }),
|
|
8374
8451
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("td", { children: order.platinum }),
|
|
8375
8452
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("td", { children: order.quantity }),
|
|
8453
|
+
item.maxRank && item.maxRank > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("td", { children: order.rank }) : null,
|
|
8376
8454
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("td", { children: order.user.reputation })
|
|
8377
8455
|
] }))
|
|
8378
|
-
] })
|
|
8379
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { style: "text-align: center; margin-top: 30px; font-size: 25px;", children: (() => {
|
|
8380
|
-
const firstOrder = orders[0];
|
|
8381
|
-
const comment = `/w ${firstOrder.user.ingameName} Hi! I want to buy: "${itemNameEN}${!item.maxRank || item.maxRank === 0 ? "" : ` (rank ${firstOrder.rank})`}" for ${firstOrder.platinum} platinum. (warframe.market)`;
|
|
8382
|
-
return comment;
|
|
8383
|
-
})() })
|
|
8456
|
+
] })
|
|
8384
8457
|
] });
|
|
8385
8458
|
}
|
|
8386
8459
|
__name(ItemOrderComponent, "ItemOrderComponent");
|
|
@@ -8824,6 +8897,18 @@ function PrimedModHistoryComponent(history) {
|
|
|
8824
8897
|
}
|
|
8825
8898
|
__name(PrimedModHistoryComponent, "PrimedModHistoryComponent");
|
|
8826
8899
|
|
|
8900
|
+
// src/messages/wfm.tsx
|
|
8901
|
+
var import_jsx_runtime4 = require("@satorijs/element/jsx-runtime");
|
|
8902
|
+
function wmMessage(img, item, orders) {
|
|
8903
|
+
const lines = orders.slice(0, 3).map((order) => `
|
|
8904
|
+
/w ${order.user.ingameName} Hi! I want to buy: "${item.i18n.en?.name}${!item.maxRank || item.maxRank === 0 ? "" : ` (rank ${order.rank})`}" for ${order.platinum} platinum. (warframe.market)`);
|
|
8905
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("message", { children: [
|
|
8906
|
+
img,
|
|
8907
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { children: lines.join("") })
|
|
8908
|
+
] });
|
|
8909
|
+
}
|
|
8910
|
+
__name(wmMessage, "wmMessage");
|
|
8911
|
+
|
|
8827
8912
|
// src/commands/wfm.ts
|
|
8828
8913
|
function createWfmCommands(deps) {
|
|
8829
8914
|
const { render } = deps;
|
|
@@ -8833,7 +8918,11 @@ function createWfmCommands(deps) {
|
|
|
8833
8918
|
if (!result.ok) {
|
|
8834
8919
|
return t(result);
|
|
8835
8920
|
}
|
|
8836
|
-
|
|
8921
|
+
if (!_action.session?.app.puppeteer) {
|
|
8922
|
+
return render(ItemOrderComponent(result.data.item, result.data.orders));
|
|
8923
|
+
}
|
|
8924
|
+
const component = await generateImageElementOutput(_action.session?.app.puppeteer, ItemOrderComponent(result.data.item, result.data.orders));
|
|
8925
|
+
return wmMessage(component, result.data.item, result.data.orders);
|
|
8837
8926
|
}, "wmCommand"),
|
|
8838
8927
|
wmrCommand: /* @__PURE__ */ __name(async (_action, input) => {
|
|
8839
8928
|
const result = await getRivenOrders(input);
|
|
@@ -8853,34 +8942,6 @@ function createWfmCommands(deps) {
|
|
|
8853
8942
|
}
|
|
8854
8943
|
__name(createWfmCommands, "createWfmCommands");
|
|
8855
8944
|
|
|
8856
|
-
// src/components/render.tsx
|
|
8857
|
-
var style = loadAssetText("render.css");
|
|
8858
|
-
var svg = loadAssetText("render-icons.svg");
|
|
8859
|
-
var template = loadAssetText("render.html");
|
|
8860
|
-
var slots = {
|
|
8861
|
-
body: "<!-- __WARFRAME_RENDER_SLOT_BODY__ -->",
|
|
8862
|
-
title: "__WARFRAME_RENDER_SLOT_TITLE__",
|
|
8863
|
-
style: "/* __WARFRAME_RENDER_SLOT_STYLE__ */",
|
|
8864
|
-
svg: "<!-- __WARFRAME_RENDER_SLOT_SVG__ -->"
|
|
8865
|
-
};
|
|
8866
|
-
function htmlString(htmlString2, title = "title") {
|
|
8867
|
-
return template.replace(slots.body, () => htmlString2).replace(slots.title, () => title).replace(slots.style, () => style).replace(slots.svg, () => svg);
|
|
8868
|
-
}
|
|
8869
|
-
__name(htmlString, "htmlString");
|
|
8870
|
-
async function generateImageOutput(puppe, element) {
|
|
8871
|
-
if (!puppe) {
|
|
8872
|
-
return "本功能需要启用 koishi-plugin-puppeteer 插件";
|
|
8873
|
-
}
|
|
8874
|
-
return puppe.render(
|
|
8875
|
-
htmlString(element.toString()),
|
|
8876
|
-
async (page, next) => {
|
|
8877
|
-
const handle = await page.$("#root>*");
|
|
8878
|
-
return next(handle ?? void 0);
|
|
8879
|
-
}
|
|
8880
|
-
);
|
|
8881
|
-
}
|
|
8882
|
-
__name(generateImageOutput, "generateImageOutput");
|
|
8883
|
-
|
|
8884
8945
|
// src/index.ts
|
|
8885
8946
|
var import_reflect_metadata = __toESM(require_Reflect());
|
|
8886
8947
|
var name = "warframe";
|
|
@@ -8905,10 +8966,10 @@ function apply(ctx) {
|
|
|
8905
8966
|
}
|
|
8906
8967
|
__name(apply, "apply");
|
|
8907
8968
|
function setupHooks(ctx, deps) {
|
|
8908
|
-
const { config, logger
|
|
8969
|
+
const { config, logger } = deps;
|
|
8909
8970
|
ctx.on("message", (session) => {
|
|
8910
8971
|
if (config.developerMode) {
|
|
8911
|
-
|
|
8972
|
+
logger.info(
|
|
8912
8973
|
`Koishi recieved message: ${session.content}
|
|
8913
8974
|
Platform: ${session.platform}
|
|
8914
8975
|
User: ${session.author.name}`
|
|
@@ -8917,7 +8978,7 @@ function setupHooks(ctx, deps) {
|
|
|
8917
8978
|
});
|
|
8918
8979
|
ctx.on("command/before-execute", (action) => {
|
|
8919
8980
|
if (config.developerMode) {
|
|
8920
|
-
|
|
8981
|
+
logger.info(
|
|
8921
8982
|
`WFM Plugin received command ${action.command?.name}
|
|
8922
8983
|
arguments: ${JSON.stringify(action.args)}`
|
|
8923
8984
|
);
|