7
3

More than 3 years have passed since last update.

運を味方につけたい!!大安や仏滅をLINE Botで知る(Node-REDで作りました)

Last updated at Posted at 2021-08-01

大安や仏滅って気になりませんか?

私はとても気になります。
大安は何となくイイことがありそうですし、
仏滅はなんかイヤな感じがします。

他にも
友引とか先勝、先負などがありますが、
この六曜はなんと
諸葛孔明が発明したという説もあるそうです!

1日の中でイヤなことが続くと
「今日、仏滅だったっけ。」と確認します。
結構な確率で仏滅です。
仏滅の日は大人しくするようにしています。
この六曜、探すときに限って無いんです。

それなら予め知っておけばイイじゃん!

と思って、習いたてのNode-REDを使って
六曜お知らせLINEBotを作ってみました!

「LINEで通知してくれれば、
その日を賢く過ごせるのではないか?」
との思い付きだけで、、、。

超初心者の私でも無料で作れました!

今回はコレで作りました。
Node-RED
LINE for Business
・APIはこちら↓

作ってみた①通知機能

フロー図はこんな感じです。
ノードを並べて作るのがブロック遊びみたいでとても楽しいです。
image.png

繰り返し設定を使用して毎朝7:15に通知してくれるようにセットします。
(時間設定は世界標準時なので時差を考慮して22:15にセット)
inject.png

その日の六曜とメッセージを通知します。
image.png

こんな感じで通知されます!
実際のLINE画面↓
image.png

これが毎日、六曜通知が 届きます 届くはずでした、、、。

Herokuの睡魔と戦う!(無料の限界に挑む)

繰り返し設定をしたはずが届かない。
テストでは自動でうまくいってたのに。

調べたら、
なんとHerokuさん、30分でスリープしてしまうことが判明。
常時稼働は有償対応だそうです。

方法を探していたら
15分に1回たたき起こす方法を紹介している記事を見つけました。

簡単な設定でしたのでこれでOKです!

作ってみた②応答機能(せっかくなので)

せっかくなので応答機能も作ってみました。
検索内容はこんな感じです。
image.png

フロー図はこんな感じです。
image.png

日付の仕込みに苦労しました。
(^[0-9]{4}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])$ は教えて頂きました)
image.png

応答結果紹介

選択肢に応じてメッセージを返してくれます。
実際のLINE画面

1と入れると、六曜の紹介を返します。
image.png
2と入れると、六曜の紹介を返します。
image.png

日付(yyyy㎜dd)を入れると、その日の六曜を返します。
image.png

ちなみに
Herokuさんに休んで頂いた時のことも考えて
"今日"の応答機能を追加しました。
作ってみった①のフローをコピーして結合します。
image.png

これで送られてこなくても大丈夫!
実際のLINE画面↓
image.png

この"今日"に対する応答機能。気に入っています。
こんどは"明日"といれると、翌日の結果が返ってくる機能を追加中です!

超初心者でもここまで作れたことに感動しています

次は満月パワーを得る!?

今回、使用したAPIは六曜の他にも様々な情報を返してくれています。
今後は満月のお知らせ機能を追加して満月パワーを得たいと思います。
↓実は様々な情報を送ってくれます。

json.rb
msg.payload : Object
object
_now: object
century: 21
date: "2021-08-01"
date_ja: "2021年8月1日(日)"
day: 1
error: null
eto: "丑"
eto_kana: "うし"
gengo: "平成"
gengo_full: "平成33年"
holiday: null
julian: 2459427.5
month: 8
month_en: "august"
month_end: 31
month_ja: "葉月"
moon: 21
moon_en: "Half Moon"
moon_ja: "下弦"
old_date: "2021-06-23"
old_day: 23
old_leap: false
old_month: 6
old_year: 2021
rokuyo: "仏滅"
season_en: "summer"
season_ja: "夏"
sunrise: "2021-08-01 04:49:30"
sunset: "2021-08-01 18:45:43"
timezone: "JST"
week: 0
week_en: "sunday"
week_ja: "日"
week_number: 1
week_number_of_year: 31
year: 2021
year_ja: 33

最後まで読んで頂き、誠にありがとうございました。
今後とも色々と作ってみますのでよろしくお願いします。

7
3
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
7
3