mcpField
S
slack-automation

slack-automation

github.com/casper-studios生产力15262 次安装8 周前更新
代码仓库

关于 slack-automation

slack-automation 是用于 Slack 工作区管理和内容分析的自动化技能,适合需要查找频道、读取消息或整理内部信息的团队。操作以只读为主,另支持创建频道,并通过 Slack Bot Token 和相应权限访问机器人已加入的频道。

主要功能

  1. 01按名称搜索频道
  2. 02读取频道消息
  3. 03创建频道
  4. 04按主题分类消息
  5. 05使用 Slack Bot Token 访问

适用场景

  1. 01汇总内部新闻以制作周报
  2. 02查找与 Slack 讨论相关的会议
  3. 03将分类后的消息整理成报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/casper-studios/casper-marketplace --skill slack-automation

安装后在 Claude Code 中输入/slack-automation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
categorize.md
create-channel.md
fetch-news.md
search.md
scripts/
categorize_slack_messages.py
create_slack_channel.py
fetch_slack_news.py
slack_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 流程:

  1. 从新闻/公告频道获取消息
  2. 对相关内容进行分类和筛选
  3. 通过 content-generation 生成格式化的 Newsletter 版块
Slack 和会议背景信息

技能: slack-automation → transcript-search 用例: 研究 Slack 讨论时查找相关会议 流程:

  1. 在 Slack 中搜索客户名称或主题
  2. 提取日期范围和参与者姓名
  3. 在 transcript-search 中搜索相关会议录音
Slack 报告到 Drive

技能: slack-automation → google-workspace 用例: 将分类后的 Slack 摘要归档到 Google Drive 流程:

  1. 从内部频道获取消息并进行分类
  2. 生成格式化的报告文档
  3. 通过 google-workspace 上传到 Google Drive

评论

支持 Markdown