LINEで「今どうなってる?」と聞けるようにした話

すでに通知はあった。

Macの入力デバイスの電池残量。
冬場の凍結注意。

一定の条件を超えたら、LINEに静かに知らせる仕組みは、もう動いていた。


でも、聞き返したくなった

通知は便利だ。
けれど、ふとこう思う瞬間があった。

今どうなってる?

通知は「向こうから来る」。
でもこちらからは、聞けない。

Macを開けば確認できる。
けれど、それをしたくなくて通知を作ったはずだった。


最初に考えたのはGASだった

LINEからメッセージを受けて、状態を返す。

一見すると、Google Apps Script で全部いけそうに見えた。

けれど実際に触ってみると、

  • Webhookとしては少し重い
  • LINE側の仕様で細かくハマる
  • 「通知」と「問い合わせ」を同じ土俵に載せるのがつらい

という感触が出てきた。

これは、 通知向きの道具を、窓口に使おうとしている
そんな違和感だった。


軽い窓口が欲しかった

やりたかったのは、難しいことではない。

  • 最新の状態をどこかに置いておく
  • 聞かれたら、それを返す

リアルタイムである必要はない。
保存して、返すだけでいい。

そこで、Cloudflare Workers + KV に切り替えた。

  • 軽いHTTPの受け口
  • 状態の置き場所がはっきりしている
  • LINEのWebhookと相性がいい

「外に向いた窓口」として、ちょうどいい場所だった。


いまの構成(ざっくり)

Macは、これまで通り静かに動いている。

  • 電池や気温を定期的に取得
  • 条件を満たせば、LINEに通知
  • 同時に、最新の状態を外に預ける

外では、

  • 受け取った状態を保存しておく
  • LINEで聞かれたときだけ、返す

通知と問い合わせは、似ているようで、役割が違った。


できるようになったこと

  • LINEで「電池」と送る
    → 直近の残量が返る
  • LINEで「凍結」と送る
    → 今夜の予測が返る

通知はそのまま。
でも、聞き返せるようになった。

Macを見に行かなくていい。
屋敷の中の仕組みが、少し外に顔を出した感覚がある。


使ってみての所感

  • 通知と問い合わせは、別物
  • GASは「Google連携向き」
  • Workersは「外向き窓口向き」
  • 名前がモヤると、設計もモヤる

仕組み自体は小さい。
けれど、生活の引っかかりが一つ減った。

勝手口らしい改善だと思っている。

弥七

この切れ端を記したのは、弥七でござる。