微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以允许用户删除我的 Slack 机器人消息吗?

如何解决我可以允许用户删除我的 Slack 机器人消息吗?

我创建了一个 Slack 机器人,允许同事向某些渠道报告问题,但偶尔有人误点击或希望他们的报告(由机器人通过 chat.postmessage 在 Slack 中报告)被删除。据我所知,这只能由机器人本身通过消息快捷方式或带有 chat.delete 的交互式消息来完成。我希望用户可以像删除他们自己的消息一样删除它,方法是单击帖子上的省略号并在上下文菜单中选择删除消息。有没有办法通过 OAuth 范围或 Slack/工作区/通道管理员权限来完成?

解决方法

不幸的是,无法通过用户可能删除自己的消息的传统途径来做到这一点。

实现此目的的唯一方法是将按钮或某种其他类型的菜单附加到消息(可能看起来相似,但实际上不是同一个菜单),并附加一个事件,然后调用您的应用程序删除消息。

例如你可能有

{
    "blocks": [
        {
            "type": "section","text": {
                "type": "mrkdwn","text": "Here is a message to delete"
            },"accessory": {
                "type": "overflow","options": [
                    {
                        "text": {
                            "type": "plain_text","text": "Delete message","emoji": true
                        },"value": message.timestamp
                    }
                ],"action_id": "delete-action"
            }
        }
    ]
}

作为您的消息,其中 message.timestamp 是消息的 ts 值。

然后是一个对该消息 ID 调用 chat.delete 方法的处理程序。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。