slack-api: как отформатировать текст, содержащий URL? - PullRequest
0 голосов
/ 22 марта 2019

Я хочу опубликовать сообщение в Slack, используя allbegrey Slack API .Сообщение содержит ссылки.Как это сделать?

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

Информация:

Мое сообщение похоже на это.

enter image description here

Udpate

Если вы хотите опубликовать простое сообщение на канале.И ваше сообщение содержит 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)

При этом я получаю сообщение, но без кликабельных ссылок.

1 Ответ

2 голосов
/ 22 марта 2019

Я никогда не использовал эту библиотеку, но после беглого взгляда она показывает все стандартные методы API в качестве методов класса.

Так что вы должны иметь возможность использовать обычную разметку Slack для форматирования текстовых сообщений.,

Вот пример того, как включить URL в ваш текст:

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

Просто вызовите метод postMessage() с вашим сообщением в text идолжно работать.

...