Skip to content

[Bug]: Nextcloud Talk use correct bot message API #6157

@rhinterndorfer

Description

@rhinterndorfer

Affected component

channel

Severity

S3 - minor issue

Current behavior

The Nextcloud Talk response message fails because the wrong bot message API is being used.
Currently, the URL is constructed as "{}/ocs/v2.php/apps/spreed/api/v1/chat/{}?format=json" with the bot secret passed as a bearer authentication token.
The correct implementation is described in the Nextcloud Talk bot documentation: https://nextcloud-talk.readthedocs.io/en/latest/bots/

Expected behavior

After processing the message, ZeroClaw should post the response to the Nextcloud Talk room.

Steps to reproduce

1. Latest Nextcloud Talk version (currently Nextcloud 33.0.2 with Talk 23.0.3)
2. Send a message to the ZeroClaw bot
3. After LLM processing, errors appear in the ZeroClaw log

Impact

ZeroClaw is unable to send any response back to Nextcloud Talk.

Logs / stack traces

2026-04-27T12:14:05.523091Z  INFO zeroclaw_channels::nextcloud_talk: Nextcloud Talk channel active (webhook mode). Configure Nextcloud Talk bot webhook to POST to your gateway's /nextcloud-talk endpoint.
2026-04-27T12:14:05.624493Z DEBUG zeroclaw_channels::telegram: Startup probe succeeded; entering main long-poll loop.
2026-04-27T12:14:05.665827Z  INFO zeroclaw_channels::telegram: Telegram bot commands registered successfully (47 commands)
2026-04-27T12:14:12.923887Z  INFO zeroclaw_gateway: Nextcloud Talk message from Raphael: ping
2026-04-27T12:14:12.925469Z  INFO zeroclaw_gateway: Async processing Nextcloud Talk message for session=nextcloud_talk_Raphael
2026-04-27T12:14:12.926211Z DEBUG zeroclaw_runtime::security::detect: Docker sandbox skipped: runtime.kind = "native" overrides auto-detection
2026-04-27T12:14:12.926224Z  INFO zeroclaw_runtime::security::detect: No sandbox backend available, using application-layer security
2026-04-27T12:14:12.927821Z DEBUG zeroclaw_runtime::agent::loop_: Streaming decision for iteration 1 has_on_delta=false supports_streaming=true should_consume_provider_stream=false
2026-04-27T12:14:12.927870Z DEBUG zeroclaw_providers::anthropic: Anthropic streaming API request max_tokens=4096 model=chat
2026-04-27T12:14:46.610562Z ERROR zeroclaw_channels::nextcloud_talk: Nextcloud Talk send failed: 404 Not Found — {"ocs":{"meta":{"status":"failure","statuscode":404,"message":""},"data":[]}}
2026-04-27T12:14:46.610597Z ERROR zeroclaw_gateway: Failed to send Nextcloud Talk reply: Nextcloud Talk API error: 404 Not Found

ZeroClaw version

zeroclaw 0.7.3 / commit 0cd9d3b

Rust version

rustc 1.95.0 (59807616e 2026-04-14)

Operating system

Debian GNU/Linux 13 (trixie)

Regression?

No, first-time setup

Pre-flight checks

  • I reproduced this on the latest master branch or latest release.
  • I redacted secrets, tokens, and personal data from all submitted content.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingchannelAuto scope: src/channels/** changed.channel: nextcloud_talkAuto module: channel/nextcloud_talk changed.priority:p2Medium priority

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions