From a82122561a60f7bbd683a4b1668160839218a645 Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Thu, 22 May 2025 11:24:54 -0700 Subject: [PATCH] feat: migrate to claude 4 Also resolves the issue where commands were used without an active sub --- src/modules/start.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/start.ts b/src/modules/start.ts index a778c93..b4b0ef2 100644 --- a/src/modules/start.ts +++ b/src/modules/start.ts @@ -11,6 +11,7 @@ import { import { personality } from "../config/personality.js"; import { ai } from "../utils/ai.js"; import { calculateCost } from "../utils/calculateCost.js"; +import { isSubscribedInteraction } from "../utils/isSubscribed.js"; import { logger } from "../utils/logger.js"; import { replyToError } from "../utils/replyToError.js"; @@ -24,13 +25,18 @@ export const start = async( try { await interaction.deferReply({ flags: [ MessageFlags.Ephemeral ] }); + const subbed = await isSubscribedInteraction(interaction); + if (!subbed) { + return; + } + const messages = await ai.messages.create({ // eslint-disable-next-line @typescript-eslint/naming-convention -- Required key format for SDK. max_tokens: 2000, messages: [ { content: "Please start a new story for me.", role: "user" }, ], - model: "claude-3-5-sonnet-latest", + model: "claude-sonnet-4-20250514", system: `${personality} The user has requested to start a new adventure. You should generate the first message for the game. The user's name is ${interaction.user.displayName}`, });