Skip to content

[Bug]: Telegram Duplicate Messages with Partial Streaming #33453

@SeanSussman

Description

@SeanSussman

Bug type

Behavior bug (incorrect output/state without crash)

Summary

When channels.telegram.streaming is set to "partial", Telegram clients display duplicate messages that are automatically deleted after a short delay.

Steps to reproduce

  1. Configure OpenClaw with channels.telegram.streaming: "partial" (this is the default in some configurations)
  2. Send messages via Telegram to the bot
  3. Observe that each message appears twice in the Telegram client
  4. After a brief delay (1-3 seconds), one duplicate is automatically deleted

Expected behavior

Messages should appear once without duplication, regardless of streaming mode.

Actual behavior

  • Each message renders twice in the Telegram client
  • One duplicate is auto-deleted by Telegram after arriving
  • Creates visual flicker and confusion

OpenClaw version

2026.3.2

Operating system

macOS 26.3 (arm64)

Install method

Mac app

Logs, screenshots, and evidence

Image

Impact and severity

Affected: Telegram 1:1 chats but not group conversations

Additional information

Full Bug Report:

Name: Bug Report
Title: "[Bug]: Telegram Duplicate Messages with Partial Streaming"
Labels: ["bug", "telegram", "channel-plugin"]

Description

When channels.telegram.streaming is set to "partial", Telegram clients display duplicate messages that are automatically deleted after a short delay. This creates a flickering effect where messages appear twice, then one is removed.

Steps to Reproduce

  1. Configure OpenClaw with channels.telegram.streaming: "partial" (this is the default in some configurations)
  2. Send messages via Telegram to the bot
  3. Observe that each message appears twice in the Telegram client
  4. After a brief delay (1-3 seconds), one duplicate is automatically deleted

Expected Behavior

Messages should appear once without duplication, regardless of streaming mode.

Actual Behavior

  • Each message renders twice in the Telegram client
  • One duplicate is auto-deleted by Telegram after arriving
  • Creates visual flicker and confusion

Root Cause Analysis

The partial streaming mode sends message chunks that Telegram renders as separate messages. When the complete message arrives, Telegram's deduplication logic removes what it perceives as a duplicate.

Temporary Workaround

Set channels.telegram.streaming to "off" in ~/.openclaw/openclaw.json:

{
  "channels": {
    "telegram": {
      "streaming": "off"
    }
  }
}

Then restart the gateway:

openclaw gateway restart

Workaround Trade-offs

  • Pros: Eliminates duplicate message display
  • Cons: Loses the streaming text / typing indicator effect in Telegram

Suggested Permanent Fix

The Telegram channel plugin should either:

  1. Use proper message editing for streaming updates (send once, edit in place)
  2. Implement proper deduplication tokens to prevent Telegram from treating chunks as separate messages
  3. Disable partial streaming by default for Telegram until the issue is resolved

Environment

Field Value
OpenClaw Version 2026.3.2
OS macOS 26.3 (arm64)
Node v25.6.1
Channel Telegram
Date Discovered 2026-03-03

Additional Context

This issue affects the user experience significantly in 1:1 chats but not group conversations. The duplicate-delete cycle is visible to end users and makes the bot appear unreliable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingbug:behaviorIncorrect behavior without a crash

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions