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