Skip to content

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

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

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

Johell1NS pushed a commit to Johell1NS/opencode-telegram-bot that referenced this pull request Jun 16, 2026
@grinev

grinev commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Changes merged in #160

@grinev grinev closed this Jun 18, 2026
Johell1NS pushed a commit to Johell1NS/opencode-telegram-bot that referenced this pull request Jun 19, 2026
…fork

Integra i commit upstream:
- c17e34e feat(tts): add tri-mode TTS with inline menu (off/all/auto) (grinev#160)
- 83ea424 chore: fix npm audit issues

Mantiene le feature del fork:
- PR grinev#156 (auxiliary vision model fallback)
- PR grinev#157 fix subagenti + counter sessioni
- README rebrandizzata

File con conflitti risolti: 19 file. Strategia:
- TTS: accettata versione upstream (grinev) con refactoring buildTtsModeKeyboard()
- Vision: mantenuti tutti i file e le aggiunte del fork
- i18n: upstream TTS tradotto + fork cmd.description.setvision
- Test: upstream con migliore copertura (deleteMessage, mock pattern)
- callback-router: entrambi gli handler (vision + TTS)
- settings-store/types: quote style unificato, entrambi i campi
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.

2 participants