import "@std/dotenv/load"
import "./util/logging.ts"
import { Bot } from "./snek/snek-socket.ts"
import { PingHandler } from "./msg-handlers/ping-handler.ts"
import { LLamaFuncHandler } from "./msg-handlers/llama-func-handler.ts"
import { getLogger } from "@logtape/logtape"
const logger = getLogger("ws-snek-llama-func-bot")
const bot = new Bot(
Deno.env.get("SNEK_USERNAME")!,
Deno.env.get("SNEK_PASSWORD")!,
)
await bot.connect()
const user = await bot.user
logger.info("We are user: ", { user, authCookie: await bot.authCookie })
await Promise.all([
new PingHandler().bind(bot),
new LLamaFuncHandler(
Deno.env.get("SNEK_LLAMA_MODEL")!,
Deno.env.get("SNEK_LLAMA_SYSTEM_PROMPT")!,
).bind(bot),
])
bot.startAppearingOnline()