🦕
DenoでLINE Notifyを使う
好きな内容をLINEに通知できるサービス、LINE NotifyをDenoで使ってみます。
LINE Notifyに登録する
以下のページにLINE IDでログインします。

マイページを開きます。

ページ下部の「トークンを発行する」をクリックします。

設定モーダルが出るので、「トークン名」を入力し、送信先のトークルームを選択します。
トークン名はメッセージの最初に必ず表示されるので、短めの文字列が良さそうです。
トークルームは既存のものを選択することも出来ますが、「1:1でLINE Notifyから通知を受け取る」を選ぶと、自分とLINE Notifyだけのルームでメッセージを確認できます。
今回はこれを選んで発行します。

友達の数がバレる…
発行すると次の画面でトークンが表示されます。
以後トークンの確認は出来ないので必ずコピーしておきましょう。

完了するとマイページに連携結果が表示されます。
いくつでも作れるようなので、トークンがわからなくなったら作り直せばOKです。

LINE Notifyから通知が来ます。

APIを叩く
LINE NotifyのAPIはこちらです。
https://notify-api.line.me/api/notifyにPOSTで送信します。

成功すると、LINEのルームに通知が来ます。

Denoから通知する
本題です。
DenoでFetch APIを使ってLINE Notifyへメッセージを送ってみます。
トークンを含めるので、dotenvを使います。
main.ts
import { config } from "https://deno.land/x/dotenv@v2.0.0/mod.ts";
const { LINE_ACCESS_TOKEN } = config();
const url = "https://notify-api.line.me/api/notify";
const body: URLSearchParams = new URLSearchParams({
message: "hello from deno!",
});
const res = await fetch(url, {
method: "POST",
headers: {
"Authorization": `Bearer ${LINE_ACCESS_TOKEN}`,
"Content-Type": "application/x-www-form-urlencoded",
},
body,
});
const json = await res.json();
console.log(json);
.env
LINE_ACCESS_TOKEN=token1234
実行します。.envを読み込む権限が必要です。
❯ deno run --allow-net --allow-env --allow-read main.ts
{"status":200,"message":"ok"}

ひとこと
めっちゃ簡単にLINE通知を作れました。
自分用に色々使えそうです。
今回のリポジトリはこちら。
参考
Discussion