From 7c099d8cf0f06cfb542671466f4a93cd6c97c5b7 Mon Sep 17 00:00:00 2001 From: user Date: Sun, 22 Feb 2026 03:24:07 +0100 Subject: [PATCH] docs: document voice trigger configuration --- docs/USAGE.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/USAGE.md b/docs/USAGE.md index c14c86d..9b5d7eb 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -1706,6 +1706,29 @@ TTS behavior: - TTS shares the audio output with music playback - Text is limited to 500 characters +### Always-On Trigger Mode + +Set a trigger word to enable always-on voice listening. The bot +continuously transcribes voice and watches for the trigger word. When +detected, the text after the trigger is spoken back via TTS. No +`!listen` command needed. + +```toml +[voice] +trigger = "claude" +``` + +Behavior: + +- Listener starts automatically on connect (no `!listen on` required) +- All speech is transcribed and checked for the trigger word +- Trigger match is case-insensitive: "Claude", "CLAUDE", "claude" all work +- On match, the trigger word is stripped and the remainder is sent to TTS +- Non-triggered speech is silently discarded (unless `!listen` is also on) +- When both trigger and `!listen` are active, triggered speech goes to + TTS and all other speech is posted as the usual "heard X say: ..." +- `!listen` status shows trigger configuration when set + Configuration (optional): ```toml @@ -1713,4 +1736,5 @@ Configuration (optional): whisper_url = "http://192.168.122.1:8080/inference" piper_url = "http://192.168.122.1:5000/" silence_gap = 1.5 +trigger = "" ```