我想使用allbegrey Slack API在松弛上发布消息。该消息包含链接。怎么办?
<dependency>
<groupId>com.github.allbegray</groupId>
<artifactId>slack-api</artifactId>
<version>1.7.0.RELEASE</version>
</dependency>
我的信息与此类似。
如果要将简单消息发布到频道。并且您的邮件包含网址。您使用松弛标记格式化消息,然后调用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)
这样做,我收到消息但没有可点击的链接。
我从来没有使用过这个库,但在粗略看起来它接缝后将所有标准API方法暴露为类方法。
因此,您应该能够使用通常的Slack标记来格式化文本消息。
以下是有关如何在文本中包含网址的示例:
Check out this link at <http://www.google.com|Google>. Its pretty cool.
只需在postMessage()
中使用您的消息调用方法text
,它应该可以工作。