feat(tts): add Telnyx to /tts provider command
This commit is contained in:
parent
4ebeb160c7
commit
ff47117510
@ -50,7 +50,8 @@ function ttsUsage(): ReplyPayload {
|
|||||||
`**Providers:**\n` +
|
`**Providers:**\n` +
|
||||||
`• edge — Free, fast (default)\n` +
|
`• edge — Free, fast (default)\n` +
|
||||||
`• openai — High quality (requires API key)\n` +
|
`• openai — High quality (requires API key)\n` +
|
||||||
`• elevenlabs — Premium voices (requires API key)\n\n` +
|
`• elevenlabs — Premium voices (requires API key)\n` +
|
||||||
|
`• telnyx — Great quality, cheaper than ElevenLabs (requires API key)\n\n` +
|
||||||
`**Text Limit (default: 1500, max: 4096):**\n` +
|
`**Text Limit (default: 1500, max: 4096):**\n` +
|
||||||
`When text exceeds the limit:\n` +
|
`When text exceeds the limit:\n` +
|
||||||
`• Summary ON: AI summarizes, then generates audio\n` +
|
`• Summary ON: AI summarizes, then generates audio\n` +
|
||||||
@ -151,6 +152,7 @@ export const handleTtsCommands: CommandHandler = async (params, allowTextCommand
|
|||||||
if (!args.trim()) {
|
if (!args.trim()) {
|
||||||
const hasOpenAI = Boolean(resolveTtsApiKey(config, "openai"));
|
const hasOpenAI = Boolean(resolveTtsApiKey(config, "openai"));
|
||||||
const hasElevenLabs = Boolean(resolveTtsApiKey(config, "elevenlabs"));
|
const hasElevenLabs = Boolean(resolveTtsApiKey(config, "elevenlabs"));
|
||||||
|
const hasTelnyx = Boolean(resolveTtsApiKey(config, "telnyx"));
|
||||||
const hasEdge = isTtsProviderConfigured(config, "edge");
|
const hasEdge = isTtsProviderConfigured(config, "edge");
|
||||||
return {
|
return {
|
||||||
shouldContinue: false,
|
shouldContinue: false,
|
||||||
@ -160,18 +162,24 @@ export const handleTtsCommands: CommandHandler = async (params, allowTextCommand
|
|||||||
`Primary: ${currentProvider}\n` +
|
`Primary: ${currentProvider}\n` +
|
||||||
`OpenAI key: ${hasOpenAI ? "✅" : "❌"}\n` +
|
`OpenAI key: ${hasOpenAI ? "✅" : "❌"}\n` +
|
||||||
`ElevenLabs key: ${hasElevenLabs ? "✅" : "❌"}\n` +
|
`ElevenLabs key: ${hasElevenLabs ? "✅" : "❌"}\n` +
|
||||||
|
`Telnyx key: ${hasTelnyx ? "✅" : "❌"}\n` +
|
||||||
`Edge enabled: ${hasEdge ? "✅" : "❌"}\n` +
|
`Edge enabled: ${hasEdge ? "✅" : "❌"}\n` +
|
||||||
`Usage: /tts provider openai | elevenlabs | edge`,
|
`Usage: /tts provider openai | elevenlabs | telnyx | edge`,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const requested = args.trim().toLowerCase();
|
const requested = args.trim().toLowerCase();
|
||||||
if (requested !== "openai" && requested !== "elevenlabs" && requested !== "edge") {
|
if (
|
||||||
|
requested !== "openai" &&
|
||||||
|
requested !== "elevenlabs" &&
|
||||||
|
requested !== "telnyx" &&
|
||||||
|
requested !== "edge"
|
||||||
|
) {
|
||||||
return { shouldContinue: false, reply: ttsUsage() };
|
return { shouldContinue: false, reply: ttsUsage() };
|
||||||
}
|
}
|
||||||
|
|
||||||
setTtsProvider(prefsPath, requested);
|
setTtsProvider(prefsPath, requested as "openai" | "elevenlabs" | "telnyx" | "edge");
|
||||||
return {
|
return {
|
||||||
shouldContinue: false,
|
shouldContinue: false,
|
||||||
reply: { text: `✅ TTS provider set to ${requested}.` },
|
reply: { text: `✅ TTS provider set to ${requested}.` },
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user