diff --git a/scripts/claude-gm.js b/scripts/claude-gm.js index f624585..2557fc2 100644 --- a/scripts/claude-gm.js +++ b/scripts/claude-gm.js @@ -18,8 +18,10 @@ function formatResponse(text) { } Hooks.on("createChatMessage", async (chatData, options, userId) => { - if (!game.user.isGM) return; + if (chatData.author.name !== 'Gamemaster') return; + if (chatData.speaker.alias === 'AI DM') return; if(chatData.isRoll){ + return const parts = []; const speaker = chatData.speaker?.alias || "Someone"; const flavor = chatData.flavor || ""; @@ -113,10 +115,12 @@ Hooks.on("createChatMessage", async (chatData, options, userId) => { console.log(chatData); console.log(rollString); sendToClaude(rollString, chatData.whisper, chatData.blind) + } else { + sendToClaude(chatData.content, chatData.whisper, chatData.blind) } }) -const sendToClaude = async (content, whisper = [], blind = false) => { +const sendToClaude = async (content, whisper = [], blind = true) => { const response = await fetch('https://ai-dm-api.artisan.al/prompt', { method: "POST", @@ -134,22 +138,6 @@ const sendToClaude = async (content, whisper = [], blind = false) => { } -Hooks.on("chatMessage", async (chatLog, message, chatData) => { - - const formattedContent = chatData.speaker.actor ? `${chatData.speaker.alias} says, "${message}"` : message - const response = await fetch('https://ai-dm-api.artisan.al/prompt', { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ content: formattedContent }) - }); - const data = await response.json(); - await ChatMessage.create({ - content: formatResponse(data.result), - speaker: { alias: 'AI DM'}, - style: CONST.CHAT_MESSAGE_STYLES.IC - }); - -}) Hooks.once("ready", () => { console.log('Claude listening...'); });