OpenCLI Online

Slack

Slack CLI

Slack Workspace 上的 Bolt 应用、Bot Token 与频道消息的快速操作与脚本化。

官方与参考链接

类型链接
Slack API 主页https://api.slack.com/
创建 / 管理 Slack Apphttps://api.slack.com/apps
认证与 OAuth 概览https://api.slack.com/authentication
Web API 方法列表https://api.slack.com/methods
速率限制说明https://api.slack.com/docs/rate-limits

下文列出 opencli slack 全部子命令;Web API 请求体字段以 Slack 官方方法文档 为准,CLI 层入口以本站为准。

概述

Slack CLI 模块 opencli slack 面向已创建 Slack App 的团队,提供 token 配置、chat.postMessage 封装、以及常见管理 API 的快捷入口。可与 OpenCLI 其他平台模块并列使用于「一条流水线通知多个协作工具」场景。

前置要求

项目说明
Slack App + Bot User在 api.slack.com 创建应用并安装到 Workspace
Bot User OAuth Token一般以 xoxb- 开头
所需 OAuth Scope如 chat:write、channels:read 等
Node.js 20+运行全局 opencli

安装

npm install -g @opencli/cli@latest
opencli slack --help

配置 Bot Token

切勿将 xoxb- token 提交到版本库。

环境变量(推荐)

export SLACK_BOT_TOKEN=xoxb-your-token-here

OpenCLI 会读取 SLACK_BOT_TOKEN;也可使用 opencli slack config 写入本地加密文件(视版本而定)。

交互式写入(示例)

opencli slack config set bot_token --prompt

按提示粘贴 token,输入不会回显到终端。


命令参考(全量)

opencli slack --help

配置 config

命令说明
opencli slack config set bot_token --prompt交互粘贴 xoxb-
opencli slack config set bot_token --value <token>非交互(注意 shell 历史)
opencli slack config set bot_token --from-env <ENV>从环境变量读取
opencli slack config get bot_token读取(默认掩码显示)
opencli slack config path配置文件路径

会话消息 chat

命令说明
opencli slack chat post --channel <Cxx 或 #name> --text <text> [--thread-ts <ts>]等同 chat.postMessage
opencli slack chat update --channel <Cxx> --ts <消息ts> --text <text>更新消息
opencli slack chat post --channel C01234567 --text "OpenCLI:生产部署完成 ✅"

文件 files

命令说明
opencli slack files upload --channel <Cxx> --file <path> [--title <t>] [--thread-ts <ts>]上传文件
opencli slack files upload --channel C01234567 --file ./build.log --title "Build log"

频道 channels

命令说明
opencli slack channels list [--types public_channel,private_channel,...]Bot 可见会话列表
opencli slack channels info --channel <Cxx>频道元数据

用户 users

命令说明
opencli slack users lookup --email <mail>邮箱查 user id
opencli slack users info --user <Uxx>用户信息

会话 conversations

命令说明
opencli slack conversations open --users <U1,U2,...>打开或创建 DM

通用转义 api(任意 Web API)

命令说明
opencli slack api call --method <methods.name> [--body '<json>'] [--query k=v]直接调用;--method 如 chat.postMessage、users.list
opencli slack api call --method chat.postMessage --body '{"channel":"C01234567","text":"hi"}'

开发 socket(可选)

命令说明
opencli slack socket dev [--app-token <xapp->]本地 Socket Mode 调试隧道(依实现)

与 Socket Mode / 事件对比

  • Webhook / HTTP 模式:适合部署在公网服务器;需在 Slack App 中配置 Request URL。
  • Socket Mode:适合本地开发;需 xapp- App-Level Token。OpenCLI 可提供 opencli slack socket dev 类命令做隧道调试(具体以 opencli slack --help 为准)。

故障排查

现象处理
not_in_channel将 Bot 邀请进目标频道或使用已有权限的会话 ID
invalid_auth检查 token 是否过期、是否误用了 User Token
rate_limited遵循 Slack Tier 限制,在脚本中加入退避重试