koishi-plugin-cocoyyy-console 1.0.13 → 1.0.14-beta.0
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.js +24 -66
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1263,6 +1263,10 @@ ${list.map((item) => (0, import_koishi8.h)("at", { id: item })).join(",")}`;
|
|
|
1263
1263
|
if (!exec.result)
|
|
1264
1264
|
return `${target_uid}不在当前群聊中`;
|
|
1265
1265
|
}
|
|
1266
|
+
if (ctx.bots[session.uid]) {
|
|
1267
|
+
logger.info(`[rbqinstead] botId: ${session.uid}, sourceId: ${source_uid}, targetId: ${target_uid}`);
|
|
1268
|
+
return `已替换rbq:${(0, import_koishi8.h)("at", { id: source_uid })} -> ${(0, import_koishi8.h)("at", { id: target_uid })}`;
|
|
1269
|
+
}
|
|
1266
1270
|
exec = await instead_person(session.guildId, source_uid, target_uid);
|
|
1267
1271
|
if (!exec.result)
|
|
1268
1272
|
return `替换rbq失败:${exec.error}`;
|
|
@@ -1318,62 +1322,16 @@ ${list.map((item) => (0, import_koishi8.h)("at", { id: item })).join(",")}`;
|
|
|
1318
1322
|
__name(registerRbqCommands, "registerRbqCommands");
|
|
1319
1323
|
|
|
1320
1324
|
// src/services/test_command.ts
|
|
1321
|
-
var import_axios = __toESM(require("axios"));
|
|
1322
|
-
var import_qs = __toESM(require("qs"));
|
|
1323
|
-
var userMap = /* @__PURE__ */ new Map();
|
|
1324
1325
|
function registerTestCommands(ctx) {
|
|
1325
1326
|
ctx.command("test <参数>", "test").action(async ({ session }, phoneNumber, code) => {
|
|
1326
|
-
if (!phoneNumber || !code) return "请提供手机号和验证码";
|
|
1327
1327
|
try {
|
|
1328
|
-
const token = await getToken(phoneNumber, code);
|
|
1329
|
-
if (token.status) {
|
|
1330
|
-
return `验证码登录成功,库街区用户: ${token.data.userName}`;
|
|
1331
|
-
} else {
|
|
1332
|
-
return `验证码登录失败: ${token.msg}`;
|
|
1333
|
-
}
|
|
1334
1328
|
} catch (err) {
|
|
1335
1329
|
console.error(err);
|
|
1336
1330
|
return `test error: ${err.message}`;
|
|
1337
1331
|
}
|
|
1338
1332
|
});
|
|
1339
|
-
ctx.command("getuser <参数>", "getuser").action(async ({ session }, mobile) => {
|
|
1340
|
-
if (!mobile) return "请提供手机号";
|
|
1341
|
-
const user = userMap.get(mobile);
|
|
1342
|
-
if (user) {
|
|
1343
|
-
return `库街区用户: ${JSON.stringify(user)}`;
|
|
1344
|
-
} else {
|
|
1345
|
-
return `库街区用户不存在`;
|
|
1346
|
-
}
|
|
1347
|
-
});
|
|
1348
1333
|
}
|
|
1349
1334
|
__name(registerTestCommands, "registerTestCommands");
|
|
1350
|
-
var CONSTANTS = {
|
|
1351
|
-
REQUEST_HEADERS_BASE: {
|
|
1352
|
-
"source": "ios"
|
|
1353
|
-
}
|
|
1354
|
-
};
|
|
1355
|
-
async function getToken(mobile, code) {
|
|
1356
|
-
const devCode = [...Array(40)].map(() => "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.random() * 36 | 0]).join("");
|
|
1357
|
-
let data = import_qs.default.stringify({
|
|
1358
|
-
mobile,
|
|
1359
|
-
code
|
|
1360
|
-
});
|
|
1361
|
-
try {
|
|
1362
|
-
const response = await import_axios.default.post("https://api.kurobbs.com/user/sdkLogin", data, { headers: { ...CONSTANTS.REQUEST_HEADERS_BASE, devCode } });
|
|
1363
|
-
if (response.data.code === 200) {
|
|
1364
|
-
userMap.set(mobile, response.data.data);
|
|
1365
|
-
logger.info(`验证码登录成功,库街区用户: ${response.data.data.userName}`);
|
|
1366
|
-
return { status: true, data: response.data.data };
|
|
1367
|
-
} else {
|
|
1368
|
-
logger.error(`验证码登录失败: ${response.data.msg}`);
|
|
1369
|
-
return { status: false, msg: response.data.msg };
|
|
1370
|
-
}
|
|
1371
|
-
} catch (error) {
|
|
1372
|
-
logger.error(`验证码登录失败,疑似网络问题: ${error}`);
|
|
1373
|
-
return { status: false, msg: "登录失败,疑似网络问题,请检查控制台日志" };
|
|
1374
|
-
}
|
|
1375
|
-
}
|
|
1376
|
-
__name(getToken, "getToken");
|
|
1377
1335
|
|
|
1378
1336
|
// src/infra/redis_init.ts
|
|
1379
1337
|
var import_ioredis = __toESM(require("ioredis"));
|
|
@@ -1394,8 +1352,8 @@ function init_redis(config) {
|
|
|
1394
1352
|
__name(init_redis, "init_redis");
|
|
1395
1353
|
|
|
1396
1354
|
// src/services/kuro_func/kuro_service.ts
|
|
1397
|
-
var
|
|
1398
|
-
var
|
|
1355
|
+
var import_axios = __toESM(require("axios"));
|
|
1356
|
+
var import_qs = __toESM(require("qs"));
|
|
1399
1357
|
|
|
1400
1358
|
// src/models/kuro_user.ts
|
|
1401
1359
|
var import_sequelize8 = require("sequelize");
|
|
@@ -1503,7 +1461,7 @@ __name(createUpdateUser, "createUpdateUser");
|
|
|
1503
1461
|
|
|
1504
1462
|
// src/services/kuro_func/kuro_service.ts
|
|
1505
1463
|
var userTokenMap = /* @__PURE__ */ new Map();
|
|
1506
|
-
var
|
|
1464
|
+
var CONSTANTS = {
|
|
1507
1465
|
BASE_URL: "https://api.kurobbs.com",
|
|
1508
1466
|
LOGIN_URL: "/user/sdkLogin",
|
|
1509
1467
|
GAME_DATA_URL: "/gamer/role/list",
|
|
@@ -1527,11 +1485,11 @@ var CONSTANTS2 = {
|
|
|
1527
1485
|
"source": "ios"
|
|
1528
1486
|
}
|
|
1529
1487
|
};
|
|
1530
|
-
var wavesApi =
|
|
1488
|
+
var wavesApi = import_axios.default.create();
|
|
1531
1489
|
wavesApi.interceptors.request.use(
|
|
1532
1490
|
async (config) => {
|
|
1533
1491
|
if (config.url.startsWith("/")) {
|
|
1534
|
-
config.url =
|
|
1492
|
+
config.url = CONSTANTS.BASE_URL + config.url;
|
|
1535
1493
|
}
|
|
1536
1494
|
return config;
|
|
1537
1495
|
},
|
|
@@ -1573,18 +1531,18 @@ async function checkUserToken(qq_uid) {
|
|
|
1573
1531
|
return userInfo;
|
|
1574
1532
|
}
|
|
1575
1533
|
__name(checkUserToken, "checkUserToken");
|
|
1576
|
-
async function
|
|
1534
|
+
async function getToken(session, mobile, code) {
|
|
1577
1535
|
const existed = await checkUserToken(session.uid);
|
|
1578
1536
|
if (existed) {
|
|
1579
1537
|
return { status: true, data: existed };
|
|
1580
1538
|
}
|
|
1581
1539
|
const devCode = [...Array(40)].map(() => "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.random() * 36 | 0]).join("");
|
|
1582
|
-
let data =
|
|
1540
|
+
let data = import_qs.default.stringify({
|
|
1583
1541
|
mobile,
|
|
1584
1542
|
code
|
|
1585
1543
|
});
|
|
1586
1544
|
try {
|
|
1587
|
-
const user_response = await wavesApi.post(
|
|
1545
|
+
const user_response = await wavesApi.post(CONSTANTS.LOGIN_URL, data, { headers: { ...CONSTANTS.REQUEST_HEADERS_BASE, devCode } });
|
|
1588
1546
|
if (user_response.data.code != 200) {
|
|
1589
1547
|
logger.error(`验证码登录失败: ${user_response.data.msg}`);
|
|
1590
1548
|
return { status: false, msg: user_response.data.msg };
|
|
@@ -1618,13 +1576,13 @@ async function getToken2(session, mobile, code) {
|
|
|
1618
1576
|
return { status: false, msg: "疑似网络问题,请检查控制台日志" };
|
|
1619
1577
|
}
|
|
1620
1578
|
}
|
|
1621
|
-
__name(
|
|
1579
|
+
__name(getToken, "getToken");
|
|
1622
1580
|
async function getGameData(token) {
|
|
1623
1581
|
try {
|
|
1624
|
-
let data =
|
|
1582
|
+
let data = import_qs.default.stringify({
|
|
1625
1583
|
"gameId": 3
|
|
1626
1584
|
});
|
|
1627
|
-
const response = await wavesApi.post(
|
|
1585
|
+
const response = await wavesApi.post(CONSTANTS.GAME_DATA_URL, data, { headers: { ...CONSTANTS.REQUEST_HEADERS_BASE, "token": token } });
|
|
1628
1586
|
if (response.data.code === 200) {
|
|
1629
1587
|
return { status: true, data: response.data.data[0] };
|
|
1630
1588
|
} else {
|
|
@@ -1638,12 +1596,12 @@ async function getGameData(token) {
|
|
|
1638
1596
|
}
|
|
1639
1597
|
__name(getGameData, "getGameData");
|
|
1640
1598
|
async function isAvailable(serverId, roleId, token) {
|
|
1641
|
-
let data =
|
|
1599
|
+
let data = import_qs.default.stringify({
|
|
1642
1600
|
"serverId": serverId,
|
|
1643
1601
|
"roleId": roleId
|
|
1644
1602
|
});
|
|
1645
1603
|
try {
|
|
1646
|
-
const response = await wavesApi.post(
|
|
1604
|
+
const response = await wavesApi.post(CONSTANTS.TOKEN_REFRESH_URL, data, { headers: { ...CONSTANTS.REQUEST_HEADERS_BASE, "token": token } });
|
|
1647
1605
|
if (response.data.code === 220) {
|
|
1648
1606
|
logger.info(`${roleId} 获取可用性成功,账号已过期`);
|
|
1649
1607
|
return { status: false, msg: "账号已过期" };
|
|
@@ -1658,13 +1616,13 @@ async function isAvailable(serverId, roleId, token) {
|
|
|
1658
1616
|
}
|
|
1659
1617
|
__name(isAvailable, "isAvailable");
|
|
1660
1618
|
async function refreshData(bat, serverId, roleId, token) {
|
|
1661
|
-
let data =
|
|
1619
|
+
let data = import_qs.default.stringify({
|
|
1662
1620
|
"gameId": 3,
|
|
1663
1621
|
"serverId": serverId,
|
|
1664
1622
|
"roleId": roleId
|
|
1665
1623
|
});
|
|
1666
1624
|
try {
|
|
1667
|
-
const response = await wavesApi.post(
|
|
1625
|
+
const response = await wavesApi.post(CONSTANTS.REFRESH_URL, data, { headers: { ...CONSTANTS.REQUEST_HEADERS_BASE, "token": token, "b-at": bat } });
|
|
1668
1626
|
if (response.data.code === 10902 || response.data.code === 200) {
|
|
1669
1627
|
return { status: true, data: response.data.data };
|
|
1670
1628
|
} else {
|
|
@@ -1683,7 +1641,7 @@ async function signIn(qq_uid) {
|
|
|
1683
1641
|
return { status: false, msg: "未检测到登录信息或信息已过期,请重新登录!" };
|
|
1684
1642
|
}
|
|
1685
1643
|
await refreshData(userInfo.bat, userInfo.server_id, userInfo.role_id, userInfo.token);
|
|
1686
|
-
let data =
|
|
1644
|
+
let data = import_qs.default.stringify({
|
|
1687
1645
|
"gameId": 3,
|
|
1688
1646
|
"serverId": userInfo.server_id,
|
|
1689
1647
|
"roleId": userInfo.role_id,
|
|
@@ -1691,7 +1649,7 @@ async function signIn(qq_uid) {
|
|
|
1691
1649
|
"reqMonth": ((/* @__PURE__ */ new Date()).getMonth() + 1).toString().padStart(2, "0")
|
|
1692
1650
|
});
|
|
1693
1651
|
try {
|
|
1694
|
-
const response = await wavesApi.post(
|
|
1652
|
+
const response = await wavesApi.post(CONSTANTS.SIGNIN_URL, data, { headers: { ...CONSTANTS.REQUEST_HEADERS_BASE, "token": userInfo.token, devcode: "", "b-at": userInfo.bat } });
|
|
1695
1653
|
if (response.data.code === 200) {
|
|
1696
1654
|
if (response.data.data === null) {
|
|
1697
1655
|
logger.info(`[signIn Info]: ${qq_uid} 签到失败,返回空数据`);
|
|
@@ -1714,13 +1672,13 @@ async function getRoleData(qq_uid) {
|
|
|
1714
1672
|
return { status: false, msg: "未检测到登录信息或信息已过期,请重新登录!" };
|
|
1715
1673
|
}
|
|
1716
1674
|
await refreshData(userInfo.bat, userInfo.server_id, userInfo.role_id, userInfo.token);
|
|
1717
|
-
let data =
|
|
1675
|
+
let data = import_qs.default.stringify({
|
|
1718
1676
|
"gameId": 3,
|
|
1719
1677
|
"serverId": userInfo.server_id,
|
|
1720
1678
|
"roleId": userInfo.role_id
|
|
1721
1679
|
});
|
|
1722
1680
|
try {
|
|
1723
|
-
const response = await wavesApi.post(
|
|
1681
|
+
const response = await wavesApi.post(CONSTANTS.ROLE_DATA_URL, data, { headers: { ...CONSTANTS.REQUEST_HEADERS_BASE, "token": userInfo.token, "b-at": userInfo.bat } });
|
|
1724
1682
|
if (response.data.code === 10902 || response.data.code === 200) {
|
|
1725
1683
|
response.data.data = JSON.parse(response.data.data);
|
|
1726
1684
|
if (response.data.data === null || !response.data.data.showToGuest) {
|
|
@@ -1750,7 +1708,7 @@ function registerKuroCommands(ctx, connected) {
|
|
|
1750
1708
|
}
|
|
1751
1709
|
if (!phoneNumber || !code) return "请提供手机号和验证码,如:@bot login [手机号] [验证码]";
|
|
1752
1710
|
try {
|
|
1753
|
-
const result = await
|
|
1711
|
+
const result = await getToken(session, phoneNumber, code);
|
|
1754
1712
|
if (result.status) {
|
|
1755
1713
|
return `登录成功,库街区用户: ${result.data.user_name}`;
|
|
1756
1714
|
} else {
|