Skip to content

Commit 08de739

Browse files
committed
fix: причина кика теперь корректно пишется
1 parent 8d77a48 commit 08de739

3 files changed

Lines changed: 23 additions & 3 deletions

File tree

backend/src/core/BotEventHandlers.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,13 @@ function attachBotEvents(bot, handlers) {
116116

117117
bot.on('kicked', (reason) => {
118118
let reasonText;
119-
try { reasonText = JSON.parse(reason).text || reason; } catch (e) { reasonText = reason; }
119+
if (typeof reason === 'string') {
120+
try { reasonText = JSON.parse(reason).text || reason; } catch (e) { reasonText = reason; }
121+
} else if (reason && typeof reason === 'object') {
122+
reasonText = reason.text || reason.message || reason.reason || JSON.stringify(reason);
123+
} else {
124+
reasonText = String(reason);
125+
}
120126
sendLog(`[Event: kicked] Меня кикнули. Причина: ${reasonText}.`);
121127
process.exit(0);
122128
});

backend/src/core/BotProcess.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,13 @@ process.on('message', async (message) => {
10711071

10721072
bot.on('kicked', (reason) => {
10731073
let reasonText;
1074-
try { reasonText = JSON.parse(reason).text || reason; } catch (e) { reasonText = reason; }
1074+
if (typeof reason === 'string') {
1075+
try { reasonText = JSON.parse(reason).text || reason; } catch (e) { reasonText = reason; }
1076+
} else if (reason && typeof reason === 'object') {
1077+
reasonText = reason.text || reason.message || reason.reason || JSON.stringify(reason);
1078+
} else {
1079+
reasonText = String(reason);
1080+
}
10751081
sendLog(`[Event: kicked] Меня кикнули. Причина: ${reasonText}.`);
10761082
process.exit(0);
10771083
});

backend/src/core/services/MinecraftBotManager.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,15 @@ class MinecraftBotManager {
8888
});
8989

9090
bot.on('kicked', (reason) => {
91-
this.logger.warn(`[Minecraft] Bot kicked for session ${sessionId}: ${reason}`);
91+
let reasonText;
92+
if (typeof reason === 'string') {
93+
try { reasonText = JSON.parse(reason).text || reason; } catch (e) { reasonText = reason; }
94+
} else if (reason && typeof reason === 'object') {
95+
reasonText = reason.text || reason.message || reason.reason || JSON.stringify(reason);
96+
} else {
97+
reasonText = String(reason);
98+
}
99+
this.logger.warn(`[Minecraft] Bot kicked for session ${sessionId}: ${reasonText}`);
92100
});
93101
}
94102

0 commit comments

Comments
 (0)