Skip to Content
👋 欢迎来到 HowToUseMoltbot 快速入门
频道Nextcloud Talk

Nextcloud Talk(插件)

状态:通过插件支持(webhook 机器人)。支持私聊、房间、表态和 Markdown 消息。

需安装插件

Nextcloud Talk 以插件形式提供,不随核心安装打包。通过 CLI 安装(npm 仓库):

moltbot plugins install @moltbot/nextcloud-talk

本地检出(在 git 仓库中运行时):

moltbot plugins install ./extensions/nextcloud-talk

若在配置/引导时选择 Nextcloud Talk 且检测到 git 检出,Moltbot 会自动提供本地安装路径。详见 插件

快速设置(入门)

  1. 安装 Nextcloud Talk 插件。
  2. 在 Nextcloud 服务器上创建机器人:
./occ talk:bot:install "Moltbot" "<shared-secret>" "<webhook-url>" --feature reaction
  1. 在目标房间设置中启用机器人。
  2. 配置 Moltbot:
    • 配置:channels.nextcloud-talk.baseUrl + channels.nextcloud-talk.botSecret
    • 或环境变量:NEXTCLOUD_TALK_BOT_SECRET(仅默认账号)
  3. 重启网关(或完成引导)。

最小配置:

{ channels: { "nextcloud-talk": { enabled: true, baseUrl: "https://cloud.example.com", botSecret: "shared-secret", dmPolicy: "pairing" } } }

说明

  • 机器人无法主动发起私聊。用户需先给机器人发消息。
  • Webhook URL 必须能被网关访问;若在代理后,需设置 webhookPublicUrl
  • 机器人 API 不支持媒体上传;媒体以 URL 形式发送。
  • Webhook payload 不区分私聊与房间;设置 apiUser + apiPassword 可启用房间类型查询(否则私聊会被当作房间处理)。

访问控制(私聊)

  • 默认:channels.nextcloud-talk.dmPolicy = "pairing"。未知发件人收到配对码。
  • 批准方式:
    • moltbot pairing list nextcloud-talk
    • moltbot pairing approve nextcloud-talk <CODE>
  • 开放私聊:channels.nextcloud-talk.dmPolicy="open"channels.nextcloud-talk.allowFrom=["*"]

房间(群组)

  • 默认: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 用户(区分私聊)。
  • channels.nextcloud-talk.apiPassword:房间查询用 API/应用密码。
  • channels.nextcloud-talk.apiPasswordFile:API 密码文件路径。
  • channels.nextcloud-talk.webhookPort:webhook 监听端口(默认 8788)。
  • channels.nextcloud-talk.webhookHost:webhook 主机(默认 0.0.0.0)。
  • channels.nextcloud-talk.webhookPath:webhook 路径(默认 /nextcloud-talk-webhook)。
  • channels.nextcloud-talk.webhookPublicUrl:对外可访问的 webhook URL。
  • channels.nextcloud-talk.dmPolicypairing | allowlist | open | disabled
  • channels.nextcloud-talk.allowFrom:私聊白名单(用户 ID)。open"*"
  • channels.nextcloud-talk.groupPolicyallowlist | open | disabled
  • channels.nextcloud-talk.groupAllowFrom:群组白名单(用户 ID)。
  • channels.nextcloud-talk.rooms:每房间设置与白名单。
  • channels.nextcloud-talk.historyLimit:群组历史上限(0 禁用)。
  • channels.nextcloud-talk.dmHistoryLimit:私聊历史上限(0 禁用)。
  • channels.nextcloud-talk.dms:每私聊覆盖(historyLimit)。
  • channels.nextcloud-talk.textChunkLimit:出站文本分块大小(字符)。
  • channels.nextcloud-talk.chunkModelength(默认)或 newline,在按长度分块前按空行(段落边界)拆分。
  • channels.nextcloud-talk.blockStreaming:是否对本频道禁用块流式。
  • channels.nextcloud-talk.blockStreamingCoalesce:块流式合并调优。
  • channels.nextcloud-talk.mediaMaxMb:入站媒体上限(MB)。
最后更新于: