Skip to content

Telegram message tool: buttons field should be optional #8844

@haru3613

Description

@haru3613

Problem

When sending Telegram messages via the message / send_message tool, the schema validation requires a buttons field to be present. If omitted, the request fails with a validation error — even when no buttons are needed.

This forces the agent to always include buttons: [] as a workaround, which is error-prone (the agent sometimes forgets, causing delivery failures on otherwise successful cron jobs).

Additional: transient 502 Bad Gateway

Telegram delivery also encounters intermittent 502 Bad Gateway errors. Currently there's no built-in retry, so a single transient failure can cause the entire message delivery to be reported as failed.

Expected Behavior

  1. buttons should be truly optional in the tool schema — if not provided, default to [] server-side
  2. Transient HTTP errors (502, 429) on Telegram delivery should be retried automatically (e.g., 3 attempts with exponential backoff)

Current Workaround

SOUL.md instructs the agent to always include buttons: [] and to manually retry on 502.

Environment

  • Hermes Agent v0.8.0 (nousresearch/hermes-agent:latest, arm64)
  • Running as Docker gateway (command: gateway run)
  • Telegram platform in polling mode

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existscomp/gatewayGateway runner, session dispatch, deliveryplatform/telegramTelegram bot adaptersweeper:implemented-on-mainSweeper: behavior already present on current maintype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions