koishi-plugin-game-mini 0.2.9 → 0.3.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 +20 -19
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -674,27 +674,12 @@ async function apply(ctx, cfg) {
|
|
|
674
674
|
const refreshActive = (st) => {
|
|
675
675
|
st.chengyuJielong.lastActiveTime = Date.now();
|
|
676
676
|
};
|
|
677
|
-
const scheduleAutoPlay = (session, key, st) => {
|
|
678
|
-
clearAllTimers(st);
|
|
679
|
-
if (st.chengyuJielong.currentRound === 1 && st.chengyuJielong.jielongCount === 0) {
|
|
680
|
-
const delay = 100;
|
|
681
|
-
st.chengyuJielong.autoPlayTimer = setTimeout(() => {
|
|
682
|
-
doAutoPlay(session, key, st);
|
|
683
|
-
}, delay);
|
|
684
|
-
return;
|
|
685
|
-
}
|
|
686
|
-
if (cfg.chengyuJielong.botParticipate && st.chengyuJielong.botTurn) {
|
|
687
|
-
const delay = cfg.chengyuJielong.autoPlayDelay * 1000;
|
|
688
|
-
st.chengyuJielong.autoPlayTimer = setTimeout(() => {
|
|
689
|
-
doAutoPlay(session, key, st);
|
|
690
|
-
}, delay);
|
|
691
|
-
}
|
|
692
|
-
};
|
|
693
677
|
const doAutoPlay = async (session, key, st) => {
|
|
694
678
|
if (!st.chengyuJielong.started)
|
|
695
679
|
return;
|
|
696
680
|
try {
|
|
697
681
|
const intUserId = getIntUserId(session);
|
|
682
|
+
logger.info(`[成语接龙] 开始调用API,用户ID: ${intUserId}`);
|
|
698
683
|
const r = await axios_1.default.get('https://api.suol.cc/v1/game_cyjl.php', {
|
|
699
684
|
params: {
|
|
700
685
|
id: intUserId,
|
|
@@ -705,6 +690,7 @@ async function apply(ctx, cfg) {
|
|
|
705
690
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
|
|
706
691
|
}
|
|
707
692
|
});
|
|
693
|
+
logger.info(`[成语接龙] API返回状态码: ${r.status}`);
|
|
708
694
|
const dt = r.data;
|
|
709
695
|
let m = '';
|
|
710
696
|
if (dt.code === 200 && dt.data?.system) {
|
|
@@ -713,9 +699,11 @@ async function apply(ctx, cfg) {
|
|
|
713
699
|
st.chengyuJielong.lastChar = dt.data.current_char || '';
|
|
714
700
|
st.chengyuJielong.jielongCount += 1;
|
|
715
701
|
st.chengyuJielong.botTurn = false;
|
|
702
|
+
logger.info(`[成语接龙] 成功获取成语: ${sys.idiom}`);
|
|
716
703
|
await session.send(m);
|
|
717
704
|
}
|
|
718
705
|
else {
|
|
706
|
+
logger.warn(`[成语接龙] API返回异常: code=${dt.code}, msg=${dt.msg}`);
|
|
719
707
|
m = dt.msg || d.chengyuJielong.botWin;
|
|
720
708
|
st.chengyuJielong.currentRound += 1;
|
|
721
709
|
st.chengyuJielong.botTurn = true;
|
|
@@ -750,6 +738,8 @@ async function apply(ctx, cfg) {
|
|
|
750
738
|
}
|
|
751
739
|
}
|
|
752
740
|
catch (error) {
|
|
741
|
+
const err = error;
|
|
742
|
+
logger.error(`[成语接龙] API调用失败: ${err.message}`);
|
|
753
743
|
await session.send(d.chengyuJielong.apiError);
|
|
754
744
|
}
|
|
755
745
|
gameStates.set(key, st);
|
|
@@ -798,6 +788,7 @@ async function apply(ctx, cfg) {
|
|
|
798
788
|
}
|
|
799
789
|
try {
|
|
800
790
|
const intUserId = getIntUserId(session);
|
|
791
|
+
logger.info(`[成语接龙玩家] 开始调用API,用户ID: ${intUserId}, 内容: ${content}`);
|
|
801
792
|
const r = await axios_1.default.get('https://api.suol.cc/v1/game_cyjl.php', {
|
|
802
793
|
params: {
|
|
803
794
|
id: intUserId,
|
|
@@ -808,6 +799,7 @@ async function apply(ctx, cfg) {
|
|
|
808
799
|
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
|
|
809
800
|
}
|
|
810
801
|
});
|
|
802
|
+
logger.info(`[成语接龙玩家] API返回状态码: ${r.status}`);
|
|
811
803
|
const dt = r.data;
|
|
812
804
|
let m = '';
|
|
813
805
|
if (dt.code === 200) {
|
|
@@ -816,28 +808,36 @@ async function apply(ctx, cfg) {
|
|
|
816
808
|
m += d.chengyuJielong.correct + '\n';
|
|
817
809
|
m += `你的成语:${dt.data.user.idiom}\n`;
|
|
818
810
|
st.chengyuJielong.botTurn = true;
|
|
811
|
+
logger.info(`[成语接龙玩家] 接龙成功: ${dt.data.user.idiom}`);
|
|
819
812
|
}
|
|
820
813
|
else {
|
|
821
814
|
m += d.chengyuJielong.wrong + '\n';
|
|
815
|
+
logger.info(`[成语接龙玩家] 接龙失败`);
|
|
822
816
|
}
|
|
823
817
|
if (dt.data?.system) {
|
|
824
818
|
m += `我的接龙:${dt.data.system.idiom}`;
|
|
825
819
|
st.chengyuJielong.lastChar = dt.data.current_char || '';
|
|
826
820
|
st.chengyuJielong.jielongCount += 1;
|
|
821
|
+
logger.info(`[成语接龙玩家] 机器人接龙: ${dt.data.system.idiom}`);
|
|
827
822
|
}
|
|
828
823
|
st.chengyuJielong.currentRound += 1;
|
|
829
824
|
await session.send(m);
|
|
830
825
|
if (cfg.chengyuJielong.botParticipate && st.chengyuJielong.botTurn) {
|
|
831
|
-
|
|
826
|
+
setTimeout(() => {
|
|
827
|
+
doAutoPlay(session, key, st);
|
|
828
|
+
}, cfg.chengyuJielong.autoPlayDelay * 1000);
|
|
832
829
|
}
|
|
833
830
|
}
|
|
834
831
|
else {
|
|
832
|
+
logger.warn(`[成语接龙玩家] API返回异常: code=${dt.code}, msg=${dt.msg}`);
|
|
835
833
|
m = dt.msg || '接龙失败';
|
|
836
834
|
m += '\n' + d.chengyuJielong.wrong;
|
|
837
835
|
await session.send(m);
|
|
838
836
|
}
|
|
839
837
|
}
|
|
840
838
|
catch (error) {
|
|
839
|
+
const err = error;
|
|
840
|
+
logger.error(`[成语接龙玩家] API调用失败: ${err.message}`);
|
|
841
841
|
await session.send(d.chengyuJielong.apiError);
|
|
842
842
|
}
|
|
843
843
|
setupAutoStop(session, st.chengyuJielong, 'chengyuJielong', d.chengyuJielong.autoStop, cfg.chengyuJielong.showRank, d.chengyuJielong.rankTitle, d.chengyuJielong.rankEmpty);
|
|
@@ -1321,9 +1321,10 @@ async function apply(ctx, cfg) {
|
|
|
1321
1321
|
st.chengyuJielong.autoPlayCount = 0;
|
|
1322
1322
|
st.chengyuJielong.jielongCount = 0;
|
|
1323
1323
|
st.chengyuJielong.botTurn = true;
|
|
1324
|
-
st.chengyuJielong.hasTriggeredAutoPlay = false;
|
|
1325
1324
|
await session.send(d.chengyuJielong.start.replace('{0}', st.chengyuJielong.totalRounds.toString()));
|
|
1326
|
-
|
|
1325
|
+
setTimeout(() => {
|
|
1326
|
+
doAutoPlay(session, key, st);
|
|
1327
|
+
}, 100);
|
|
1327
1328
|
gameStates.set(key, st);
|
|
1328
1329
|
setupAutoStop(session, st.chengyuJielong, 'chengyuJielong', d.chengyuJielong.autoStop, cfg.chengyuJielong.showRank, d.chengyuJielong.rankTitle, d.chengyuJielong.rankEmpty);
|
|
1329
1330
|
}
|