2017-12-28 19 views
-2

私はこのようなノードの赤のオブジェクトメッセージを持っているノード赤JSONオブジェクト

if (chatId==111111111){return msg;} 

は、私はこれらを試してみました: json parse-1

json-parse-2

json-parse-3

これは赤ノード内の関数である:

msg=msg.payload.chatId 
return msg 

私は出力にchatidを見てみたい:

if (msg.payload.chatid== 11111111){return msg) 

とMSGこの目的球の出力です:

[{"id":"b068944.8218168","type":"chatbot-telegram-receive","z":"52d0aba5.3f0a3c","bot":"","x":170,"y":600,"wires":[["f479d424.fe9e3"]]},{"id":"f479d424.fe9e3","type":"function","z":"52d0aba5.3f0a3c","name":"","func":"\nreturn msg;","outputs":1,"noerr":0,"x":370,"y":620,"wires":[["c8f111dc.9ac8d"]]},{"id":"ba82cead.cdf808","type":"change","z":"52d0aba5.3f0a3c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.content","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":620,"wires":[["5f96e508.3d69cc"]]},{"id":"c8f111dc.9ac8d","type":"function","z":"52d0aba5.3f0a3c","name":"","func":"msg=msg.payload.chatId\nreturn msg\n","outputs":1,"noerr":0,"x":330,"y":700,"wires":[["ba82cead.cdf808"]]}] 

テレグラムボットにメッセージを送信したいチャットIDとチャットIDを比較する

+0

第1に、Node-RED機能ノードはJava以外のJavaScriptを使用します。二番目のスタックオーバーフローは、この方法では動作しません、あなたは自分で試してみなければなりませんし、誰かがあなたがすでに試したものを修正するのに役立ちます。 – hardillb

+0

私はいくつかの方法を試しましたが、このような質問は見つかりませんでした。 – REZA

+0

質問を編集して試したことを表示してください – hardillb

答えて

0

関数ノードから常にメッセージオブジェクト全体を返す必要があります。文字列を返そうとしていますが、これは機能しません。

IDと一致しないメッセージが通過しないようにしたい場合は、2つの方法のいずれかを実行できます。

  1. 次のコードと機能ノードを使用する:

    if (msg.payload.chatId == "111111111") { 
        return msg; 
    } 
    

    chatIdは、以下でスイッチモードを使用111111111

  2. である場合にのみ、メッセージが通過することを可能にする。

    enter image description here

+0

ありがとうございました。出来た。メリークリスマス。 – REZA

関連する問題