a736f786c2
- add /openai (/chatgpt) chat command using OpenAI Responses API (streaming + incremental edits) - add /openAIListModels, /openAIGetModel, /openAISetModel - introduce base Command class and migrate non-chat commands to it - wire OpenAI client + env vars (OPENAI_API_KEY, OPENAI_MODEL) - bump deps (@google/genai, systeminformation, @types/node) and add openai
31 lines
993 B
TypeScript
31 lines
993 B
TypeScript
import {Command} from "../base/command";
|
|
import {Message} from "typescript-telegram-bot-api";
|
|
import {Requirements} from "../base/requirements";
|
|
import {Requirement} from "../base/requirement";
|
|
import {logError, oldReplyToMessage} from "../util/utils";
|
|
import {bot} from "../index";
|
|
|
|
export class Title extends Command {
|
|
command = "title";
|
|
argsMode = "required" as const;
|
|
|
|
title = "/title";
|
|
description = "Change group title";
|
|
|
|
requirements = Requirements.Build(
|
|
Requirement.BOT_ADMIN,
|
|
Requirement.CHAT,
|
|
Requirement.CHAT_ADMIN,
|
|
Requirement.BOT_CHAT_ADMIN
|
|
);
|
|
|
|
async execute(msg: Message, match?: RegExpExecArray): Promise<void> {
|
|
const title = (match?.[3] ?? "").trim();
|
|
if (title.length === 0) {
|
|
await oldReplyToMessage(msg, "Не нашёл название...").catch(logError);
|
|
return;
|
|
}
|
|
|
|
await bot.setChatTitle({chat_id: msg.chat.id, title: title}).catch(logError);
|
|
}
|
|
} |