(msg: Api.Message, args: string[])
| 1585 | } |
| 1586 | |
| 1587 | async function handleModel(msg: Api.Message, args: string[]): Promise<void> { |
| 1588 | const subCommand = args[0]; |
| 1589 | |
| 1590 | if (subCommand === "list") { |
| 1591 | await handleModelList(msg); |
| 1592 | return; |
| 1593 | } |
| 1594 | |
| 1595 | if (subCommand === "set" && args.length >= 3) { |
| 1596 | const modelType = args[1]; |
| 1597 | const modelName = args[2]; |
| 1598 | const modelConfig = MODEL_TYPE_MAP[modelType as keyof typeof MODEL_TYPE_MAP]; |
| 1599 | |
| 1600 | if (modelConfig) { |
| 1601 | ConfigManager.set(modelConfig.key, modelName); |
| 1602 | await msg.edit({ |
| 1603 | text: `✅ Gemini ${modelConfig.name}模型已设置为: <code>${modelName}</code>`, |
| 1604 | parseMode: "html" |
| 1605 | }); |
| 1606 | } else { |
| 1607 | await msg.edit({ text: "❌ 用法: gemini model set [chat|search|image|tts] <模型名称>" }); |
| 1608 | } |
| 1609 | } else { |
| 1610 | await msg.edit({ text: "❌ 用法: gemini model [list|set]" }); |
| 1611 | } |
| 1612 | } |
| 1613 | |
| 1614 | async function handleTTSVoice(msg: Api.Message, args: string[]): Promise<void> { |
| 1615 | if (args.length === 0) { |
no test coverage detected