Skip to content

Discord button interactions expire before agent responds #42054

Description

@kralivo

Problem

Discord component buttons expire with "This component has expired" error before the agent can respond.

Root Cause

Discord interactions have a 3-second timeout for initial ACK. When the agent takes longer than 3 seconds to process (LLM call), the interaction expires.

OpenClaw should automatically defer the interaction (show "Thinking...") within the 3s window, then send a followup message.

Evidence

[EventQueue] Slow listener detected: InteractionEventListener took 1550ms for event INTERACTION_CREATE

The listener itself takes 1.5s, leaving only 1.5s for agent processing. Most LLM calls take 5-15s.

Expected Behavior

  1. User clicks button
  2. OpenClaw immediately defers interaction (ACK within 3s)
  3. Agent processes the interaction
  4. OpenClaw sends followup message with result

Current Behavior

  1. User clicks button
  2. OpenClaw waits for agent response
  3. After 3s, Discord shows "This component has expired"
  4. Agent never receives the interaction

Workaround

Currently not usable for interactive flows. Text-based responses work fine.

Environment

  • OpenClaw: 2026.3.2
  • Channel: Discord

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions