MCPcopy Create free account
hub / github.com/TeleBoxOrg/TeleBox_Plugins / handlePrompt

Function handlePrompt

outdated/gemini/gemini.ts:1519–1585  ·  view source on GitHub ↗
(msg: Api.Message, args: string[])

Source from the content-addressed store, hash-verified

1517}
1518
1519async function handlePrompt(msg: Api.Message, args: string[]): Promise<void> {
1520 const [subCommand, ...subArgs] = args;
1521 const prompts = JSON.parse(ConfigManager.get(CONFIG_KEYS.GEMINI_PROMPTS, "{}"));
1522
1523 switch (subCommand) {
1524 case "add":
1525 if (subArgs.length < 2) {
1526 await msg.edit({ text: "❌ 用法: gemini prompt add <名称> <提示内容>" });
1527 return;
1528 }
1529 const [name, ...promptParts] = subArgs;
1530 prompts[name] = promptParts.join(" ");
1531 ConfigManager.set(CONFIG_KEYS.GEMINI_PROMPTS, JSON.stringify(prompts));
1532 await msg.edit({ text: `✅ 系统提示 '${name}' 已添加`, parseMode: "html" });
1533 break;
1534
1535 case "del":
1536 const delName = subArgs[0];
1537 if (!delName) {
1538 await msg.edit({ text: "❌ 用法: gemini prompt del <名称>" });
1539 return;
1540 }
1541 if (delName in prompts) {
1542 delete prompts[delName];
1543 ConfigManager.set(CONFIG_KEYS.GEMINI_PROMPTS, JSON.stringify(prompts));
1544 await msg.edit({ text: `✅ 系统提示 '${delName}' 已删除`, parseMode: "html" });
1545 } else {
1546 await msg.edit({ text: `❌ 未找到系统提示 '${delName}'` });
1547 }
1548 break;
1549
1550 case "list":
1551 if (Object.keys(prompts).length === 0) {
1552 await msg.edit({ text: "<b>未保存任何系统提示。</b>", parseMode: "html" });
1553 return;
1554 }
1555 const promptsList = Object.entries(prompts)
1556 .map(([name, content]) => `• <code>${name}</code>:\n<pre><code>${Utils.escapeHtml(content as string)}</code></pre>`)
1557 .join("\n\n");
1558 await msg.edit({ text: `<b>可用的系统提示:</b>\n\n${promptsList}`, parseMode: "html" });
1559 break;
1560
1561 case "set":
1562 const [promptType, setName] = subArgs;
1563 if (!promptType || !setName) {
1564 await msg.edit({ text: "❌ 用法: gemini prompt set [chat|search|tts] <名称>" });
1565 return;
1566 }
1567
1568 if (!(setName in prompts)) {
1569 await msg.edit({ text: `❌ 未找到系统提示 '${setName}'` });
1570 return;
1571 }
1572
1573 const promptConfig = PROMPT_TYPE_MAP[promptType as keyof typeof PROMPT_TYPE_MAP];
1574 if (promptConfig) {
1575 ConfigManager.set(promptConfig.key, setName);
1576 await msg.edit({ text: `✅ 当前${promptConfig.name}系统提示已设置为: <code>${setName}</code>`, parseMode: "html" });

Callers 1

handleGeminiRequestFunction · 0.85

Calls 4

escapeHtmlMethod · 0.80
getMethod · 0.45
editMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected