如何删除临时消息

2023-12-23

我正在尝试找出一种机制,将临时消息发布给用户,然后将其删除并替换为所有人都可见的消息。与 giphy 类似的行为,其中 Slash 命令显示交互式临时消息,并在用户决定发送哪个 gif 后创建频道消息。我也对更新临时消息感到好奇。我认为如果我们使用交互式临时消息,这可以通过 response_url 来完成。

我最初想我只是使用创建一条短暂的消息chat.postEphemeral然后打电话chat.delete就可以了,但似乎 chat.delete 和chat.update无法在使用创建的消息上调用chat.postEphemeral.

Slack 消息指南似乎建议多步骤交互流程应始终以短暂的方式处理,以便其他通道用户在结果之前看不到所有中间消息,但我不知道如何摆脱它完成后的短暂性。可能只是不擅长阅读,但任何帮助表示赞赏。

编辑更多详细信息:

有关使用 response_url 和 postEphemeral 状态的文档

当您使用 chat.update 或 Replace_original 替换消息时 选项,您不能将消息的类型从临时更改为 in_channel。消息一旦发出,将保留其原样 一生的可视性质量。

消息指南建议:

如果用户启动了包含多个步骤的操作,则这些步骤 应显示为仅对该用户可见的临时消息,直到 整个动作完成,避免通道混乱 每个人。

据推测,我应该能够创建一个交互,在其中我首先发送一条 in_channel 交互消息。

  • 当用户发起操作时,我应该能够使用response_url并经过response_type: 'ephemeral' and replace_original: false?
  • 以这种方式创建的新的临时交互消息将有自己的response_url用于进行编辑,对吗?
  • 一旦我通过临时消息完成了交互流,我可以使用其原始的response_url来修改原始的交互消息?
  • 最后,如何摆脱最后一次短暂的编辑?或者我只是将其更改为“工作流程已完成”之类的内容并希望得到最好的结果?我这么问是因为 Slash 命令显然似乎有一种方法可以基本上替换 in_channel 消息的临时消息,并且我正在尝试找出这种工作流程。

我四处搜索如何做到这一点,终于找到了答案。

  1. 您的短暂消息必须触发一个操作,即单击按钮。
  2. 您对该操作的响应必须使用以下正文

    {
        'response_type': 'ephemeral',
        'text': '',
        'replace_original': true,
        'delete_original': true
    }
    

'delete_original': true是这里的关键,据我所知,任何 API 指南中都没有提到它,但它存在于API现场指南 https://api.slack.com/docs/interactive-message-field-guide under Top-level message fields

如果您想更改response_type您的消息而不是删除它,您必须首先删除临时消息,然后使用'response_type': 'in_channel'.

在我的用例中,我想获取一条临时消息,并使用与频道内消息完全相同的消息正文重新发布它。我还没有找到一种方法来检索临时消息的内容,因此我找到的最好方法是传递在按钮的临时消息中生成临时消息的任何必要数据value以便您的操作处理程序可以读取此数据并动态地重新创建消息正文。

就我而言,这是用于执行查询的用户输入。如果数据库中的数据在原始临时消息发布时间和频道内版本发布时间之间发生变化,它们将会有所不同。 您可以直接通过此发送 JSON 字符串value字段并避免进行额外的数据库调用以及发布到频道时消息发生更改的风险。 的字符限制value是 2000,所以 JSON 传递极其有限。

假设您在最初创建临时消息以及在频道内重新创建它时使用相同的代码来生成此正文,您应该收到相同的正文,并且基本上能够将临时消息更改为频道内消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除临时消息 的相关文章

  • 使用 FastAPI 解析来自 Slack 的传入 POST 请求

    我正在构建一个 FastAPI 服务器来接收 slacklash 命令发送的请求 使用下面的代码 我可以看到以下内容 token BLAHBLAH team id BLAHBLAH team domain myteam channel id
  • Slack Oauth/授权 API 调用

    我是 OAuth 和 Slack API 的新手 对 Slack 的第 1 步有疑问OAuth 流程 它说 您的网络或移动应用程序应将用户重定向到以下网址 https slack com oauth authorize 起初我认为我应该执行
  • 如何删除临时消息

    我正在尝试找出一种机制 将临时消息发布给用户 然后将其删除并替换为所有人都可见的消息 与 giphy 类似的行为 其中 Slash 命令显示交互式临时消息 并在用户决定发送哪个 gif 后创建频道消息 我也对更新临时消息感到好奇 我认为如果
  • Hubot Slack 机器人可以存储会话吗

    我正在尝试实现简单的松弛机器人 所以我已经配置了hubot这将从以下位置获取输入slack并将其传递给我的网络应用程序 django app 并且它将采取任何响应django app并会回复松弛 在此过程中 我尝试将会话存储在django
  • 松弛斜杠命令仅显示对通道的响应

    slack 只提供两种类型的响应 ephemeral 只向用户显示命令和响应 in channel 向频道中的所有用户显示命令和响应 短暂的例子 in channel 示例 问题 我怎样才能使斜杠命令显示响应only在频道中而不显示命令和响
  • C# 访问 Slack WebAPI 时出现“无法访问已处置对象”错误 - 线程或其他内容?

    有人可以帮忙吗 我有点困惑 我正在使用 PostAsync 将消息发送到 Slack API 代码如下 我试图获得正确的速率限制代码 因此在编写我认为正确的内容后 我尝试通过从 for 循环中一遍又一遍地调用代码 在本例中为发布消息 来触发
  • 只需使用 Slack Commands API 即可删除交互式消息(命令响应)

    所以我正在 Node 中构建一个 slack 应用程序来响应一些用户命令 它通常会回复一条包含一些附件和按钮的交互式消息 对于某些按钮 我返回不同类型的文本或其他附件 但我还想要一个 取消 按钮 该按钮基本上会取消当前命令 将其从用户的聊天
  • 在 Slack 中创建并获取新通道传入 Webhook

    我刚刚使用channels create 方法通过Slack Api 创建了一个通道 如何添加传入的 Webhook 并以编程方式获取 URL 我还有其他工具可以进一步使用它 您无法以编程方式创建新的传入 Webhook 但您也不必这样做
  • 如何将AppHarbor与Slack集成?

    似乎没有官方集成 a t m 我怎样才能手动完成呢 我想要实现的是 每次构建从 通过 变为 失败 时 Slack 上都会发布一条 悲伤的 消息 每次构建从 失败 变为 通过 时 都应该发布不同的 快乐 消息 None
  • 在 Outlook 中通过 VBScript 规则调用 Slack API

    我正在尝试在 Outlook 中运行一条规则 该规则运行一个 VBScript 该脚本调用 Slack com Web 服务并使用特定消息更新我的 Slack 频道之一 当前状态 我只想让它发布一条静态消息 未来我将尝试使用 RegEx 解
  • 松弛传入的 webhook 总是发布到默认频道,即使我提供了不同的频道

    我正在尝试使用传入的 webhook 将消息发送到 slack 通道 并且 webhook 是使用默认通道 channel1 创建的 但现在我想使用相同的传入 webhook 将消息发送到通道 general 我正在使用以下命令来执行此操作
  • 如何从 Slack 机器人发送定期短暂(“隐藏”)消息

    我有兴趣编写一个 Slack 机器人 它会定期向用户发送 短暂 消息 临时消息是出现在频道内的消息 但只能由特定用户看到 例如对机器人 斜杠命令 例如 who 的响应 然而 这里的目标是让机器人定期发送临时消息 并且 出现在频道消息流中 即
  • Slack 支持 Markdown 表格吗?

    我想将 Markdown 表发送到 SlackpostMessageAPI 但我在 Slack 中获得了原始内容 而不是渲染的表格 Slack 支持 Markdown 表格吗 还有其他方法可以在 Slack 中呈现表格数据吗 我知道 Sla
  • 添加到 slack 与使用 slack 登录

    我已将 添加到 Slack 按钮添加到我的 Web 项目中 它工作得很好 就像交换访问令牌的代码并重定向到我选择的 URL 一样 现在 我对 使用 Slack 登录 按钮有点困惑 我知道它用于登录个人成员 那么它会要求他们提供组织电子邮件和
  • 在 Slack 中合并消息菜单和消息按钮

    我想在我的 Slack 应用程序中结合消息菜单和消息按钮 这是我想要实现的工作流程 1 用户发出斜杠命令来显示菜单 该菜单将有一个下拉菜单和三个按钮 这是我能够实现的 2 我希望用户从下拉列表中选择一个选项 然后按任何操作按钮 然后只应触发
  • 在本地主机上的 laravel 中将 slack 连接到 botman

    这是我在 laravel 中的路线文件 我将任何 url 与调用闭包的 botman 相匹配 该闭包为 botman 注册一个 slack 驱动程序并监听消息 hello 在闲暇时我试图设置Request URL在使用此事件订阅下http
  • Slack 机器人发送图像

    我正在开发一个 slack 机器人 我正在实现一个通知功能 它将每隔一小时发送一次通知 目前 我在通知中发送普通文本 但我需要随文本一起发送图像 可以发送图片吗 您可以将图像作为消息附件的一部分发送 这可以是完整图像或缩略图 只需添加ima
  • Slack Webhook - 获取 Invalid_Payload

    我正在尝试设置 Slack 的 Webhook 但收到 Invalid Payload 错误消息 我浏览过 Stack Slack 和 Github 但找不到我想要的答案 为了保护隐私 其中的 自定义链接 正在使用实际链接 CODE var
  • 如何在多个团队中安装bot而不将其添加到目录中?

    我刚刚使用 Microsoft 机器人框架在我的 slack 开发团队中创建了第一个 slack 机器人 现在我想将机器人添加到另一个团队进行测试 我的机器人不会供公众使用 仅在公司内部使用 我尝试使用 添加到 Slack 按钮将其添加到新
  • Slack + Heroku:每当我的 Heroku 应用程序关闭时向 slack 发送通知

    我有一个 Heroku 应用程序 每当我在 Heroku 上部署时 我在 Slack 的生产频道上就会收到一条通知 我想对我的 Heroku 应用程序因任何原因关闭时遵循相同的程序 有什么推荐的方法吗 None

随机推荐

  • 将一个片段替换为活动组内的另一个片段

    我在小组活动中有一个片段 我想用另一个片段替换它 FragmentTransaction ft getActivity getFragmentManager beginTransaction SectionDescriptionFragme
  • 如何在 C# 中以编程方式生成按键事件?

    如何以编程方式创建一个模拟键盘上按键的事件 该问题标记为 WPF 但到目前为止的答案是特定的 WinForms 和 Win32 要在 WPF 中执行此操作 只需构造一个 KeyEventArgs 并在目标上调用 RaiseEvent 即可
  • gcc 中的 -ffreestand 选项是什么?

    What is ffreestanding在海湾合作委员会 它是干什么用的 我遇到了以下情况 gcc ffreestanding m32 c kernel c o kernel o 并且不明白 这到底是什么意思 A freestanding
  • 如何找出 SQL Server 中哪些表访问最多或使用最频繁

    我目前的情况是 我需要找出哪些表被频繁使用 或者在给定的一段时间内我们的应用程序中使用的次数 假设从某个开始日期到结束日期 我想在这里获得的详细信息是表名及其被访问的次数 例如 tableName No Of Access Table5 1
  • 如何在 MVVM WPF 应用程序中取消窗口关闭

    单击 取消 按钮 或右上角的 X 或 Esc 后如何取消从特定表单退出 WPF
  • FlashDevelop Haxe (Flash) 调试器

    FlashDevelop中有Haxe的调试器吗 FlashDevelop 现在附带一个运行良好的 Haxe 调试器 仅限 Flash 目标
  • 是否可以在 Web 浏览器上运行与 SDL+OpenGL 代码绑定的 C++?

    我的客户希望她的网站有一个渲染 3D 的应用程序 浅 3D 的东西 我们在 3D 世界中只绘制平面正方形 但网络编程不是我的专长 所以我正在寻找可以从网络浏览器运行 C 程序的东西 但我想 如果是这样的话 那么客户端必须先下载程序 而这不是
  • 根据用户选择禁用单选按钮

    我有 2 组单选按钮 每组有 4 个选项 这 4 个选项在两个类别中都是相同的 我不想允许在两个类别中进行相同的选择 例如 如果在第一类别中选择选项 1 则用户现在只能从第二类别中的选项 2 3 4 中进行选择 这个问题之前已经被问过 但似
  • 从设置禁用权限并返回到我们的应用程序后崩溃

    当当前 Activity 跳转到系统设置页面禁用权限然后再次切换当前 Activity 时 应用程序崩溃 第 1 步 打开应用程序并授予所有必要的权限 第 2 步 单击 主页 按钮 因此应用程序处于后台 第 3 步 在 设置 中手动更改权限
  • “电子邮件不能为空”使用用户名或电子邮件设计

    我正在关注这个操作方法如何 允许用户使用用户名或电子邮件地址登录 https github com plataformatec devise wiki How To Allow users to sign in using their us
  • 如何使用 ASP.NET MVC + SignalR 强制服务器不断发送事件数据?

    ExportClient班级有OnTickRecieved事件 这可以帮助我接收一些数据 来自市场的出价 我想要的只是在浏览器中的图表上实时接收这些数据 当我按下GoUI 端的按钮 它调用Go 控制器中的方法 然后什么也没有发生 这是合乎逻
  • 棘手的指针问题

    我在过去的关于 c 中指针的考试问题上遇到了麻烦 这是我从这个链接找到的 http www cl cam ac uk teaching exams pastpapers y2007p3q4 pdf http www cl cam ac uk
  • Task.ContinueWith() 父任务不等待子任务完成[重复]

    这个问题在这里已经有答案了 自从我了解Task在嵌套任务的上下文中 我真的不明白 为什么在第二次打印之前进行第三次打印 尽管我已经用过Task WaitAll t 它打印3rd之前一行2nd line Code public static
  • 修改 LESS 变量的 alpha 不透明度

    使用 LESS 我知道我可以更改颜色变量的饱和度或色调 看起来像这样 background lighten blue 20 不过 我想改变颜色的 alpha 不透明度 最好是这样的 background alpha blue 20 有没有一
  • SQL:如何将视图与表连接?

    UPDATED 我正在使用 MySQL 语句创建视图 如果编辑寄出的图书超过 50 本书 我需要显示他们的名字 姓氏和城市 我的三张表是 create table editors ed id char 11 ed lname varchar
  • 禁用 VS Code 中的特定编译器警告

    我想知道如何抑制 VS Code 中的特定编译器警告对于整个项目 我见过这个问题 是否可以禁用特定的编译器警告 https stackoverflow com questions 22536518 is it possible to dis
  • 如何使用 CultureInfo 格式化已弃用的货币?

    在 dotnet 中 以特定于文化的方式格式化货币的推荐方法是 据我所知 using System Globalization var info CultureInfo GetCultureInfo en GB return string
  • 节点组的位置在 SCNNode.runAction 开始时重置

    我有一些代码 当点击屏幕时 它会围绕 x 轴旋转多个 SCNNode 如下所示 func handleTap gestureRecognize UIGestureRecognizer let sceneView self view as S
  • 光栅图像似乎使用 R 的传单进行了移动

    我想使用 R 中的 leaflet 包绘制一些空间数据 但是生成的光栅图像与参考网格相比似乎发生了偏移 我怀疑地图投影问题 但我不是该主题的专家 因此任何帮助将不胜感激 这是绘制地图的最小代码 library leaflet library
  • 如何删除临时消息

    我正在尝试找出一种机制 将临时消息发布给用户 然后将其删除并替换为所有人都可见的消息 与 giphy 类似的行为 其中 Slash 命令显示交互式临时消息 并在用户决定发送哪个 gif 后创建频道消息 我也对更新临时消息感到好奇 我认为如果