Description
When TTS is enabled and audio is sent to Telegram, messages are delivered as audio file attachments (card with play button) instead of voice note bubbles (round waveform).
Expected Behavior
According to the TTS docs:
Telegram gets a round voice-note bubble.
Voice messages should be sent using Telegram's sendVoice API method, which displays as the round waveform bubble inline in chat.
Actual Behavior
Audio is sent using what appears to be sendAudio, which displays as a rectangular card with a play button — the same as sending an MP3 or other audio file.
Steps to Reproduce
- Configure TTS with ElevenLabs provider (
auto: inbound or always)
- Send a voice message or use the
tts tool to generate an opus file
- Send the resulting opus file to Telegram using
message tool with asVoice: true
- Observe: audio appears as a file card, not a voice bubble
Environment
- OpenClaw version: 2026.2.6
- TTS provider: ElevenLabs (eleven_multilingual_v2)
- Output format: Opus (48kHz/64kbps)
- Channel: Telegram
- Model: anthropic/claude-opus-4-6
Additional Context
The opus file is generated correctly at 48kHz/64kbps as documented. The issue appears to be in how the Telegram plugin delivers the file — it should use sendVoice instead of sendAudio to get the native round voice bubble UI.
Description
When TTS is enabled and audio is sent to Telegram, messages are delivered as audio file attachments (card with play button) instead of voice note bubbles (round waveform).
Expected Behavior
According to the TTS docs:
Voice messages should be sent using Telegram's
sendVoiceAPI method, which displays as the round waveform bubble inline in chat.Actual Behavior
Audio is sent using what appears to be
sendAudio, which displays as a rectangular card with a play button — the same as sending an MP3 or other audio file.Steps to Reproduce
auto: inboundoralways)ttstool to generate an opus filemessagetool withasVoice: trueEnvironment
Additional Context
The opus file is generated correctly at 48kHz/64kbps as documented. The issue appears to be in how the Telegram plugin delivers the file — it should use
sendVoiceinstead ofsendAudioto get the native round voice bubble UI.