slack

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Slack

Slack

Search and interact with Slack workspaces from the command line.
从命令行搜索并与Slack工作区交互。

Important: Token Security

重要提示:令牌安全

NEVER include
$SLACK_TOKEN
directly in curl commands.
The token will be logged and exposed.
Always use the wrapper scripts which read the token from the environment internally:
  • slack send
    - not
    curl ... -H "Authorization: Bearer $SLACK_TOKEN"
  • slack-api POST ...
    - for advanced API calls
切勿在curl命令中直接包含
$SLACK_TOKEN
令牌会被记录并暴露。
请始终使用从环境变量内部读取令牌的包装脚本:
  • slack send
    - 而非
    curl ... -H "Authorization: Bearer $SLACK_TOKEN"
  • slack-api POST ...
    - 用于高级API调用

Quick Setup (New Users)

快速设置(新用户)

bash
undefined
bash
undefined

Add scripts to PATH

将脚本添加到PATH

export PATH="$PATH:$HOME/.letta/skills/slack/scripts"
export PATH="$PATH:$HOME/.letta/skills/slack/scripts"

Create Slack app with one click (opens browser)

一键创建Slack应用(打开浏览器)

slack-setup

This opens Slack's app creation page with all permissions pre-configured. Then:
1. Click **Create** to create the app
2. Go to **OAuth & Permissions** → **Install to Workspace**
3. Copy the **User OAuth Token** (`xoxp-...`) - NOT the bot token
4. Set it in your shell:
   ```bash
   export SLACK_TOKEN="xoxp-..."
Why user token? Bot tokens (
xoxb-
) cannot search messages (Slack limitation). User tokens can do everything bots can, plus search.
slack-setup

此操作会打开Slack的应用创建页面,且所有权限已预先配置。然后:
1. 点击**Create**创建应用
2. 进入**OAuth & Permissions** → **Install to Workspace**
3. 复制**User OAuth Token**(`xoxp-...`)- 不要复制机器人令牌
4. 在shell中设置令牌:
   ```bash
   export SLACK_TOKEN="xoxp-..."
为什么使用用户令牌? 机器人令牌(
xoxb-
)无法搜索消息(Slack限制)。用户令牌可以执行所有机器人能做的操作,还能搜索消息。

Quick Setup (Existing Token)

快速设置(已有令牌)

bash
export SLACK_TOKEN="xoxp-..."   # User token (recommended) or xoxb- bot token
export PATH="$PATH:$HOME/.letta/skills/slack/scripts"
bash
export SLACK_TOKEN="xoxp-..."   # 推荐使用用户令牌,也可使用xoxb-机器人令牌
export PATH="$PATH:$HOME/.letta/skills/slack/scripts"

Commands

命令说明

Search messages

搜索消息

bash
slack search "deployment failed"
slack search "from:@caren database"
slack search "in:#engineering api"
slack search "in:#engineering after:2024-01-01 bug"
Search supports Slack's modifiers:
from:
,
in:
,
to:
,
has:link
,
has:reaction
,
before:
,
after:
,
on:
.
bash
slack search "deployment failed"
slack search "from:@caren database"
slack search "in:#engineering api"
slack search "in:#engineering after:2024-01-01 bug"
搜索支持Slack的修饰符:
from:
,
in:
,
to:
,
has:link
,
has:reaction
,
before:
,
after:
,
on:

Send messages

发送消息

bash
slack send "#general" "Hello team!"
slack send "#alerts" ":rocket: Deployment complete"
slack send "@caren" "Quick question..."
bash
slack send "#general" "Hello team!"
slack send "#alerts" ":rocket: Deployment complete"
slack send "@caren" "Quick question..."

Join a channel

加入频道

The bot must be a member of a channel to read its history. Join public channels with:
bash
slack join "#engineering"
For private channels, someone must invite the bot manually via Slack.
机器人必须成为频道成员才能读取其历史消息。使用以下命令加入公开频道:
bash
slack join "#engineering"
对于私有频道,必须有人通过Slack手动邀请机器人。

List channels

列出频道

bash
slack channels
bash
slack channels

Read channel history

查看频道历史消息

bash
slack history "#engineering"
slack history "#engineering" 50    # Last 50 messages
bash
slack history "#engineering"
slack history "#engineering" 50    # 最近50条消息

Read thread replies

查看线程回复

bash
slack thread "C1234567890" "1234567890.123456"
slack thread "C1234567890" "1234567890.123456" --json   # Raw JSON output
Thread timestamps (
ts
) come from search results or channel history.
bash
slack thread "C1234567890" "1234567890.123456"
slack thread "C1234567890" "1234567890.123456" --json   # 原始JSON输出
线程时间戳(
ts
)来自搜索结果或频道历史消息。

List and view users

列出和查看用户信息

bash
slack users
slack user "U1234567890"
bash
slack users
slack user "U1234567890"

Advanced: Direct API Access

高级功能:直接调用API

For operations not covered by
slack
, use
slack-api
(keeps token secure):
bash
undefined
对于
slack
命令未覆盖的操作,使用
slack-api
(可保障令牌安全):
bash
undefined

Post with rich formatting (blocks)

发送富格式消息(blocks)

slack-api POST chat.postMessage '{"channel": "#general", "blocks": [{"type": "section", "text": {"type": "mrkdwn", "text": "Bold and italic"}}]}'
slack-api POST chat.postMessage '{"channel": "#general", "blocks": [{"type": "section", "text": {"type": "mrkdwn", "text": "Bold and italic"}}]}'

Add reaction

添加表情反应

slack-api POST reactions.add '{"channel": "C1234", "timestamp": "1234.5678", "name": "thumbsup"}'
slack-api POST reactions.add '{"channel": "C1234", "timestamp": "1234.5678", "name": "thumbsup"}'

Get user info

获取用户信息

slack-api GET "users.info?user=U1234567890"
slack-api GET "users.info?user=U1234567890"

Reply to thread

回复线程

slack-api POST chat.postMessage '{"channel": "C1234", "thread_ts": "1234.5678", "text": "Thread reply"}'

See [references/api.md](references/api.md) for more API patterns.
slack-api POST chat.postMessage '{"channel": "C1234", "thread_ts": "1234.5678", "text": "Thread reply"}'

更多API使用模式请参考[references/api.md](references/api.md)。

Permissions Included

包含的权限

The manifest (
slack-setup
) includes these bot scopes:
CategoryScopes
Search
search:read
Messaging
chat:write
,
chat:write.public
,
reactions:read
,
reactions:write
Public channels
channels:read
,
channels:history
,
channels:join
Private channels
groups:read
,
groups:history
Direct messages
im:read
,
im:write
,
im:history
Users
users:read
,
users:read.email
Files
files:read
,
files:write
Other
emoji:read
,
links:read
slack-setup
的清单包含以下机器人权限:
分类权限
搜索
search:read
消息
chat:write
,
chat:write.public
,
reactions:read
,
reactions:write
公开频道
channels:read
,
channels:history
,
channels:join
私有频道
groups:read
,
groups:history
直接消息
im:read
,
im:write
,
im:history
用户
users:read
,
users:read.email
文件
files:read
,
files:write
其他
emoji:read
,
links:read