毎日16時に心にひびく名言を届けたい

# なぜ16時なのか
シンプルに疲れがたまる時間だから。
# どんな名言？
アドラー心理学に基づいた名言(自作でリストを作成）と、名言教えるよAPI（著名人による名言）を連携させて、２種類の名言を送るよ。
# アドラー心理学を簡単に説明
> アドラー心理学は、オーストリアの精神科医アルフレッド・アドラーが提唱した心理学理論です。 アドラーは「人間の行動にはすべて目的がある」という目的論とともに、「すべての人生の決定は、自分が選択している」と考えます。 これをアドラー心理学の基本理論では自己決定性と呼びます。
出典:indeedキャリアガイド
https://jp.indeed.com/career-advice/career-development/what-is-adler-psychology#
# 活用ツール
・Node-RED
・JavaScript
・LINEmessagingAPI
・名言教えるよAPI（https://meigen.doodlenote.net）
# フロー
![スクリーンショット 2024-05-28 17.33.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3772350/af159b48-6021-e8ae-4b05-36dac8da9f5f.png)
# ソースコード
```json
[{"id":"8a2117abf1ad1bca","type":"function","z":"9ef9e62fc4a4dae4","name":"アドラー心理学","func":"// 名言リストを配列として定義\nconst quotes = [\n    \"困難があるから人生は面白い。\",\n    \"人間は誰でも自己実現の可能性を持っている。\",\n    \"他人と比較するのではなく、自分自身と競争しなさい。\",\n    \"自分自身を信じることが重要である。\",\n    \"全ての困難は成長のチャンスである。\",\n    \"自分の運命を決めるのは他人ではなく、自分自身である。\",\n    \"幸せは他人との協力と感謝から生まれる。\",\n    \"自己受容は自己成長の第一歩である。\",\n    \"人は環境の産物ではない。自分の選択の産物である。\",\n    \"問題があるとすれば、それは解決するために存在している。\",\n    \"失敗を恐れるのではなく、失敗から学ぶべきである。\",\n    \"他人を変えようとするのではなく、自分が変わるべきである。\",\n    \"人間の価値は他人に対する貢献によって決まる。\",\n    \"孤独は人間にとって最大の敵である。\",\n    \"自分自身を知ることが他人を理解する第一歩である。\",\n    \"過去は変えられないが、未来は自分の手で作ることができる。\",\n    \"すべての人間は尊重されるべき存在である。\",\n    \"失敗は成功へのステップである。\",\n    \"他人の視点を理解することが共感の基礎である。\",\n    \"勇気を持って前進しよう。\",\n    \"愛は他人を理解し、受け入れることから始まる。\",\n    \"問題を避けるのではなく、問題に立ち向かうことが重要である。\",\n    \"自己中心的な考え方を捨てることが成長への鍵である。\",\n    \"共感は他人との良好な関係を築く基礎である。\",\n    \"他人を批判する前に、自分自身を見つめ直そう。\",\n    \"成功とは、他人との協力によって達成されるものである。\",\n    \"他人の期待に応えるのではなく、自分自身の期待に応えよう。\",\n    \"すべての行動には目的がある。\",\n    \"失敗は成長の一部である。\",\n    \"自分の価値を他人の評価に頼らない。\",\n    \"他人を許すことは自分自身を自由にすることでもある。\",\n    \"すべての人間は他人に貢献する能力を持っている。\",\n    \"自分自身を受け入れることが他人を受け入れる第一歩である。\",\n    \"問題を解決するためには、まず問題を認識することが必要である。\",\n    \"人間関係は相互の理解と尊重によって成り立つ。\",\n    \"過去の失敗に囚われるのではなく、未来の成功に目を向けよう。\",\n    \"自己改善は他人との比較ではなく、自分自身との比較である。\",\n    \"他人の意見に左右されるのではなく、自分の意見を大切にしよう。\",\n    \"全ての人間は平等である。\",\n    \"他人を理解するためには、自分自身を理解することが必要である。\",\n    \"成長は困難を乗り越えることで達成される。\",\n    \"自己肯定感は自己成長の原動力である。\",\n    \"他人の助けを借りることを恐れないで。\",\n    \"人間は社会的な存在であり、他人との関係が重要である。\",\n    \"他人を助けることで自分も成長する。\",\n    \"過去の出来事に囚われるのではなく、未来に目を向けよう。\",\n    \"自分自身の価値を認めることが重要である。\",\n    \"他人の意見を尊重しよう。\",\n    \"成長は自己認識から始まる。\",\n    \"人間は自分の考え方を変えることで人生を変えることができる。\",\n    \"他人を尊重することが自分自身を尊重することにつながる。\",\n    \"過去の失敗を恐れずに、新しい挑戦を受け入れよう。\",\n    \"自己成長は他人との協力によって促進される。\",\n    \"困難を乗り越えることで人は強くなる。\",\n    \"他人に対する感謝の気持ちを持とう。\",\n    \"自己肯定感は自分自身を受け入れることから始まる。\",\n    \"他人の意見を尊重することで、自分の意見も尊重される。\",\n    \"過去の出来事に囚われず、未来に目を向けよう。\",\n    \"自分自身の価値を認めることが重要である。\",\n    \"他人を理解するためには、まず自分自身を理解しよう。\",\n    \"成長は自己認識から始まる。\",\n    \"他人を助けることで自分も成長する。\",\n    \"自分自身を受け入れることが他人を受け入れる第一歩である。\",\n    \"問題を解決するためには、まず問題を認識することが必要である。\",\n    \"人間関係は相互の理解と尊重によって成り立つ。\",\n    \"自分の運命は、自分の手で切り開く。\",\n    \"自分の価値を他人の評価に依存しない。\",\n    \"自己の限界を知り、それを受け入れよう。\",\n    \"人生は選択の連続である。選択の結果が今の自分を作る。\",\n    \"真の自由は、他人に対する責任を伴う。\",\n    \"自分の人生の主人公は自分自身である。\",\n    \"人生の目的を見つけ、それに向かって進むことが重要である。\",\n    \"感謝の心を持つことで、幸福感が増す。\",\n    \"成功は結果ではなく、過程で評価されるべきである。\",\n    \"自分を信じることで、他人をも信じることができる。\",\n    \"他人の幸せを願うことが、自分の幸せにもつながる。\",\n    \"自分の感情をコントロールすることが、成功への鍵である。\",\n    \"他人との関係を築くには、まず自己理解が必要である。\",\n    \"他人の意見を受け入れることで、新たな視野が広がる。\",\n    \"自分を変えることで、周囲の世界も変わる。\",\n    \"自己の成長を妨げるのは、他人ではなく自分自身である。\",\n    \"他人に対する共感が、良好な人間関係を築く基礎である。\",\n    \"過去の出来事から学び、未来に生かす。\",\n    \"人間は変わる力を持っている。\",\n    \"他人の成功を喜ぶことで、自分も成長する。\",\n    \"問題解決には創造的なアプローチが必要である。\",\n    \"他人との協力が、新しい可能性を生む。\",\n    \"自分の感情を認識し、それに対処することが重要である。\",\n    \"人生の目的は、他人に対する貢献である。\",\n    \"自己の限界を知り、それを超える努力をしよう。\",\n    \"他人の視点を理解することで、新たな気づきが得られる。\",\n    \"過去の失敗を受け入れ、それを糧に成長しよう。\",\n    \"自分の意見を大切にしつつ、他人の意見も尊重しよう。\",\n    \"人生は困難を乗り越えることで充実する。\"\n];\n\n// ランダムに名言を選択\nconst randomIndex = Math.floor(Math.random() * quotes.length);\nconst randomQuote = quotes[randomIndex];\n\n// 選択した名言をメッセージペイロードに設定\nmsg.payload = randomQuote;\n// メッセージを返す\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":320,"y":120,"wires":[["fb3f5d1764726feb"]]},{"id":"d0d32160c1fa7e40","type":"http request","z":"9ef9e62fc4a4dae4","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"https://meigen.doodlenote.net/api/json.php","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":310,"y":180,"wires":[["c388701284404e3a"]]},{"id":"c388701284404e3a","type":"function","z":"9ef9e62fc4a4dae4","name":"function 2","func":"msg.payload = '［名言］' + msg.payload[0].meigen + '\\n［著者］' + msg.payload[0].auther;\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":180,"wires":[["fb3f5d1764726feb"]]},{"id":"2f12a4b023b89643","type":"cronplus","z":"9ef9e62fc4a4dae4","name":"毎日16時","outputField":"payload","timeZone":"Asia/Tokyo","storeName":"","commandResponseMsgOutput":"output1","defaultLocation":"","defaultLocationType":"default","outputs":1,"options":[{"name":"毎日午後16時","topic":"毎日午後16時","payloadType":"default","payload":"","expressionType":"cron","expression":"0 0 16 * * *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"}],"x":140,"y":140,"wires":[["8a2117abf1ad1bca","d0d32160c1fa7e40"]]},{"id":"fb3f5d1764726feb","type":"BloadcastMessage","z":"9ef9e62fc4a4dae4","name":"","x":670,"y":120,"wires":[[]]}]
```
・cronplusノード
時限装置の役割。毎日16時に発信する仕組み。
・functionノード
①quotes配列に名言を入れる
②Math.randomとMath.floorでランダムなインデックスを作る
③そのインデックスを使ってquotesから名言を選ぶ
④選んだ名言をmsg.payloadに設定して返す
・http requestノード
GETメソッドで名言APIに連携する
・functionノード
JSONオブジェクトのデータを綺麗に整える

# 完成
毎日16時の疲れた時間に心に響く名言を届けることができた。
(テストデータのため時間が異なる)
名言APIと自身でアドラー心理学の名言リストを作成し組み合わせることにより、オリジナル感のあるLINE Botを作成することができた。
![名言.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3772350/7d5e8992-8f4a-570a-2734-68aa4a5c6f21.jpeg)