Ответ 1
В настоящее время Slack не поддерживает гиперссылки; посмотрите эту ссылку, которая говорит:
Примечание: невозможно связать слова в сообщении Slack.
Что я делаю неправильно? Ни один из примеров ссылок Markdown пока не работает в моем приложении Slack.
Я вставлял в примере ниже в чате в моем приложении Slack. Я получил этот пример из синтаксиса слабинного уценки, и он по-прежнему рассматривает его как литерал в приложении Slack:
[like this](http://someurl)
поэтому я вижу, что вместо того, чтобы просто "нравится это" как ссылка в чате Slack.
Или, может быть, это неправильно, и в этом случае мой вопрос будет заключаться в том, как вы явно создаете ссылки в Slack? Я хочу, чтобы какой-то текст, который я указываю, можно кликать по определенному URL-адресу (гиперссылка).
В настоящее время Slack не поддерживает гиперссылки; посмотрите эту ссылку, которая говорит:
Примечание: невозможно связать слова в сообщении Slack.
Slack использует собственный аромат уценки:
Slack Markdown Links работает следующим образом: <http://someurl|like this>
Примечание: Вы можете сделать это только через Slack API, а НЕ просто как простое сообщение, которое вы отправляете через клиент Slack.
Это еще не поддерживается Slack для прямых сообщений, вы можете сделать это только с помощью Slack API. Но вы можете подать запрос на добавленную мной функцию.
В качестве альтернативы Slack Messages (рассмотрено в ответе Wilhem) вы можете создавать Slack Posts через API и использовать хотя бы некоторую уценку. Они оба создают <h2><a href="https://someurl">like this</a></h2>
:
curl -F filetype=post -F content="# [like this](https://someurl)" -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload
или обменять content="..."
на [email protected]
curl -F filetype=post -F [email protected] -F channels=C1.....7L -F token=xoxp-... https://slack.com/api/files.upload
Это использует файлы .upload. Я думаю, что самый простой способ попробовать опубликовать себя, используя устаревший токен. Получить идентификатор канала из URI канала.
Ответ Рубена будет работать, но он будет выглядеть как загрузка файла без названия, как показано здесь: файл без названия размещен в Slack. Однако, с небольшими изменениями, вы можете легко опубликовать сообщение естественного вида с рабочей гиперссылкой, как вы видите здесь: сообщение Slack естественного вида с гиперссылкой, используя метод api chat.postMessage вместо "files.upload" и приняв Slack собственное форматирование сообщения вместо Markdown. Это будет сделано так:
curl -F text="*<https://someurl|like this>*" -F as_user=true -F link_names=true -F channel=C1.....7L -F token=xoxp-... https://slack.com/api/chat.postMessage
Аргумент link_names=true
в этом примере не используется, но полезен для возможности @
упоминания пользователей и #
обращения к каналам.
Очень поздно для вечеринки, но я недавно обнаружил, что вы можете использовать сокращатель URL для создания https-ссылки, на которую вы затем можете ссылаться, используя ссылки уценки.
Я написал этот код для преобразования ссылок разметки в тексте в формат ссылок, ожидаемый Slack:
// Pretty hacky, convert [sup](http://foo.com) to <http://foo.com|sup>
const reformatLinks = /\[(.*?)\]\((.*?)\)/g
const slackBody = body.replace(reformatLinks, (_m, text, url) => '<${url}|${text}>')
Из того, что я могу сказать, Slack не поддерживает ссылки на изображения внутри текста.