koishi-plugin-game-mini 0.1.9 → 0.2.1
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 +150 -54
- package/lib/locales/locales/zh-CN.yml +32 -0
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -14,49 +14,130 @@ exports.name = 'game-mini';
|
|
|
14
14
|
exports.using = ['i18n'];
|
|
15
15
|
exports.inject = ['console'];
|
|
16
16
|
exports.Config = koishi_1.Schema.object({
|
|
17
|
-
enableNumberGuess: koishi_1.Schema.boolean().default(true)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
enableNumberGuess: koishi_1.Schema.boolean().default(true)
|
|
18
|
+
.description('是否启用猜数字游戏')
|
|
19
|
+
.i18n({ 'zh-CN': '启用猜数字游戏' }),
|
|
20
|
+
enableWzHero: koishi_1.Schema.boolean().default(true)
|
|
21
|
+
.description('是否启用王者英雄猜谜游戏')
|
|
22
|
+
.i18n({ 'zh-CN': '启用王者英雄猜谜' }),
|
|
23
|
+
enableChengyuImage: koishi_1.Schema.boolean().default(true)
|
|
24
|
+
.description('是否启用看图猜成语游戏')
|
|
25
|
+
.i18n({ 'zh-CN': '启用看图猜成语' }),
|
|
26
|
+
enableChengyuJielong: koishi_1.Schema.boolean().default(true)
|
|
27
|
+
.description('是否启用成语接龙游戏')
|
|
28
|
+
.i18n({ 'zh-CN': '启用成语接龙' }),
|
|
29
|
+
enablePrivateGame: koishi_1.Schema.boolean().default(true)
|
|
30
|
+
.description('是否允许私聊玩游戏')
|
|
31
|
+
.i18n({ 'zh-CN': '允许私聊玩游戏' }),
|
|
32
|
+
autoPlayDelay: koishi_1.Schema.number().min(0).default(10)
|
|
33
|
+
.description('成语接龙机器人自动接龙延迟(秒)')
|
|
34
|
+
.i18n({ 'zh-CN': '机器人自动接龙延迟(秒)' }),
|
|
35
|
+
autoPlayMaxCount: koishi_1.Schema.number().min(1).default(5)
|
|
36
|
+
.description('成语接龙机器人最大自动接龙次数')
|
|
37
|
+
.i18n({ 'zh-CN': '机器人最大自动接龙次数' }),
|
|
38
|
+
autoStopInactiveTime: koishi_1.Schema.number().min(0).default(30)
|
|
39
|
+
.description('游戏无操作自动停止时间(秒)')
|
|
40
|
+
.i18n({ 'zh-CN': '无操作自动停止时间(秒)' }),
|
|
25
41
|
guessNumber: koishi_1.Schema.object({
|
|
26
|
-
min: koishi_1.Schema.number().min(0).default(0)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
42
|
+
min: koishi_1.Schema.number().min(0).default(0)
|
|
43
|
+
.description('猜数字最小值')
|
|
44
|
+
.i18n({ 'zh-CN': '最小值' }),
|
|
45
|
+
max: koishi_1.Schema.number().min(1).default(100)
|
|
46
|
+
.description('猜数字最大值')
|
|
47
|
+
.i18n({ 'zh-CN': '最大值' }),
|
|
48
|
+
botParticipateInGroup: koishi_1.Schema.boolean().default(true)
|
|
49
|
+
.description('群聊中机器人是否参与猜数字')
|
|
50
|
+
.i18n({ 'zh-CN': '机器人参与群聊游戏' }),
|
|
51
|
+
totalRounds: koishi_1.Schema.number().min(1).default(10)
|
|
52
|
+
.description('猜数字总回合数')
|
|
53
|
+
.i18n({ 'zh-CN': '总回合数' }),
|
|
54
|
+
showRank: koishi_1.Schema.boolean().default(true)
|
|
55
|
+
.description('游戏结束后是否显示排行榜')
|
|
56
|
+
.i18n({ 'zh-CN': '显示排行榜' }),
|
|
57
|
+
}).description('猜数字游戏配置')
|
|
58
|
+
.i18n({ 'zh-CN': '猜数字游戏配置' }),
|
|
32
59
|
wzHero: koishi_1.Schema.object({
|
|
33
|
-
botParticipateInGroup: koishi_1.Schema.boolean().default(false)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
60
|
+
botParticipateInGroup: koishi_1.Schema.boolean().default(false)
|
|
61
|
+
.description('群聊中机器人是否参与王者英雄猜谜')
|
|
62
|
+
.i18n({ 'zh-CN': '机器人参与群聊游戏' }),
|
|
63
|
+
totalRounds: koishi_1.Schema.number().min(1).default(10)
|
|
64
|
+
.description('王者英雄猜谜总回合数')
|
|
65
|
+
.i18n({ 'zh-CN': '总回合数' }),
|
|
66
|
+
showRank: koishi_1.Schema.boolean().default(true)
|
|
67
|
+
.description('游戏结束后是否显示排行榜')
|
|
68
|
+
.i18n({ 'zh-CN': '显示排行榜' }),
|
|
69
|
+
}).description('王者英雄猜谜游戏配置')
|
|
70
|
+
.i18n({ 'zh-CN': '王者英雄猜谜配置' }),
|
|
37
71
|
chengyuImage: koishi_1.Schema.object({
|
|
38
|
-
botParticipateInGroup: koishi_1.Schema.boolean().default(false)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
72
|
+
botParticipateInGroup: koishi_1.Schema.boolean().default(false)
|
|
73
|
+
.description('群聊中机器人是否参与看图猜成语')
|
|
74
|
+
.i18n({ 'zh-CN': '机器人参与群聊游戏' }),
|
|
75
|
+
totalRounds: koishi_1.Schema.number().min(1).default(10)
|
|
76
|
+
.description('看图猜成语总回合数')
|
|
77
|
+
.i18n({ 'zh-CN': '总回合数' }),
|
|
78
|
+
showRank: koishi_1.Schema.boolean().default(true)
|
|
79
|
+
.description('游戏结束后是否显示排行榜')
|
|
80
|
+
.i18n({ 'zh-CN': '显示排行榜' }),
|
|
81
|
+
}).description('看图猜成语游戏配置')
|
|
82
|
+
.i18n({ 'zh-CN': '看图猜成语配置' }),
|
|
42
83
|
chengyuJielong: koishi_1.Schema.object({
|
|
43
|
-
botParticipateInGroup: koishi_1.Schema.boolean().default(true)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
84
|
+
botParticipateInGroup: koishi_1.Schema.boolean().default(true)
|
|
85
|
+
.description('群聊中机器人是否参与成语接龙')
|
|
86
|
+
.i18n({ 'zh-CN': '机器人参与群聊游戏' }),
|
|
87
|
+
totalRounds: koishi_1.Schema.number().min(1).default(10)
|
|
88
|
+
.description('成语接龙总回合数')
|
|
89
|
+
.i18n({ 'zh-CN': '总回合数' }),
|
|
90
|
+
showRank: koishi_1.Schema.boolean().default(true)
|
|
91
|
+
.description('游戏结束后是否显示排行榜')
|
|
92
|
+
.i18n({ 'zh-CN': '显示排行榜' }),
|
|
93
|
+
}).description('成语接龙游戏配置')
|
|
94
|
+
.i18n({ 'zh-CN': '成语接龙配置' }),
|
|
47
95
|
apiConfig: koishi_1.Schema.object({
|
|
48
|
-
timeout: koishi_1.Schema.number().default(5000)
|
|
49
|
-
|
|
50
|
-
|
|
96
|
+
timeout: koishi_1.Schema.number().default(5000)
|
|
97
|
+
.description('API请求超时时间(毫秒)')
|
|
98
|
+
.i18n({ 'zh-CN': '请求超时时间(毫秒)' }),
|
|
99
|
+
}).description('API接口配置')
|
|
100
|
+
.i18n({ 'zh-CN': 'API接口配置' }),
|
|
101
|
+
}).i18n({
|
|
102
|
+
'zh-CN': {
|
|
103
|
+
'enableNumberGuess': '启用猜数字游戏',
|
|
104
|
+
'enableWzHero': '启用王者英雄猜谜',
|
|
105
|
+
'enableChengyuImage': '启用看图猜成语',
|
|
106
|
+
'enableChengyuJielong': '启用成语接龙',
|
|
107
|
+
'enablePrivateGame': '允许私聊玩游戏',
|
|
108
|
+
'autoPlayDelay': '机器人自动接龙延迟(秒)',
|
|
109
|
+
'autoPlayMaxCount': '机器人最大自动接龙次数',
|
|
110
|
+
'autoStopInactiveTime': '无操作自动停止时间(秒)',
|
|
111
|
+
'guessNumber': '猜数字游戏配置',
|
|
112
|
+
'guessNumber.min': '最小值',
|
|
113
|
+
'guessNumber.max': '最大值',
|
|
114
|
+
'guessNumber.botParticipateInGroup': '机器人参与群聊游戏',
|
|
115
|
+
'guessNumber.totalRounds': '总回合数',
|
|
116
|
+
'guessNumber.showRank': '显示排行榜',
|
|
117
|
+
'wzHero': '王者英雄猜谜配置',
|
|
118
|
+
'wzHero.botParticipateInGroup': '机器人参与群聊游戏',
|
|
119
|
+
'wzHero.totalRounds': '总回合数',
|
|
120
|
+
'wzHero.showRank': '显示排行榜',
|
|
121
|
+
'chengyuImage': '看图猜成语配置',
|
|
122
|
+
'chengyuImage.botParticipateInGroup': '机器人参与群聊游戏',
|
|
123
|
+
'chengyuImage.totalRounds': '总回合数',
|
|
124
|
+
'chengyuImage.showRank': '显示排行榜',
|
|
125
|
+
'chengyuJielong': '成语接龙配置',
|
|
126
|
+
'chengyuJielong.botParticipateInGroup': '机器人参与群聊游戏',
|
|
127
|
+
'chengyuJielong.totalRounds': '总回合数',
|
|
128
|
+
'chengyuJielong.showRank': '显示排行榜',
|
|
129
|
+
'apiConfig': 'API接口配置',
|
|
130
|
+
'apiConfig.timeout': '请求超时时间(毫秒)'
|
|
131
|
+
}
|
|
132
|
+
});
|
|
51
133
|
const logger = new koishi_1.Logger('game-mini');
|
|
52
134
|
const gameStates = new Map();
|
|
53
135
|
const getSessionKey = (s) => s.channelId ? `g:${s.channelId}` : `p:${s.userId}`;
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
return
|
|
136
|
+
const getIntUserId = (session) => {
|
|
137
|
+
const userIdStr = session.userId || '0';
|
|
138
|
+
const hash = userIdStr.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
139
|
+
return hash || 1000000;
|
|
58
140
|
};
|
|
59
|
-
// 修复:确保返回的PlayerData中所有字段都是string类型
|
|
60
141
|
const getPlayerData = (session) => {
|
|
61
142
|
const safeUserId = session.userId || 'unknown_user';
|
|
62
143
|
return {
|
|
@@ -166,7 +247,6 @@ const addScoreToOthers = (players, excludePlayerKey) => {
|
|
|
166
247
|
});
|
|
167
248
|
};
|
|
168
249
|
function apply(ctx, cfg) {
|
|
169
|
-
// 修复:为wzHero添加缺失的start属性
|
|
170
250
|
const d = {
|
|
171
251
|
guessNumber: {
|
|
172
252
|
usage: "用法错误!正确用法:guess start/stop 或 直接输入数字",
|
|
@@ -183,7 +263,7 @@ function apply(ctx, cfg) {
|
|
|
183
263
|
disabled: "猜数字功能已关闭,请联系管理员开启",
|
|
184
264
|
},
|
|
185
265
|
wzHero: {
|
|
186
|
-
start: "王者英雄猜谜开始!本次共 {0} 回合~",
|
|
266
|
+
start: "王者英雄猜谜开始!本次共 {0} 回合~",
|
|
187
267
|
startUsage: "用法错误!正确用法:wzhero start [难度] 开始游戏",
|
|
188
268
|
stop: "王者英雄猜谜比赛已停止",
|
|
189
269
|
notStarted: "王者英雄猜谜比赛尚未开始,请输入 wzhero start [难度] 开始游戏",
|
|
@@ -298,9 +378,16 @@ function apply(ctx, cfg) {
|
|
|
298
378
|
st.chengyuJielong.autoPlayCount += 1;
|
|
299
379
|
gameStates.set(key, st);
|
|
300
380
|
try {
|
|
301
|
-
|
|
381
|
+
const intUserId = getIntUserId(session);
|
|
302
382
|
const r = await axios_1.default.get('https://api.suol.cc/v1/game_cyjl.php', {
|
|
303
|
-
params: {
|
|
383
|
+
params: {
|
|
384
|
+
id: intUserId,
|
|
385
|
+
msg: '我接'
|
|
386
|
+
},
|
|
387
|
+
timeout: cfg.apiConfig.timeout,
|
|
388
|
+
headers: {
|
|
389
|
+
'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'
|
|
390
|
+
}
|
|
304
391
|
});
|
|
305
392
|
const dt = r.data;
|
|
306
393
|
let m = '';
|
|
@@ -310,7 +397,7 @@ function apply(ctx, cfg) {
|
|
|
310
397
|
st.chengyuJielong.lastChar = dt.data.current_char || '';
|
|
311
398
|
}
|
|
312
399
|
else {
|
|
313
|
-
m = d.chengyuJielong.botWin;
|
|
400
|
+
m = dt.msg || d.chengyuJielong.botWin;
|
|
314
401
|
st.chengyuJielong.currentRound += 1;
|
|
315
402
|
if (st.chengyuJielong.currentRound > st.chengyuJielong.totalRounds) {
|
|
316
403
|
st.chengyuJielong.started = false;
|
|
@@ -345,8 +432,7 @@ function apply(ctx, cfg) {
|
|
|
345
432
|
if (isPrivate(session) && !cfg.enablePrivateGame)
|
|
346
433
|
return next();
|
|
347
434
|
const content = session.content.trim();
|
|
348
|
-
|
|
349
|
-
const playerKey = getPlayerKey(session.platform, session.userId);
|
|
435
|
+
const playerKey = `${session.platform}_${session.userId || 'unknown'}`;
|
|
350
436
|
if (cfg.enableChengyuJielong && st.chengyuJielong.started) {
|
|
351
437
|
refreshActive(st);
|
|
352
438
|
if (!st.chengyuJielong.players[playerKey]) {
|
|
@@ -358,14 +444,22 @@ function apply(ctx, cfg) {
|
|
|
358
444
|
return next();
|
|
359
445
|
}
|
|
360
446
|
try {
|
|
447
|
+
const intUserId = getIntUserId(session);
|
|
361
448
|
const r = await axios_1.default.get('https://api.suol.cc/v1/game_cyjl.php', {
|
|
362
|
-
params: {
|
|
449
|
+
params: {
|
|
450
|
+
id: intUserId,
|
|
451
|
+
msg: `我接${content}`
|
|
452
|
+
},
|
|
453
|
+
timeout: cfg.apiConfig.timeout,
|
|
454
|
+
headers: {
|
|
455
|
+
'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'
|
|
456
|
+
}
|
|
363
457
|
});
|
|
364
458
|
const dt = r.data;
|
|
365
459
|
let m = '';
|
|
366
460
|
if (dt.code === 200) {
|
|
367
461
|
m = dt.msg + '\n';
|
|
368
|
-
if (dt.data
|
|
462
|
+
if (dt.data?.user) {
|
|
369
463
|
st.chengyuJielong.players[playerKey].score += 1;
|
|
370
464
|
st.chengyuJielong.players[playerKey].correctCount += 1;
|
|
371
465
|
m += d.chengyuJielong.correct.replace('{0}', st.chengyuJielong.players[playerKey].score.toString()) + '\n';
|
|
@@ -375,7 +469,7 @@ function apply(ctx, cfg) {
|
|
|
375
469
|
addScoreToOthers(st.chengyuJielong.players, playerKey);
|
|
376
470
|
m += d.chengyuJielong.wrong.replace('{1}', st.chengyuJielong.players[playerKey].score.toString()) + '\n';
|
|
377
471
|
}
|
|
378
|
-
if (dt.data
|
|
472
|
+
if (dt.data?.system) {
|
|
379
473
|
m += `我的接龙:${dt.data.system.idiom}(${dt.data.system.pinyin})\n释义:${dt.data.system.meaning}`;
|
|
380
474
|
st.chengyuJielong.lastChar = dt.data.current_char || '';
|
|
381
475
|
}
|
|
@@ -435,7 +529,6 @@ function apply(ctx, cfg) {
|
|
|
435
529
|
}
|
|
436
530
|
}
|
|
437
531
|
catch (error) {
|
|
438
|
-
logger.error(error);
|
|
439
532
|
await session.send(d.chengyuImage.hintError);
|
|
440
533
|
}
|
|
441
534
|
return;
|
|
@@ -510,7 +603,6 @@ function apply(ctx, cfg) {
|
|
|
510
603
|
}
|
|
511
604
|
}
|
|
512
605
|
catch (error) {
|
|
513
|
-
logger.error(error);
|
|
514
606
|
await session.send(d.chengyuImage.apiError);
|
|
515
607
|
}
|
|
516
608
|
gameStates.set(key, st);
|
|
@@ -523,7 +615,7 @@ function apply(ctx, cfg) {
|
|
|
523
615
|
}
|
|
524
616
|
try {
|
|
525
617
|
const r = await axios_1.default.get('https://api.suol.cc/v1/game_wz.php', {
|
|
526
|
-
params: { id:
|
|
618
|
+
params: { id: getIntUserId(session), msg: content }, timeout: cfg.apiConfig.timeout
|
|
527
619
|
});
|
|
528
620
|
const dt = r.data;
|
|
529
621
|
if (dt.status === 'success') {
|
|
@@ -549,7 +641,7 @@ function apply(ctx, cfg) {
|
|
|
549
641
|
else {
|
|
550
642
|
text += '\n' + d.wzHero.roundEnd.replace('{0}', st.wzHero.currentRound.toString()).replace('{1}', (st.wzHero.totalRounds - st.wzHero.currentRound).toString());
|
|
551
643
|
const nextR = await axios_1.default.get('https://api.suol.cc/v1/game_wz.php', {
|
|
552
|
-
params: { id:
|
|
644
|
+
params: { id: getIntUserId(session), msg: `开始游戏${st.wzHero.difficulty}` }, timeout: cfg.apiConfig.timeout
|
|
553
645
|
});
|
|
554
646
|
const nextDt = nextR.data;
|
|
555
647
|
if (nextDt.status === 'success') {
|
|
@@ -639,15 +731,13 @@ function apply(ctx, cfg) {
|
|
|
639
731
|
st.wzHero.participants = [];
|
|
640
732
|
gameStates.set(key, st);
|
|
641
733
|
try {
|
|
642
|
-
// 修复:传入可能为undefined的userId,函数内部已处理
|
|
643
734
|
const r = await axios_1.default.get('https://api.suol.cc/v1/game_wz.php', {
|
|
644
|
-
params: { id:
|
|
735
|
+
params: { id: getIntUserId(s), msg: `开始游戏${fd}` }, timeout: cfg.apiConfig.timeout
|
|
645
736
|
});
|
|
646
737
|
const dt = r.data;
|
|
647
738
|
if (dt.status === 'success') {
|
|
648
739
|
let t = `${dt.message}\n${dt.hint}\n剩余提示次数:${dt.remaining_hints}\n${dt.guide}`;
|
|
649
740
|
t = t.replace(/\\n/g, '\n');
|
|
650
|
-
// 现在d.wzHero.start已存在,不会报错
|
|
651
741
|
t = d.wzHero.start.replace('{0}', cfg.wzHero.totalRounds.toString()) + '\n' + t;
|
|
652
742
|
st.wzHero.currentAnswer = dt.hint || '';
|
|
653
743
|
await s.send(t);
|
|
@@ -716,7 +806,6 @@ function apply(ctx, cfg) {
|
|
|
716
806
|
}
|
|
717
807
|
}
|
|
718
808
|
catch (error) {
|
|
719
|
-
logger.error(error);
|
|
720
809
|
await s.send(d.chengyuImage.apiError);
|
|
721
810
|
st.chengyuImage.started = false;
|
|
722
811
|
}
|
|
@@ -763,9 +852,16 @@ function apply(ctx, cfg) {
|
|
|
763
852
|
refreshActive(st);
|
|
764
853
|
gameStates.set(key, st);
|
|
765
854
|
try {
|
|
766
|
-
|
|
855
|
+
const intUserId = getIntUserId(s);
|
|
767
856
|
const r = await axios_1.default.get('https://api.suol.cc/v1/game_cyjl.php', {
|
|
768
|
-
params: {
|
|
857
|
+
params: {
|
|
858
|
+
id: intUserId,
|
|
859
|
+
msg: '开始成语接龙'
|
|
860
|
+
},
|
|
861
|
+
timeout: cfg.apiConfig.timeout,
|
|
862
|
+
headers: {
|
|
863
|
+
'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'
|
|
864
|
+
}
|
|
769
865
|
});
|
|
770
866
|
const dt = r.data;
|
|
771
867
|
let m = d.chengyuJielong.start.replace('{0}', cfg.chengyuJielong.totalRounds.toString());
|
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
config:
|
|
2
|
+
game-mini:
|
|
3
|
+
enableNumberGuess: 启用猜数字游戏
|
|
4
|
+
enableWzHero: 启用王者英雄猜谜
|
|
5
|
+
enableChengyuImage: 启用看图猜成语
|
|
6
|
+
enableChengyuJielong: 启用成语接龙
|
|
7
|
+
enablePrivateGame: 允许私聊玩游戏
|
|
8
|
+
autoPlayDelay: 机器人自动接龙延迟(秒)
|
|
9
|
+
autoPlayMaxCount: 机器人最大自动接龙次数
|
|
10
|
+
autoStopInactiveTime: 无操作自动停止时间(秒)
|
|
11
|
+
guessNumber: 猜数字游戏配置
|
|
12
|
+
guessNumber.min: 最小值
|
|
13
|
+
guessNumber.max: 最大值
|
|
14
|
+
guessNumber.botParticipateInGroup: 机器人参与群聊游戏
|
|
15
|
+
guessNumber.totalRounds: 总回合数
|
|
16
|
+
guessNumber.showRank: 显示排行榜
|
|
17
|
+
wzHero: 王者英雄猜谜配置
|
|
18
|
+
wzHero.botParticipateInGroup: 机器人参与群聊游戏
|
|
19
|
+
wzHero.totalRounds: 总回合数
|
|
20
|
+
wzHero.showRank: 显示排行榜
|
|
21
|
+
chengyuImage: 看图猜成语配置
|
|
22
|
+
chengyuImage.botParticipateInGroup: 机器人参与群聊游戏
|
|
23
|
+
chengyuImage.totalRounds: 总回合数
|
|
24
|
+
chengyuImage.showRank: 显示排行榜
|
|
25
|
+
chengyuJielong: 成语接龙配置
|
|
26
|
+
chengyuJielong.botParticipateInGroup: 机器人参与群聊游戏
|
|
27
|
+
chengyuJielong.totalRounds: 总回合数
|
|
28
|
+
chengyuJielong.showRank: 显示排行榜
|
|
29
|
+
apiConfig: API接口配置
|
|
30
|
+
apiConfig.timeout: 请求超时时间(毫秒)
|
|
31
|
+
|
|
1
32
|
guessNumber:
|
|
2
33
|
usage: "用法错误!正确用法:guess start/stop 或 直接输入数字"
|
|
3
34
|
start: "猜数字比赛开始!本次共 {0} 回合~"
|
|
@@ -13,6 +44,7 @@ guessNumber:
|
|
|
13
44
|
disabled: "猜数字功能已关闭,请联系管理员开启"
|
|
14
45
|
|
|
15
46
|
wzHero:
|
|
47
|
+
start: "王者英雄猜谜开始!本次共 {0} 回合~"
|
|
16
48
|
startUsage: "用法错误!正确用法:wzhero start [难度] 开始游戏"
|
|
17
49
|
stop: "王者英雄猜谜比赛已停止"
|
|
18
50
|
notStarted: "王者英雄猜谜比赛尚未开始,请输入 wzhero start [难度] 开始游戏"
|