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