Nextcloud Talk(プラグイン)
ステータス:プラグイン経由で対応(ウェブフックボット)。ダイレクトメッセージ、ルーム、リアクション、Markdownメッセージに対応。
プラグインが必要
Nextcloud Talkはプラグインとして提供され、コアインストールには含まれていません。
CLI経由でインストール(npmレジストリ):
openclaw plugins install @openclaw/nextcloud-talk
ローカルチェックアウト(gitリポジトリから実行する場合):
openclaw plugins install ./extensions/nextcloud-talk
オンボーディング/設定時にNextcloud Talkを選択し、gitチェックアウトが検出された場合、OpenClawはローカルインストールパスを自動的に提案します。
詳細:プラグイン
クイックセットアップ(初心者向け)
-
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(デフォルトアカウントのみ)
- 設定:
-
Gatewayを再起動(またはオンボーディングを完了)。
最小限の設定:
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "shared-secret",
dmPolicy: "pairing",
},
},
}
注意事項
- ボットからDMを開始することはできません。ユーザーが先にボットにメッセージを送る必要があります。
- ウェブフックURLはGatewayから到達可能である必要があります。プロキシの背後にある場合は
webhookPublicUrlを設定してください。 - Bot 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)
完全な設定:設定
プロバイダーオプション:
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)。