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

如何在Go语言中禁用Slack URL预览功能

如何禁用Slack机器人发送链接时的预览功能

我通过Slack机器人发送带网站链接的消息时,Slack默认会生成链接预览,需要禁用这个功能。以下是我的代码:

s := slack.New("Bot-Token", slack.OptionDebug(true))

data := `TEST: Slack link Preview 101 
 <https://www.google.com/maps|publish>`

params := slack.PostMessageParameters{
    UnfurlLinks: false,
    UnfurlMedia: false,
}

_, t, err := s.PostMessage(
    "ChannelID",
    slack.MsgOptionText(data, false),
    slack.MsgOptionPostMessageParameters(params),
)

if err != nil {
    log.Error(err.Error())
}

当前效果:消息仍会显示链接的预览卡片,仅文本部分显示为"publish"。

期望效果:只显示文本"publish",不出现任何链接预览卡片。


解决方案

问题出在你使用的链接格式<https://www.google.com/maps|publish>会被Slack识别为可展开的链接,即使全局设置了UnfurlLinks: false,仍可能触发预览。你需要在链接前加上!,用Slack的特殊语法强制禁用单个链接的预览。

修改后的完整代码:

s := slack.New("Bot-Token", slack.OptionDebug(true))

// 在链接前添加!,强制禁用该链接的预览
data := `TEST: Slack link Preview 101 
 !<https://www.google.com/maps|publish>`

params := slack.PostMessageParameters{
    UnfurlLinks: false,
    UnfurlMedia: false,
}

_, t, err := s.PostMessage(
    "ChannelID",
    slack.MsgOptionText(data, false),
    slack.MsgOptionPostMessageParameters(params),
)

if err != nil {
    log.Error(err.Error())
}

添加!后,Slack会完全忽略该链接的预览请求,配合全局的UnfurlLinks和UnfurlMedia设置,就能达到只显示指定文本、无预览的效果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:15:41