Nextcloud Talk (플러그인)
상태: 플러그인을 통해 지원됩니다 (웹훅 봇). 다이렉트 메시지, 룸, 리액션, 마크다운 메시지를 지원합니다.
플러그인 필요
Nextcloud Talk는 플러그인으로 제공되며 기본 코어에 포함되지 않습니다.
CLI로 설치 (npm 레지스트리):
openclaw plugins install @openclaw/nextcloud-talk
로컬 체크아웃 (git 저장소에서 실행 시):
openclaw plugins install ./extensions/nextcloud-talk
온보딩/구성 중에 Nextcloud Talk을 선택하고 git 체크아웃이 감지되면, OpenClaw가 로컬 설치 경로를 자동으로 제안합니다.
자세한 내용: Plugins
빠른 설정 (초보자)
-
Nextcloud Talk 플러그인을 설치합니다.
-
Nextcloud 서버에서 봇을 생성합니다:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction -
대상 룸 설정에서 봇을 활성화합니다.
-
OpenClaw를 설정합니다:
- 설정:
channels.nextcloud-talk.baseUrl+channels.nextcloud-talk.botSecret - 또는 환경 변수:
NEXTCLOUD_TALK_BOT_SECRET(기본 계정만)
- 설정:
-
게이트웨이를 재시작합니다 (또는 온보딩을 완료합니다).
최소 설정:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
참고 사항
- 봇은 DM을 먼저 시작할 수 없습니다. 사용자가 봇에게 먼저 메시지를 보내야 합니다.
- 웹훅 URL은 게이트웨이에서 접근 가능해야 합니다. 프록시 뒤에 있는 경우
webhookPublicUrl을 설정하세요. - 봇 API에서 미디어 업로드가 지원되지 않습니다. 미디어는 URL로 전송됩니다.
- 웹훅 페이로드는 DM과 룸을 구분하지 않습니다. 룸 유형 조회를 활성화하려면
apiUser+apiPassword를 설정하세요 (그렇지 않으면 DM이 룸으로 처리됩니다).
접근 제어 (DM)
- 기본값:
channels.nextcloud-talk.dmPolicy = "pairing". 알 수 없는 발신자에게 페어링 코드를 제공합니다. - 승인:
openclaw pairing list nextcloud-talkopenclaw pairing approve nextcloud-talk <CODE>
- 공개 DM:
channels.nextcloud-talk.dmPolicy="open"및channels.nextcloud-talk.allowFrom=["*"]. allowFrom은 Nextcloud 사용자 ID만 매칭합니다. 표시 이름은 무시됩니다.
룸 (그룹)
- 기본값:
channels.nextcloud-talk.groupPolicy = "allowlist"(멘션 게이팅). channels.nextcloud-talk.rooms로 룸을 허용합니다:
{
channels: {
"nextcloud-talk": {
rooms: {
"room-token": { requireMention: true },
},
},
},
}
- 룸을 허용하지 않으려면 허용 목록을 비워두거나
channels.nextcloud-talk.groupPolicy="disabled"로 설정하세요.
기능
| 기능 | 상태 |
|---|---|
| 다이렉트 메시지 | 지원됨 |
| 룸 | 지원됨 |
| 스레드 | 미지원 |
| 미디어 | URL만 |
| 리액션 | 지원됨 |
| 네이티브 명령 | 미지원 |
설정 레퍼런스 (Nextcloud Talk)
전체 설정: Configuration
제공자 옵션:
channels.nextcloud-talk.enabled: 채널 시작 활성화/비활성화.channels.nextcloud-talk.baseUrl: Nextcloud 인스턴스 URL.channels.nextcloud-talk.botSecret: 봇 공유 시크릿.channels.nextcloud-talk.botSecretFile: 일반 파일 시크릿 경로. 심볼릭 링크는 거부됩니다.channels.nextcloud-talk.apiUser: 룸 조회용 API 사용자 (DM 감지).channels.nextcloud-talk.apiPassword: 룸 조회용 API/앱 비밀번호.channels.nextcloud-talk.apiPasswordFile: API 비밀번호 파일 경로.channels.nextcloud-talk.webhookPort: 웹훅 리스너 포트 (기본값: 8788).channels.nextcloud-talk.webhookHost: 웹훅 호스트 (기본값: 0.0.0.0).channels.nextcloud-talk.webhookPath: 웹훅 경로 (기본값: /nextcloud-talk-webhook).channels.nextcloud-talk.webhookPublicUrl: 외부에서 접근 가능한 웹훅 URL.channels.nextcloud-talk.dmPolicy:pairing | allowlist | open | disabled.channels.nextcloud-talk.allowFrom: DM 허용 목록 (사용자 ID).open은"*"필요.channels.nextcloud-talk.groupPolicy:allowlist | open | disabled.channels.nextcloud-talk.groupAllowFrom: 그룹 허용 목록 (사용자 ID).channels.nextcloud-talk.rooms: 룸별 설정 및 허용 목록.channels.nextcloud-talk.historyLimit: 그룹 히스토리 제한 (0으로 비활성화).channels.nextcloud-talk.dmHistoryLimit: DM 히스토리 제한 (0으로 비활성화).channels.nextcloud-talk.dms: DM별 재정의 (historyLimit).channels.nextcloud-talk.textChunkLimit: 아웃바운드 텍스트 청크 크기 (문자).channels.nextcloud-talk.chunkMode:length(기본값) 또는newline으로 빈 줄(단락 경계)에서 먼저 분할.channels.nextcloud-talk.blockStreaming: 이 채널의 블록 스트리밍 비활성화.channels.nextcloud-talk.blockStreamingCoalesce: 블록 스트리밍 통합 조정.channels.nextcloud-talk.mediaMaxMb: 인바운드 미디어 상한 (MB).