commands: switch AI commands to unified runtime

This commit is contained in:
2026-05-10 22:53:22 +03:00
parent 1b94760b21
commit 3d14e3c0d5
24 changed files with 465 additions and 3580 deletions
+13 -9
View File
@@ -2,24 +2,28 @@ import {Command} from "../base/command";
import {Requirements} from "../base/requirements";
import {Requirement} from "../base/requirement";
import {Message} from "typescript-telegram-bot-api";
import {Environment} from "../common/environment";
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 = "/geminiSetModel";
description = "Set Gemini model";
title = Environment.commandTitles.geminiSetModel;
description = Environment.commandDescriptions.geminiSetModel;
requirements = Requirements.Build(Requirement.BOT_CREATOR);
async execute(msg: Message, match?: RegExpExecArray | null): Promise<void> {
const newModel = match?.[3];
Environment.setGeminiModel(newModel || Environment.GEMINI_MODEL);
const newModel = match?.[3]?.trim();
if (newModel) setRuntimeModel(AiProvider.GEMINI, newModel);
const text = newModel ? `Выбрана модель "${newModel}"`
: `Модель не задана. Будет использоваться стандартная модель "${Environment.GEMINI_MODEL}".`;
const model = getRuntimeModel(AiProvider.GEMINI);
const text = newModel
? Environment.getSelectedModelWithInfoText(model, await formatRuntimeModelInfo(AiProvider.GEMINI))
: Environment.getModelIsNotSetCurrentText(model);
await replyToMessage({message: msg, text: text}).catch(logError);
await replyToMessage({message: msg, text}).catch(logError);
}
}
}