import {Command} from "../base/command"; import {Requirements} from "../base/requirements"; import {Requirement} from "../base/requirement"; import {Message} from "typescript-telegram-bot-api"; import {escapeHtml, logError, replyToMessage} from "../util/utils"; import {AiProvider} from "../model/ai-provider"; import {listProviderModels} from "../ai/provider-model-runtime"; import {Environment} from "../common/environment"; export class OpenAIListModels extends Command { title = Environment.commandTitles.openAiListModels; description = Environment.commandDescriptions.openAiListModels; requirements = Requirements.Build(Requirement.BOT_CREATOR); async execute(msg: Message): Promise { try { const models = (await listProviderModels(AiProvider.OPENAI)).sort((a, b) => a.localeCompare(b)); const modelsString = escapeHtml(models.join("\n").substring(0, 4000)); const text = Environment.modelListHeaderText + "
" + modelsString + "
"; await replyToMessage({message: msg, text, parse_mode: "HTML"}); } catch (e) { logError(e); await replyToMessage({message: msg, text: Environment.modelListLoadFailedText}).catch(logError); } } }