关于 slack-automation
slack-automation 是用于 Slack 工作区管理和内容分析的自动化技能,适合需要查找频道、读取消息或整理内部信息的团队。操作以只读为主,另支持创建频道,并通过 Slack Bot Token 和相应权限访问机器人已加入的频道。
主要功能
- 01按名称搜索频道
- 02读取频道消息
- 03创建频道
- 04按主题分类消息
- 05使用 Slack Bot Token 访问
适用场景
- 01汇总内部新闻以制作周报
- 02查找与 Slack 讨论相关的会议
- 03将分类后的消息整理成报告
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ casper-studios/ casper-marketplace --skill slack-automation安装后在 Claude Code 中输入/slack-automation确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/categorize.mdcreate-channel.mdfetch-news.mdsearch.mdscripts/categorize_slack_messages.pycreate_slack_channel.pyfetch_slack_news.pyslack_search.py详细介绍
Slack 自动化
概述
与 Slack 工作区交互,管理频道、读取消息并分析内容。除创建频道外,所有操作均为只读。
快速决策树
What do you need?
│
├── Search for channels by name
│ └── references/search.md
│ └── Script: scripts/slack_search.py search
│
├── Read messages from a channel
│ └── references/fetch-news.md
│ └── Script: scripts/fetch_slack_news.py
│
├── Create a new channel
│ └── references/create-channel.md
│ └── Script: scripts/create_slack_channel.py
│
└── Categorize/analyze messages
└── references/categorize.md
└── Script: scripts/categorize_slack_messages.py
环境设置
# Required in .env
SLACK_BOT_TOKEN=xoxb-your-bot-token
所需的 Bot 权限范围
| 权限范围 | 用途 |
|---|---|
channels:read | 列出公开频道 |
channels:history | 读取公开频道消息 |
groups:read | 列出私有频道 |
groups:history | 读取私有频道消息 |
channels:manage | 创建频道 |
常见用法
搜索频道
python scripts/slack_search.py search "internal" --limit 10
读取频道消息
python scripts/slack_search.py read "internal-client" --days 7
创建频道
python scripts/create_slack_channel.py "project-alpha" --private
频道命名模式
客户频道:internal-{client-name}
- 例如,
internal-microsoft、internal-acme-corp
费用
免费——Slack API 不按请求收费。速率限制约为每分钟 50 个请求。
安全说明
凭据处理
- 将
SLACK_BOT_TOKEN存储在.env文件中(切勿提交到 git) - Bot 令牌以
xoxb-开头——切勿在日志或输出中泄露 - 如果令牌泄露,请通过 Slack App 设置轮换令牌
- 使用环境变量,不要硬编码值
数据隐私
- 消息可能包含敏感的内部通信内容
- 避免将消息内容存储在持久化日志中
- 引用时使用消息链接/ID,而不是复制内容
- 导出消息时,请考虑数据保留政策
- 用户个人资料包含 PII(姓名、邮箱、头像)
访问权限范围
- 根据使用场景申请所需的最小权限范围:
channels:read- 列出公开频道(只读)channels:history- 读取公开频道消息(只读)groups:read- 列出 Bot 所在的私有频道(只读)groups:history- 读取私有频道消息(只读)channels:manage- 创建频道(写入权限)
- Bot 只能访问已邀请它加入的频道
- 在此处查看权限范围:Slack App Settings > OAuth & Permissions
合规注意事项
- 审计日志:Slack Enterprise Grid 提供用于合规的审计日志
- 消息保留:遵循组织的数据保留政策
- GDPR:消息内容可能包含欧盟用户的 PII
- 电子取证:导出的消息可能受法律保全要求约束
- 内部通信:将 Slack 数据视为机密信息
- 频道隐私:访问私有频道需要明确邀请
故障排除
常见问题
问题:找不到频道
症状: 读取或发布时出现 "channel_not_found" 错误 原因: 频道 ID 无效、Bot 不在频道中,或频道为私有频道 解决方案:
- 验证频道 ID 是否正确(使用
slack_search.py search) - 将 Bot 邀请到频道(
/invite @botname) - 检查频道是否为私有频道——Bot 需要明确邀请
- 确认频道未被归档或删除
问题:权限缺失/权限范围错误
症状: 出现 "missing_scope" 或 "not_allowed_token_type" 错误 原因: Bot 令牌缺少所需的 OAuth 权限范围 解决方案:
- 前往 Slack App Settings > OAuth & Permissions
- 添加所需权限范围:
channels:read、channels:history等 - 添加权限范围后,将应用重新安装到工作区
- 确认使用的是正确的 Bot 令牌(以
xoxb-开头)
问题:令牌过期或无效
症状: 出现 "invalid_auth" 或 "token_revoked" 错误 原因: OAuth 令牌已过期、被撤销或配置错误 解决方案:
- 在 Slack App 设置中重新授权 Bot
- 如果 Bot 令牌已被撤销,请重新生成
- 检查
.env中的SLACK_BOT_TOKEN值是否正确 - 确认令牌中没有空格或特殊字符
问题:速率受限
症状: 出现 "ratelimited" 错误或 429 状态码 原因: 短时间内发送了过多 API 请求 解决方案:
- 在请求之间添加延迟(1-2 秒)
- 减少批量操作的批次大小
- 在重试时实现指数退避
- Slack 对大多数端点的限制约为每分钟 50 个请求
问题:无法访问私有频道
症状: 尽管拥有相应权限范围,仍无法读取私有频道 原因: 尚未将机器人添加到私有频道 解决方案:
- 请频道成员邀请机器人:
/invite @botname - 确保已添加
groups:read和groups:history权限范围 - 确认添加权限范围后已重新安装机器人
资源
- references/search.md - 搜索频道和读取消息
- references/fetch-news.md - 从频道获取新闻
- references/create-channel.md - 创建新频道
- references/categorize.md - AI 消息分类
集成模式
Slack 到 Newsletter
技能: slack-automation → content-generation 用例: 汇总内部新闻,用于每周 Newsletter 流程:
- 从新闻/公告频道获取消息
- 对相关内容进行分类和筛选
- 通过 content-generation 生成格式化的 Newsletter 版块
Slack 和会议背景信息
技能: slack-automation → transcript-search 用例: 研究 Slack 讨论时查找相关会议 流程:
- 在 Slack 中搜索客户名称或主题
- 提取日期范围和参与者姓名
- 在 transcript-search 中搜索相关会议录音
Slack 报告到 Drive
技能: slack-automation → google-workspace 用例: 将分类后的 Slack 摘要归档到 Google Drive 流程:
- 从内部频道获取消息并进行分类
- 生成格式化的报告文档
- 通过 google-workspace 上传到 Google Drive