web-dev-qa-db-ja.com

リンクのスラックマークダウンが解決しない

何が間違っていますか?これまでの例のMarkdownリンクは、私のSlackアプリでは機能しません。

以下の例では、Slackアプリのチャットに貼り付けました。 slack markdown syntax からこの例を取得しましたが、それでもSlackアプリではリテラルテキストとして処理されます。

[like this](http://someurl)

だから、私はSlackチャットのリンクとして「このように」ではなく、それを見ることになります。

または、おそらく上記が間違っている場合、その場合、私の質問はSlackで明示的にリンクをどのように作成するのですか?特定のテキストをクリックして特定のURL(ハイパーリンク)にクリックできるようにします。

110
PositiveGuy

Slackは現在、ハイパーリンクをサポートしていません。 このリンク を参照してください:

:Slackメッセージ内の単語をハイパーリンクすることはできません。

170
pillravi

Slackは、独自のマークダウンのフレーバーを使用します。
スラックマークダウンリンクは次のように機能します:<http://someurl|like this>

注:これはSlack APIを介してのみ実行でき、Slackクライアントを介して送信する単純なメッセージとしてではありません。

メッセージビルダの例
enter image description hereドキュメントの詳細

118
Wilhelm Klopp

これは、Slackによるダイレクトメッセージではまだサポートされていません。SlackAPIを使用してのみこれを行うことができます。しかし、あなたは 私がここに提出した機能リクエスト に賛成することができます。

28
Jules Randolph

Reubenanswer は機能しますが、ここに示すように無題のファイルのアップロードのように見えます: 無題のファイルがSlackに投稿された 。ただし、わずかな変更を加えるだけで、次のような動作するハイパーリンクを備えた自然なメッセージを簡単に投稿できます。 ハイパーリンク付きの自然なSlack投稿chat.postMessage を使用して= "files.upload"の代わりにSlack apiメソッドを使用し、Markdownの代わりにSlack独自の メッセージフォーマット を採用。これは次のように行われます。

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引数はこの例では使用されていませんが、@mentionユーザーと#referがチャネルを参照できるようにするのに役立ちます。

4
Michael Roberts

Slackメッセージ( Wilhemanswer で説明)の代替として、APIを介してSlack投稿を作成し、少なくとも一部のマークダウンを使用できます。これらは両方とも<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

これは files.upload を使用しています。自分で投稿を試みる最も簡単な方法は、 レガシートークン を使用することです。チャンネルのURIからチャンネルIDを取得します。

4
Reuben

テキスト内のマークダウンリンクを、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}>`)

スラックは、テキスト内の画像リンクをサポートしていません。

0
ratbeard

パーティーに遅刻しましたが、URL短縮サービスを使用してhttpsリンクを作成し、マークダウンリンクを使用して参照できることを最近発見しました。

0
NoobishSRE