Skip to content

feat(tts): add tri-mode TTS with inline menu (off/all/auto)#156

Open
Johell1NS wants to merge 1 commit into
grinev:mainfrom
Johell1NS:feat/tts-tri-mode
Open

feat(tts): add tri-mode TTS with inline menu (off/all/auto)#156
Johell1NS wants to merge 1 commit into
grinev:mainfrom
Johell1NS:feat/tts-tri-mode

Conversation

@Johell1NS

@Johell1NS Johell1NS commented Jun 15, 2026

Copy link
Copy Markdown

Adds three audio reply modes selectable via inline menu with /tts:

  • Off - no audio replies
  • All - audio reply on every message (text, photo, documents, voice)
  • Auto - audio reply only when input is a voice/audio message

The /tts command now shows three inline buttons with a checkmark on the currently selected mode, making the interaction clearer and more immediate.

Why: Auto mode addresses a common use case: users sending voice messages on mobile want to hear the reply, but typing users don't want unnecessary audio files. Keeping All as an explicit option covers those who prefer audio on every input.

Changes:

  • settings.ts - ttsEnabled?: boolean to ttsMode?: off, all, auto
  • settings-store.ts - getter/setter + automatic migration in loadSettings()
  • tts-command.ts - inline menu with 3 buttons
  • tts-callback-handler.ts - new file, handles button callbacks
  • prompt.ts - responseMode determined by current mode
  • voice-handler.ts - passes responseMode to processUserPrompt
  • status-command.ts - shows current mode
  • i18n - keys updated in all 7 languages
  • Tests - 1001 tests, all passing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant