LoginSignup
3
1

More than 3 years have passed since last update.

API経由でSlackのポストをチャンネルに送信するとき、たまに現れる不要な改行を消す

Posted at

現象

API経由でSlackのポストをチャンネルに送信すると、なぜかたまに不要な改行が現れて困っていました。ここでは、それを修正します。
image.png

ポストとは

ポストを使うと、Slack 上で直接、書式付きのドキュメントを作成し、編集・共有することができます。プロジェクトの計画や議事録など、長文のコンテンツを共有して共同編集するのにおすすめです。
チャンネルへメッセージを送信するのとは異なり、ポストでは追加の書式設定オプションが利用でき、他のメンバーと共同作業することができます。

API経由でポストを普通に送信する場合

SlackのAPIドキュメント
APIで送信するArgumentsはこんな感じになります。

$content = 'ポストの本文\n\nこの下に不要な改行が現れるhttps://qiita.com/\n\nこういうときに、下の行に改行は現れないhttps://qiita.comこの下の行を見よう改行は現れなかった本文終わり'

{
    token: [access_token],
    channels: [channels],
    initial_comment: [initial_comment],
    content: $content,
    filetype: "post",
    title: [title]
}

しかし、このままでは冒頭の画像のように、なぜか2行目の下に謎の改行が現れてしまいます…

たまに現れる不要な改行を消す

改行の現れる条件

URLを文末として、そのすぐあとに改行が続くときに、余計な改行が増えます。
冒頭だとこの下に不要な改行が現れるhttps://qiita.com/に当たる部分です。

一方、文末がURLでない場合は改行が増えません。たとえば、以下のような場合です。
こういうときに、下の行に改行は現れないhttps://qiita.com この下の行を見よう

修正方法

URLが文末に来るときは、下記のように、半角スペースを改行前に1文字入れると正しくポストできるようになります。

// ここを
$content = 'ポストの本文\n\nこの下に不要な改行が現れるhttps://qiita.com/\n\nこういうときに、

// こうだ!
$content = 'ポストの本文\n\nこの下に不要な改行が現れるhttps://qiita.com/ \n\nこういうときに、

image.png

無事修正されました!
みなさま楽しいSlack連携ライフを!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1