Summary
After upgrading to OpenClaw 2026.3.22, Telegram voice reply behavior is unstable:
- Voice replies intermittently arrive as audio file cards (MP3-style UI) instead of voice-note bubbles.
- Outbound Telegram sends intermittently fail with
Channel is unavailable: telegram, then recover seconds later.
This happens even when we explicitly force voice-note routing in replies.
Environment
- OpenClaw:
2026.3.22
- Host: Linux (
jarvis, loopback gateway)
- Channel: Telegram DM
- Config (effective during tests):
messages.tts.auto: off (manual route)
messages.tts.provider: openai
messages.tts.mode: final
messages.tts.openai.model: gpt-4o-mini-tts
messages.tts.openai.voice: onyx
channels.telegram.enabled: true
What we tested
- A/B paths with/without force markers (including explicit voice-note forcing in assistant reply path)
- Provider variants (OpenAI / Microsoft Opus config)
messages.tts.auto modes (always, inbound, off)
- Manual sequencing (voice then text summary)
Actual behavior
- Some replies render correctly as voice-note bubbles.
- Other replies in same session/flow render as audio file cards.
- Intermittent errors in gateway logs:
message failed: Channel is unavailable: telegram
- Recovery is often immediate/near-immediate (next send succeeds).
Evidence (recent logs)
From journalctl --user -u openclaw-gateway.service --since '2 hours ago':
2026-03-23T16:00:27 → message failed: Channel is unavailable: telegram
2026-03-23T16:00:31 → message failed: Channel is unavailable: telegram
2026-03-23T16:04:16 → message failed: Channel is unavailable: telegram
2026-03-23T16:04:24 → immediate success sendMessage ok ... message=13361
2026-03-23T16:06:22 → success sendMessage ok ... message=13363
This pattern repeats throughout the session (brief unavailable spikes amid successful sends).
Expected behavior
- If voice-note is forced, Telegram should consistently use
sendVoice delivery semantics (voice bubble UI) rather than occasionally degrading to audio-file card.
- Transient channel unavailability should have robust retry/fallback behavior with clear classification and logging.
Impact
- User-facing inconsistency in core voice UX (bubble vs file card)
- Perceived unreliability after update
- Operational confusion during troubleshooting because behavior flips within same config/session
Related issues
Potentially related historical reports:
Request
Please investigate Telegram send-path selection and fallback behavior in 2026.3.x:
- Ensure forced voice-note path stays deterministic
- Improve resilience and observability around transient
Channel is unavailable: telegram
- Clarify whether fallback to
sendAudio can occur under specific failure/retry branches
Summary
After upgrading to OpenClaw
2026.3.22, Telegram voice reply behavior is unstable:Channel is unavailable: telegram, then recover seconds later.This happens even when we explicitly force voice-note routing in replies.
Environment
2026.3.22jarvis, loopback gateway)messages.tts.auto: off(manual route)messages.tts.provider: openaimessages.tts.mode: finalmessages.tts.openai.model: gpt-4o-mini-ttsmessages.tts.openai.voice: onyxchannels.telegram.enabled: trueWhat we tested
messages.tts.automodes (always,inbound,off)Actual behavior
message failed: Channel is unavailable: telegramEvidence (recent logs)
From
journalctl --user -u openclaw-gateway.service --since '2 hours ago':2026-03-23T16:00:27→message failed: Channel is unavailable: telegram2026-03-23T16:00:31→message failed: Channel is unavailable: telegram2026-03-23T16:04:16→message failed: Channel is unavailable: telegram2026-03-23T16:04:24→ immediate successsendMessage ok ... message=133612026-03-23T16:06:22→ successsendMessage ok ... message=13363This pattern repeats throughout the session (brief unavailable spikes amid successful sends).
Expected behavior
sendVoicedelivery semantics (voice bubble UI) rather than occasionally degrading to audio-file card.Impact
Related issues
Potentially related historical reports:
Request
Please investigate Telegram send-path selection and fallback behavior in 2026.3.x:
Channel is unavailable: telegramsendAudiocan occur under specific failure/retry branches