slack-api:如何格式化包含url的文本?

问题描述 投票:0回答:1

我想使用allbegrey Slack API在松弛上发布消息。该消息包含链接。怎么办?

  <dependency>
      <groupId>com.github.allbegray</groupId>
      <artifactId>slack-api</artifactId>
      <version>1.7.0.RELEASE</version>
    </dependency>

Info:

我的信息与此类似。

enter image description here

Udpate

如果要将简单消息发布到频道。并且您的邮件包含网址。您使用松弛标记格式化消息,然后调用postMessage(String channel, String text)。它有效,但如果你有附件它不起作用。


我的消息有附件,我这样做:

        val text = "Nostrum <https://codepen.io/anon/pen/VRRMNJ|similique> dolores eaque vero voluptatibus illum quibusdam ex sapiente!"
        val message = "Lorem ipsum dolor sit amet consectetur, adipisicing elit. Expedita tempora asperiores corporis hic quidem dicta maiores odit illo perferendis quaerat. Nostrum <https://codepen.io/anon/pen/VRRMNJ|similique> dolores eaque vero voluptatibus illum quibusdam ex sapiente!"


        val webApiClient = SlackWebApiClientImpl(slackApiToken, null, 8000)
        val channel = webApiClient.openDirectMessageChannel(author.slackId)
        val method = ChatPostMessageMethod(channel, text)
        val attachment = Attachment()

        attachment.author_name = author.name
        attachment.author_icon = author.profileImageUrl
        attachment.author_link = "https://XXXX.slack.com/team/${author.slackId}"
        attachment.text =  message
        attachment.pretext = message

        method.attachments = listOf(attachment)
        method.isLink_names = true
        webApiClient.postMessage(method)

这样做,我收到消息但没有可点击的链接。

java slack-api
1个回答
2
投票

我从来没有使用过这个库,但在粗略看起来它接缝后将所有标准API方法暴露为类方法。

因此,您应该能够使用通常的Slack标记来格式化文本消息。

以下是有关如何在文本中包含网址的示例:

Check out this link at <http://www.google.com|Google>. Its pretty cool.

只需在postMessage()中使用您的消息调用方法text,它应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.