feat(tts): add Telnyx to /tts provider command

This commit is contained in:
Franco Viotti 2026-01-29 08:56:47 -03:00
parent 4ebeb160c7
commit ff47117510
No known key found for this signature in database

View File

@ -50,7 +50,8 @@ function ttsUsage(): ReplyPayload {
`**Providers:**\n` +
`• edge — Free, fast (default)\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` +
`When text exceeds the limit:\n` +
`• Summary ON: AI summarizes, then generates audio\n` +
@ -151,6 +152,7 @@ export const handleTtsCommands: CommandHandler = async (params, allowTextCommand
if (!args.trim()) {
const hasOpenAI = Boolean(resolveTtsApiKey(config, "openai"));
const hasElevenLabs = Boolean(resolveTtsApiKey(config, "elevenlabs"));
const hasTelnyx = Boolean(resolveTtsApiKey(config, "telnyx"));
const hasEdge = isTtsProviderConfigured(config, "edge");
return {
shouldContinue: false,
@ -160,18 +162,24 @@ export const handleTtsCommands: CommandHandler = async (params, allowTextCommand
`Primary: ${currentProvider}\n` +
`OpenAI key: ${hasOpenAI ? "✅" : "❌"}\n` +
`ElevenLabs key: ${hasElevenLabs ? "✅" : "❌"}\n` +
`Telnyx key: ${hasTelnyx ? "✅" : "❌"}\n` +
`Edge enabled: ${hasEdge ? "✅" : "❌"}\n` +
`Usage: /tts provider openai | elevenlabs | edge`,
`Usage: /tts provider openai | elevenlabs | telnyx | edge`,
},
};
}
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() };
}
setTtsProvider(prefsPath, requested);
setTtsProvider(prefsPath, requested as "openai" | "elevenlabs" | "telnyx" | "edge");
return {
shouldContinue: false,
reply: { text: `✅ TTS provider set to ${requested}.` },