import {Command} from "../base/command"; import {Requirements} from "../base/requirements"; import {Requirement} from "../base/requirement"; import {Message} from "typescript-telegram-bot-api"; import {logError, replyToMessage} from "../util/utils"; import {AiProvider} from "../model/ai-provider"; import {getRuntimeModel, setRuntimeModel, formatRuntimeModelInfo} from "../ai/provider-model-runtime"; import {Environment} from "../common/environment"; export class GeminiSetModel extends Command { argsMode = "required" as const; title = Environment.commandTitles.geminiSetModel; description = Environment.commandDescriptions.geminiSetModel; requirements = Requirements.Build(Requirement.BOT_CREATOR); async execute(msg: Message, match?: RegExpExecArray | null): Promise { const newModel = match?.[3]?.trim(); if (newModel) setRuntimeModel(AiProvider.GEMINI, newModel); const model = getRuntimeModel(AiProvider.GEMINI); const text = newModel ? Environment.getSelectedModelWithInfoText(model, await formatRuntimeModelInfo(AiProvider.GEMINI)) : Environment.getModelIsNotSetCurrentText(model); await replyToMessage({message: msg, text}).catch(logError); } }