Chatwork に Node.js + TypeScript でメッセージを通知する
5122 ワード
スクリプト
ちょっとしたツールを作成していて Chatwork 通知が必要になりましたため、作成しました。
import { escape } from 'querystring';
import fetch from 'isomorphic-unfetch'
export async function notify(
api_token: string,
room_id: string,
message: string,
self_unread?: 0 | 1
): Promise<Response> {
return await fetch(`https://api.chatwork.com/v2/rooms/${room_id}/messages`, {
method: 'POST',
headers: {
'X-ChatWorkToken': api_token,
'Content-Type': 'application/x-www-form-urlencoded',
},
body: `body=${escape(message)}&self_unread=${
typeof self_unread === 'undefined' ? 1 : self_unread
}`,
});
}
下記のライブラリのインストールが必要です。
# yarn の場合
$ yarn add querystring isomorphic-unfetch
# npm の場合
$ npm install querystring isomorphic-unfetch
querystring.escape
で投稿するメッセージURLパーセントエンコードしています。
これがないと投稿内容にURLで使用できない文字が混ざった際に投稿が失敗します。
また、isomorphic-unfetch
はブラウザ(window.fetch
)、サーバー(node-fetch
)両方で動くfetch API
を提供してくれるため使用しています。
使い方
async function main() {
await notify(
process.env.CHATWORK_API_TOKEN,
process.env.CHATWORK_ROOM_ID,
"テストメッセージです。"
);
}
main();
Chatwork API
詳しい仕様は公式ドキュメントをご確認ください。
Author And Source
この問題について(Chatwork に Node.js + TypeScript でメッセージを通知する), 我々は、より多くの情報をここで見つけました https://qiita.com/Nossa/items/7f0750b94b3a7c4beb8e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .