Updated docs for all bundled plugins to reflect: - Plugins are bundled with Clawdbot - Dependencies auto-install on first load when enabled - npm install is an alternative, not required - Simplified setup steps Updated channels: - line, matrix, mattermost, msteams, nextcloud-talk, nostr, zalo, zalouser Updated plugins: - voice-call, zalouser
4.7 KiB
4.7 KiB
| summary | read_when | |
|---|---|---|
| Nextcloud Talk support status, capabilities, and configuration |
|
Nextcloud Talk (plugin)
Status: supported via plugin (webhook bot). Direct messages, rooms, reactions, and markdown messages are supported.
Plugin setup
Nextcloud Talk is bundled with Clawdbot. Its dependencies are automatically installed on first load when you enable the plugin.
To enable, add nextcloud-talk to your plugins allow list:
{
plugins: {
allow: ["nextcloud-talk"]
}
}
The onboarding wizard and clawdbot channels add also offer to enable Nextcloud Talk.
Alternatively, install explicitly from npm:
clawdbot plugins install @clawdbot/nextcloud-talk
Details: Plugins
Quick setup (beginner)
- Install the Nextcloud Talk plugin.
- On your Nextcloud server, create a bot:
./occ talk:bot:install "Clawdbot" "<shared-secret>" "<webhook-url>" --feature reaction - Enable the bot in the target room settings.
- Configure Clawdbot:
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - Or env:
NEXTCLOUD_TALK_BOT_SECRET(default account only)
- Config:
- Restart the gateway (or finish onboarding).
Minimal config:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing"
}
}
}
Notes
- Bots cannot initiate DMs. The user must message the bot first.
- Webhook URL must be reachable by the Gateway; set
webhookPublicUrlif behind a proxy. - Media uploads are not supported by the bot API; media is sent as URLs.
- The webhook payload does not distinguish DMs vs rooms; set
apiUser+apiPasswordto enable room-type lookups (otherwise DMs are treated as rooms).
Access control (DMs)
- Default:
channels.nextcloud-talk.dmPolicy = "pairing". Unknown senders get a pairing code. - Approve via:
clawdbot pairing list nextcloud-talkclawdbot pairing approve nextcloud-talk <CODE>
- Public DMs:
channels.nextcloud-talk.dmPolicy="open"pluschannels.nextcloud-talk.allowFrom=["*"].
Rooms (groups)
- Default:
channels.nextcloud-talk.groupPolicy = "allowlist"(mention-gated). - Allowlist rooms with
channels.nextcloud-talk.rooms:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true }
}
}
}
}
- To allow no rooms, keep the allowlist empty or set
channels.nextcloud-talk.groupPolicy="disabled".
Capabilities
| Feature | Status |
|---|---|
| Direct messages | Supported |
| Rooms | Supported |
| Threads | Not supported |
| Media | URL-only |
| Reactions | Supported |
| Native commands | Not supported |
Configuration reference (Nextcloud Talk)
Full configuration: Configuration
Provider options:
channels.nextcloud-talk.enabled: enable/disable channel startup.channels.nextcloud-talk.baseUrl: Nextcloud instance URL.channels.nextcloud-talk.botSecret: bot shared secret.channels.nextcloud-talk.botSecretFile: secret file path.channels.nextcloud-talk.apiUser: API user for room lookups (DM detection).channels.nextcloud-talk.apiPassword: API/app password for room lookups.channels.nextcloud-talk.apiPasswordFile: API password file path.channels.nextcloud-talk.webhookPort: webhook listener port (default: 8788).channels.nextcloud-talk.webhookHost: webhook host (default: 0.0.0.0).channels.nextcloud-talk.webhookPath: webhook path (default: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: externally reachable webhook URL.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: DM allowlist (user IDs).openrequires"*".channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: group allowlist (user IDs).channels.nextcloud-talk.rooms: per-room settings and allowlist.channels.nextcloud-talk.historyLimit: group history limit (0 disables).channels.nextcloud-talk.dmHistoryLimit: DM history limit (0 disables).channels.nextcloud-talk.dms: per-DM overrides (historyLimit).channels.nextcloud-talk.textChunkLimit: outbound text chunk size (chars).channels.nextcloud-talk.chunkMode:length(default) ornewlineto split on blank lines (paragraph boundaries) before length chunking.channels.nextcloud-talk.blockStreaming: disable block streaming for this channel.channels.nextcloud-talk.blockStreamingCoalesce: block streaming coalesce tuning.channels.nextcloud-talk.mediaMaxMb: inbound media cap (MB).