6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

リテールテックAdvent Calendar 2021

Day 16

#withmake 六曜をLINEbotで瞬間検索! JSONパースできずとも 力業で値取得した話

Last updated at Posted at 2022-05-08

今回は👇の記事を参考に、 六曜を取得するLINEbotを完成させます!

【六曜】気にされる方は多いらしい

スーパーなどの小売店ではお祝いの品や高額品は「大安」に購入される傾向が強く、
仏滅時はお届け指定日でも避ける傾向があるそうです。
従業員のシフト作りにも、大切な要素の一つになるとのこと。

LINEbotでサクッと「六曜」を知ることができたら、急な時など便利ですよね。

参考記事①:Node-REDで六曜お知らせLINEBotを作ってます
参考記事②:運を味方につけたい!!大安や仏滅をLINE Botで知る
参考記事①:【LINE BOT】WebAPIを使用し自動返信BOTを作ってみた

そもそも六曜とは? 「先勝」「友引」「先負」「仏滅」「大安」「赤口」の6つのことで、その日の吉凶を占う指標とされています。 もっと知りたい方はこちら

https://tokubai.co.jp/news/articles/1563

人気の六曜取得APIが使えなくなった

調べてみると上3つの参考記事のLINEbotは、全て使えなくなっていました。
というのも、こちらのAPIが使えなくなっている模様。
別のAPIから挑戦している記事もありましたが、22年5月8日現在、上手く動かない様子。
ということでこちらの記事を参考に、 六曜取得LINEbotを作っていきます!

makeでノーコード作成 (モジュールの中身アリ)

できたものはこちら👇 4桁の数字を打つと、指定日時の六曜を返してくれます。

 【使用ツール】
make
LINE Developers
六曜のAPIサイト

こちらの手順を参考に作成。結果完成したmakeのシナリオ図は下記の通り。
image.png

モジュールの中身①(拡大して見てください)
image.png

モジュールの中身②
image.png

難しかったところ

①打ち込んだ4桁の値を「月」と「日」に分割してHTTPに渡す

下記の記事を参考に、Substringを使って数値を取得。

0~2文字目の手前までを「月」 その後の2文字を「日」として取得 しHTTPへ
コード無しで、直感的に数値や要素を取り出せるmakeすごい。
image.png

②JSONパースができず 情報を抜き取れない

Parse Jsonモジュールで"rokuyou"の値を取り出したいが、JSONの中身が下記の通り
日付によって毎回変わるので、上手く取り出せない。
image.png
そこで、先ほどのSubstringを使ってJSON内で"rokuyou"が何文字目かを特定し、
要素を抜き出そうとしたが失敗。日付によっては文字数が変わるので、
〇〇文字目から〇〇文字目、と指定してもずれてしまう。
image.png

③力業で六曜の値を取得

試行錯誤の末、indexOfで「要素検索」、要素の「開始位置」を取得できることを発見。
参考:https://www.integromat.com/en/help/string-functions
image.png

indexOfSubstringを組み合わせて、下記の通り六曜の値の取得に成功。
"rokuyou"の開始位置検索から始めるので、それ以前が何文字になっていても取得できる。やった!!

image.png

「大安」:やってはいけないことが何もない日

本日2022年5月8日は「大安」で「やってはいけないことが何もない日」とのこと。
今回のやり方は正攻法ではないかもしれませんが、結果「六曜」を取得できたのでOK!!

あきらめずに色々な方法で試してみるって大切ですね💪

大安日ついでに、最近作った意味のない作品も紹介させてください👇
これからも色々楽しんで作っていくのでよかったら見てね(^▽^)

6
1
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
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?