Slack API chat.postMessageで改行を利用する方法

Slack API「chat.postMessage」を利用して、JavaScriptからSlackへ改行入りのメッセージを送信しました。

しかし、上手く反映されなかったので、対応方法をまとめました。

Slack API chat.postMessage のドキュメント

chat.postMessage method | Slack

今回は、

  • token(必須)
  • channel(必須)
  • text

のパラメータを利用し、fetchでURLにクエリパラメータを付与して送信する仕様とします。

改行が反映されなかった方法

const token = `{YOUR TOKEN KEY}`;
const channel = `random`;
const text = `ようこそ!¥nSlackへ!`;
const url = `https://slack.com/api/chat.postMessage?token=${token}&channel=${channel}&text=${text}`;

fetch(url).then(function(response) {
  console.log(response);
});

この送信方法の場合

ようこそ!Slackへ!

となり、改行が消えてしまいました。

改行が反映された方法

URLSearchParamsを利用

URLSearchParams - Web API | MDN

const token = `{YOUR TOKEN KEY}`;
const channel = `random`;
const text = `ようこそ!¥nSlackへ!`;
const url = `https://slack.com/api/chat.postMessage?token=${token}&channel=${channel}&text=${new URLSearchParams(text).toString().slice(0, -1)}`

fetch(url).then(function(response) {
  console.log(response);
});

末尾に記号(=)がついてしまう

URLSearchParamsを利用すると、末尾の文字に=が付与されるため、sliceを利用して末尾の文字を削除しました。

Array.prototype.slice() - JavaScript | MDN

負のインデックスを使って、列の終わりからのオフセットとして指定することができます。slice(2,-1) は列の 3 番目から、最後から 2 番目までの要素を取り出します。

出典:Array.prototype.slice() - JavaScript | MDNhttps://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
new URLSearchParams(text).toString().slice(0, -1);

この送信方法の場合

ようこそ!
Slackへ!

となり、改行を反映させることができました。

プログラミングにオススメの本

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

ほんの一手間で劇的に変わるHTML & CSSとWebデザイン実践講座

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

プログラミングの記事

Dockerfileで「ERROR: Service 'サービス名' failed to build: OCI runtime create failed: invalid mount」が発生した時の対処方法

#Docker#Docker Compose#Linux#プログラミング

Dockerfileで相対パスを指定すると「ERROR: Service 'サービス名' failed to build: OCI runtime create failed: invalid mount」が発生したので、その対応方法をまとめました。

gatsby-node.jsでGatsbyImageを利用する方法

#JavaScript#React.js#Gatsby.js#Node.js#npm#プログラミング

gatsby-node.jsでGatsbyImageを使った時、エラーになったためその対応方法をまとめました。

CSSでimgのhoverのafterでtransitionが効かない時の対処法

#プログラミング#HTML#CSS#React.js#Gatsby.js#styled-components

CSSで、imgのhoverのafterでtransitionが効かない時があったので、その原因と対処方法をまとめました。styled-componentsを利用しているので、コピペでそのまま使えます。

gatsby.jsのMDXProviderでMDXRendererのカスタマイズする方法

#JavaScript#React.js#Gatsby.js#Node.js#npm#プログラミング

react.js/gatsby.jsのMDXProviderでMDXRendererで表示するマークダウンをカスタマイズして表示したかったので、その方法をまとめました。

SlackとGitHubのWebhook連携で400エラー(no_text)

#Service#GitHub#Slack

SlackとGitHubのWebhook連携すると、400エラー(no_text)が発生するので、解決方法をまとめました。

新着記事

SESエンジニアの引き抜き時の魅力的な高条件

#キャリア#転職#SES

SES(客先常駐)をしていると、優秀なエンジニアは引き抜き行為(スカウト)を他社からいただくことがあります。この引き抜き時の条件提示は衝撃的な高待遇が多く、その内容を紹介します。

エンジニアがノイズキャンセリングイヤホンを使うと劇的に世界が変わった

#ガジェット#イヤホン#Apple AirPods Pro

エンジニアには集中する時間が必須で、その時間を維持するには雑音を消す必要があります。そんな時、ノイズキャンセリングイヤホンのApple AirPods Proを手に入れると世界が劇的に変化しました。

Slack API chat.postMessageで改行を利用する方法

#プログラミング#JavaScript#Slack#API

Slack API「chat.postMessage」を利用して、JavaScriptからSlackへ改行入りのメッセージを送信しました。しかし、上手く反映されないので対応方法をまとめました。

企業は面接で意識高い系エンジニアを採用してはいけない

#経営#ビジネス#採用#転職#面接#意識高い系

会社や組織は、意識高い系エンジニアに内定を出すことはしっかりと考えた方がいいでしょう。もし採用すると会社に悪影響を及ぼす可能性があります。その事例を紹介します。

Gatsby.jsでCannot find module '../build/Release/sharp.node'エラーの解決策

#JavaScript#React.js#Gatsby.js#Node.js#npm#Docker#プログラミング

Gatsby.jsで`Cannot find module '../build/Release/sharp.node'`のエラーが発生したので、その対応方法をまとめました。

オススメの記事

SES(客先常駐)で市場価値が下がるエンジニアの特徴

#SES#転職#給料#キャリア##実態

数々のSES企業を見てきましたが、いくつか共通する、市場価値が下がるエンジニアの特徴を紹介します。

未経験からSES(客先常駐)エンジニアに転職して体験した実態と闇

#SES#転職##実態

未経験からSES(客先常駐)に転職をして、エンジニアになった方々から体験した実態と闇をお聞きしました。

求人で「フラットでアットホーム」なIT企業へ入社する時の注意

#経営#組織#駆け出しエンジニア#就職#転職#SES

「フラットでアットホーム」と宣伝している会社が多く存在します。しかし、その表現には、大きな落とし穴があります。

未経験からエンジニアになるために必要なお金

#駆け出しエンジニア#プログラミングスクール#面接

未経験エンジニア向けのビジネスが最近展開されています。一体どれくらいかければエンジニアになれるのか計算しました。

未経験から独学(スクール)でエンジニアになれる人となれない人の違い

#駆け出しエンジニア#プログラミングスクール#面接

未経験から独学(スクール含む)でエンジニアを目指す人が多いです。しかし、全員がエンジニアになれるわけではありません。なれる人となれない人の違いを説明します。

勉強や開発をするための時間を確保する方法

#駆け出しエンジニア#リモートワーク#在宅勤務#ガジェット#時間#勉強

みなさんは普段開発の時間を確保できていますか?駆け出しエンジニアの方でも、日々、時間の確保に苦労していると思います。今回は、社会人で時間の確保をするための方法を紹介します。

リモートワークエンジニアの平日の1日のルーティーン

#ルーティーン#リモートワーク#在宅勤務

コロナ禍による影響で、会社がフルリモートワークとなりました。その優雅なエンジニアのルーティーンを紹介します。

会社のリモートワークで帰属意識が下がる「してはいけない」こと

#リモートワーク#在宅勤務#離職

最近、リモートワークが導入されることが多くなり、日本でも一般的な働き方となりました。しかし、当記事の内容を続けてしまうと、帰属意識が低くなり、離職率をあげてしまう可能性が高いです。