1

我设置了一个 Slackbot 来发布 Craigslist 列表,并且 URL 不再展开以在发布消息时显示预览图像。

需要注意的几点:

  • 我在 OAuth & Permissions 下选择了以下范围,如https://api.slack.com/reference/messaging/link-unfurling#setup中所述

    1. 链接:阅读
    2. 链接:写
  • 我的图片 URL 中包含“https://”

  • 每个链接都是链接到图像的有效 URL

  • 我包含的任何随机 Craigslist 链接都不会在 Slack 中展开(它曾经)

  • 我之前(不是最终代码)在显示预览图像的地方运行过这个 Slackbot。我知道如果唯一链接已经在频道中共享,Slack 不会渲染图像,但现在情况并非如此。我还注意到,之前渲染预览图像时,消息被“编辑” 看截图

当我在 8/31 运行程序时,链接展开。从那时起我的代码已经更新,但没有什么大不了的。请注意,消息状态为“(已编辑)”,但我没有任何消息。

9 月 15 日,Slack 中的消息现在是什么样子

我的 post_to_slack 函数:

client = WebClient(SLACK_TOKEN)
        attachments = [{"image_url": image_url_link}]
        desc = f" {result_price.text} | {title_text} | {datetime} | {url} | {neighborhood_text} | {final_final_strip} | {image_url_link} | "
        response = client.chat_postMessage(channel=SLACK_CHANNEL, text=desc, attachments=attachments, unfurl_links=True, unfurl_media=True)

我错过了什么吗?Slack 是否通过展开更新了某些内容,或者它是 Craigslist 吗?任何见解将不胜感激。谢谢!

4

2 回答 2

0

要进行展开,您需要从 Slack 接收事件(其中一个事件是link_shared让您知道链接已共享,因此您可以发布展开)。

要设置 Slack 机器人来处理事件,您需要在 Slack 可以向其发送 http 请求的地方运行机器人。例如,如果您有自己的服务器,您可以在https://slack.example.com/mybot托管您的应用程序。然后,当您在 Slack 中配置您的应用程序时,您指定您的请求 URL。

查看他们的文档以获取所有具体细节。如果您在 python 中执行此操作,您应该能够使用Python Events SDK来处理很多细节并简化事情。

于 2020-09-17T17:12:54.797 回答
0

在 Slack 消息中包含 .jpg URL 后,图像能够显示出来。我忘了我以前有这个

于 2020-10-05T18:51:21.703 回答