5
0

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.

*バイリンガル対応*癒し猫と犬の写真を見えるLINE BOTを作成!

Last updated at Posted at 2022-10-24

Intro

10月の休み、友人と四国に来ました。
2人ともネコが好きくて、飛ぶネコが有名な猫島「佐柳島」に行きたいでした!
しかし、フェリーのスケジュールに間に合わず、
結局は断念でした😭😭😭
ネコを見ると、心が癒される気持ちをわかるので、
どこでも、いつでも可愛いネコが見えるLINE BOTを作るきっかけでした。
(自分は猫派だが、犬派のために、犬も見える機能を加入しました🐕)

実際に動く画面

結果物はこんな感じでした:

今回は日本語と英語を対応できる機能を作りました。
(猫, ネコ, cat, Cat, 犬, イヌ, dog, Dog⇨対応OKです!)
設定した言葉以外を入力しましたら、
'Please enter cat/dog/犬/猫 only!'
の提示が出てきます。

Node-redのフロー

3つのパス

①犬, イヌ, dog, Dog ⇨ 犬の写真
②猫, ネコ, cat, Cat ⇨ 猫の写真
③他 ⇨ 提示
截圖 2022-10-25 上午12.20.43.png

JSONフロー

    {
        "id": "5ad4580e7b557bfe",
        "type": "tab",
        "label": "流程10",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "095b9e2091e5c928",
        "type": "Webhook",
        "z": "5ad4580e7b557bfe",
        "name": "",
        "url": "/webhook",
        "x": 120,
        "y": 320,
        "wires": [
            [
                "6818bed824609303"
            ]
        ]
    },
    {
        "id": "fbdf0d4c616f69b0",
        "type": "ReplyMessage",
        "z": "5ad4580e7b557bfe",
        "name": "",
        "replyMessage": "",
        "x": 720,
        "y": 320,
        "wires": []
    },
    {
        "id": "96aacf45ef5dc534",
        "type": "http request",
        "z": "5ad4580e7b557bfe",
        "name": "",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "https://aws.random.cat/meow",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "x": 420,
        "y": 320,
        "wires": [
            [
                "62d312497a058ee6"
            ]
        ]
    },
    {
        "id": "62d312497a058ee6",
        "type": "function",
        "z": "5ad4580e7b557bfe",
        "name": "",
        "func": "msg.payload = 'Cat🐈 for you: ' + msg.payload.file  ;\n\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 550,
        "y": 320,
        "wires": [
            [
                "fbdf0d4c616f69b0"
            ]
        ]
    },
    {
        "id": "6818bed824609303",
        "type": "switch",
        "z": "5ad4580e7b557bfe",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "Dog",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "dog",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "犬",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "イヌ",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "cat",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "Cat",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "猫",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "ネコ",
                "vt": "str"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 9,
        "x": 250,
        "y": 320,
        "wires": [
            [
                "b44bbb6ee673420f"
            ],
            [
                "b44bbb6ee673420f"
            ],
            [
                "b44bbb6ee673420f"
            ],
            [
                "b44bbb6ee673420f"
            ],
            [
                "96aacf45ef5dc534"
            ],
            [
                "96aacf45ef5dc534"
            ],
            [
                "96aacf45ef5dc534"
            ],
            [
                "96aacf45ef5dc534"
            ],
            [
                "27e1b03ee5ae7c04"
            ]
        ]
    },
    {
        "id": "b44bbb6ee673420f",
        "type": "http request",
        "z": "5ad4580e7b557bfe",
        "name": "",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "https://dog.ceo/api/breeds/image/random",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": false,
        "credentials": {},
        "x": 420,
        "y": 260,
        "wires": [
            [
                "c310ab9021353a46"
            ]
        ]
    },
    {
        "id": "c310ab9021353a46",
        "type": "function",
        "z": "5ad4580e7b557bfe",
        "name": "",
        "func": "msg.payload = 'Dog🐕 for you: ' + msg.payload.message  ;\n\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 550,
        "y": 260,
        "wires": [
            [
                "fbdf0d4c616f69b0"
            ]
        ]
    },
    {
        "id": "27e1b03ee5ae7c04",
        "type": "function",
        "z": "5ad4580e7b557bfe",
        "name": "",
        "func": "msg.payload = 'Please enter cat/dog/犬/猫 only😀!'  ;\n\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 410,
        "y": 380,
        "wires": [
            [
                "fbdf0d4c616f69b0"
            ]
        ]
    }
]

振り返り

最初の発想は、
結果のようなUrlを提供ではなく、
写真自体を送れる想定でした。
しかし、その機能を実現できるfunction最後までできず、
間をとって,今回のLINE BOTを作りました。
やはり写真自体を送れば、
使用者がより早めに癒されるので、
できればfunctionの書き方を改善したいと思います。

5
0
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
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?