diff --git a/services/minecraft/src/mineflayer/echo.ts b/services/minecraft/src/mineflayer/echo.ts index aa6799a9a..cf03105a7 100644 --- a/services/minecraft/src/mineflayer/echo.ts +++ b/services/minecraft/src/mineflayer/echo.ts @@ -1,27 +1,23 @@ -import type { Mineflayer } from '../libs/mineflayer' import type { MineflayerPlugin } from '../libs/mineflayer/plugin' import { useLogg } from '@guiiai/logg' import { formBotChat } from '../libs/mineflayer/message' export function Echo(): MineflayerPlugin { - let mineflayer: Mineflayer - let onChatHandler: (username: string, message: string) => void const logger = useLogg('Echo').useGlobalConfig() return { - created(_mineflayer) { - mineflayer = _mineflayer - onChatHandler = formBotChat(mineflayer.username, (username, message) => { + spawned(mineflayer) { + const onChatHandler = formBotChat(mineflayer.username, (username, message) => { logger.withFields({ username, message }).log('Chat message received') mineflayer.bot.chat(message) }) - }, - spawned() { + + this.beforeCleanup = () => { + mineflayer.bot.removeListener('chat', onChatHandler) + } + mineflayer.bot.on('chat', onChatHandler) }, - beforeCleanup() { - mineflayer.bot.removeListener('chat', onChatHandler) - }, } }