Nextcloud Talk (plugin)
상태: plugin(webhook bot)으로 지원됩니다. direct messages, rooms, reactions, markdown messages를 지원합니다.Plugin 필요
Nextcloud Talk는 plugin으로 제공되며 core install에 번들되어 있지 않습니다. CLI 설치(npm registry):빠른 설정(beginner)
- Nextcloud Talk plugin을 설치합니다.
-
Nextcloud server에서 bot을 만듭니다.
- 대상 room 설정에서 bot을 활성화합니다.
-
OpenClaw를 설정합니다.
- Config:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - 또는 env:
NEXTCLOUD_TALK_BOT_SECRET(default account only)
- Config:
- gateway를 재시작합니다(또는 onboarding을 끝냅니다).
참고
- bot은 DM을 먼저 시작할 수 없습니다. 사용자가 먼저 bot에게 메시지를 보내야 합니다.
- webhook URL은 Gateway에서 도달 가능해야 합니다. proxy 뒤에 있다면
webhookPublicUrl을 설정하세요. - bot API는 media upload를 지원하지 않으므로 media는 URL로 전송됩니다.
- webhook payload는 DM과 room을 구분하지 못합니다.
apiUser+apiPassword를 설정하면 room type lookup을 활성화할 수 있습니다 (그렇지 않으면 DM도 room으로 취급).
접근 제어(DM)
- 기본값:
channels.nextcloud-talk.dmPolicy = "pairing". 알 수 없는 sender는 pairing code를 받습니다. - 승인 방법:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- 공개 DM:
channels.nextcloud-talk.dmPolicy="open"+channels.nextcloud-talk.allowFrom=["*"] allowFrom은 Nextcloud user ID만 매칭합니다. display name은 무시됩니다.
Rooms(groups)
- 기본값:
channels.nextcloud-talk.groupPolicy = "allowlist"(mention-gated) channels.nextcloud-talk.rooms로 room allowlist를 설정합니다.
- room을 하나도 허용하지 않으려면 allowlist를 비워 두거나
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)
전체 구성: Configuration Provider option:channels.nextcloud-talk.enabled: 채널 시작 활성화/비활성화channels.nextcloud-talk.baseUrl: Nextcloud instance URLchannels.nextcloud-talk.botSecret: bot shared secretchannels.nextcloud-talk.botSecretFile: regular-file secret path. symlink는 거부channels.nextcloud-talk.apiUser: room lookup용 API user(DM detection)channels.nextcloud-talk.apiPassword: room lookup용 API/app passwordchannels.nextcloud-talk.apiPasswordFile: API password file pathchannels.nextcloud-talk.webhookPort: webhook listener port (기본 8788)channels.nextcloud-talk.webhookHost: webhook host (기본 0.0.0.0)channels.nextcloud-talk.webhookPath: webhook path (기본/nextcloud-talk-webhook)channels.nextcloud-talk.webhookPublicUrl: 외부에서 도달 가능한 webhook URLchannels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabledchannels.nextcloud-talk.allowFrom: DM allowlist(user IDs).open에는"*"필요channels.nextcloud-talk.groupPolicy:allowlist | open | disabledchannels.nextcloud-talk.groupAllowFrom: group allowlist(user IDs)channels.nextcloud-talk.rooms: room별 설정과 allowlistchannels.nextcloud-talk.historyLimit: group history limit (0이면 비활성화)channels.nextcloud-talk.dmHistoryLimit: DM history limit (0이면 비활성화)channels.nextcloud-talk.dms: DM별 override (historyLimit)channels.nextcloud-talk.textChunkLimit: outbound text chunk size(chars)channels.nextcloud-talk.chunkMode:length(기본) 또는newlinechannels.nextcloud-talk.blockStreaming: 이 채널의 block streaming 비활성화channels.nextcloud-talk.blockStreamingCoalesce: block streaming coalesce tuningchannels.nextcloud-talk.mediaMaxMb: inbound media cap(MB)