go - 如何将消息从一个 channel 分享到另一个 channel ?

标签 go slack-api

我正在寻找一种方法让我的 Slack 机器人模仿当我点击 channel 消息上的右箭头按钮时发生的情况,如下所示:

screenshot of "Share this message" pop-up

如果我在该窗口上点击“共享”,原始消息将出现在目标 channel 中,其消息 URL 与原始消息 URL 相同(这是我需要的)。

我尝试通过机器人发布消息 URL,但 URL 显示为一个简单的链接,它实际上看起来不像原始消息的副本。

如何使用机器人实现这一目标?

万一这很重要,机器人是用 Go 编写的,使用 https://github.com/nlopes/slack

编辑:这是我尝试过的粗略最小代码(也尝试用 <> 包围 URL,但得到相同的结果):

s := slack.New(accessToken, slack.OptionDebug(true))
s.PostMessage(
    “#target-channel“,
     slack.MsgOptionText("https://organization.slack.com/archives/original-channel-id/original-msg-id”, false),
     slack.MsgOptionAsUser(false),
 )

最佳答案

我从 Slack 支持的提示中得到了答案 - 通过 slack.MsgOptionEnableLinkUnfurl()PostMessage()使消息按我的意愿共享。

关于go - 如何将消息从一个 channel 分享到另一个 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58196822/

相关文章:

webhooks - Webhook 传入事件订阅创建循环

php - 我可以找出谁安装了 Slack 应用程序吗?

slack-api - slack 自定义命令可以触发其他斜杠命令吗?

node.js - 如何在 Windows 上运行 Slack botkit?

node.js - Slack 交互消息 : No POST response from Slack

go - 构建命令行参数 : cannot load go-sql-driver/mysql

memory - 去内存分析

json - this.input.get() 不起作用 beego

email - 通过 smtp 发送电子邮件并更改发件人姓名

xml.Unmarshall 多根 XML 在 Go