fix: impl

This commit is contained in:
Neko Ayaka
2025-01-09 16:03:07 +08:00
parent 489f3a3097
commit 8de616b371
+7 -11
View File
@@ -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)
},
}
}