You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Slack API删除频道中触发slash command的原消息?

如何让Slack Slash Command替换用户的原始触发消息

我帮你搞定这个问题!你想要实现类似/giphy的效果——用户发完命令后,原始消息消失,只留下你的响应内容。Slack的slash command本身没有直接的参数支持这个功能,但通过几个API调用就能实现,步骤如下:

1. 先给你的App加对权限

首先得确保你的Slack App有足够的操作权限,去App管理后台的OAuth & Permissions页面,添加这些Bot Token Scopes:

  • chat:write:允许bot发送、删除消息
  • chat:write.public(可选):如果要在公开频道生效,私有频道只需要上面的chat:write
  • conversations.history:允许获取频道的消息历史,用来定位用户发的那条命令消息

加完权限记得重新把App安装到工作区,拿到最新的Bot Token。

2. 找到用户原始命令消息的时间戳(TS)

当用户触发你的slash command时,Slack会给你的服务发一个POST请求,里面带着channel_id(频道ID)和user_id(用户ID)。你需要用这两个参数调用conversations.history API,获取该用户在这个频道里的最新一条消息——也就是那条slash command的消息,拿到它的ts(时间戳)。

举个Python的例子:

import requests
import time

SLACK_BOT_TOKEN = "xoxb-你的BotToken"
# 从Slack发送的slash command请求里取到下面两个值
CHANNEL_ID = request.form.get("channel_id")
USER_ID = request.form.get("user_id")

# 稍微等一下,确保Slack已经记录了这条消息
time.sleep(0.5)

# 调用API获取最新消息
history_response = requests.get(
    "https://slack.com/api/conversations.history",
    headers={"Authorization": f"Bearer {SLACK_BOT_TOKEN}"},
    params={"channel": CHANNEL_ID, "user": USER_ID, "limit": 1}
)

history_data = history_response.json()
original_ts = history_data["messages"][0]["ts"]

3. 删除原始的命令消息

拿到original_ts后,调用chat.delete API把那条命令消息删掉:

delete_response = requests.post(
    "https://slack.com/api/chat.delete",
    headers={"Authorization": f"Bearer {SLACK_BOT_TOKEN}"},
    json={"channel": CHANNEL_ID, "ts": original_ts}
)

4. 发送你的响应内容

最后,用chat.postMessage API把你的查询结果发送到频道里就好了:

response_message = "这是你要的查询结果!"
post_response = requests.post(
    "https://slack.com/api/chat.postMessage",
    headers={"Authorization": f"Bearer {SLACK_BOT_TOKEN}"},
    json={"channel": CHANNEL_ID, "text": response_message}
)

一些小提醒

  • 加个短暂的等待(比如0.5秒)很重要,不然可能Slack还没把用户的命令消息存入历史,你就去查,会找不到。
  • 也可以先发送响应再删原始消息,用户体验上差别不大,最后都会只看到你的响应。
  • 要是遇到API报错,先检查Bot Token的权限有没有加对,或者频道是不是公开/私有对应的权限没配全。

这样操作后,频道里就只会留下你的响应,原始的slash command消息会被彻底删掉,完美实现你想要的效果!

内容的提问来源于stack exchange,提问作者Steve Mason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:30:12