Task: Feishu RSS bot

n8n workflow:
{"id":4,"name":"Feishu RSS bot","nodes":[{"name":"HTTP Request","type":"n8n-nodes-base.httpRequest","position":[800,-280],"parameters":{"url":"={{$json[\"feed\"]}}","options":{},"responseFormat":"string"},"typeVersion":1},{"name":"IF2","type":"n8n-nodes-base.if","position":[1040,-280],"parameters":{"conditions":{"boolean":[{"value1":"={{$json[\"data\"].indexOf(\"rdf\") != -1}}","value2":"={{true}}"}]}},"typeVersion":1},{"name":"XML1","type":"n8n-nodes-base.xml","position":[1400,-520],"parameters":{"options":{}},"typeVersion":1},{"name":"XML2","type":"n8n-nodes-base.xml","position":[1400,-180],"parameters":{"options":{}},"typeVersion":1},{"name":"Item Lists1","type":"n8n-nodes-base.itemLists","position":[1560,-520],"parameters":{"options":{},"fieldToSplitOut":"rdf:RDF.item"},"typeVersion":1},{"name":"Item Lists3","type":"n8n-nodes-base.itemLists","position":[1580,-220],"parameters":{"options":{},"fieldToSplitOut":"rss.channel.item"},"typeVersion":1},{"name":"format rdf","type":"n8n-nodes-base.function","position":[1780,-460],"parameters":{"functionCode":"for (item of items) {\n  item.json[\"title\"] = item.json[\"dc:title\"];\n  item.json[\"description\"] = item.json[\"content:encoded\"];\n  item.json[\"pubDate\"] = item.json[\"dc:date\"]\n}\n\nreturn items;"},"typeVersion":1},{"name":"Merge type","type":"n8n-nodes-base.merge","position":[1980,-340],"parameters":{},"typeVersion":1},{"name":"Set out info","type":"n8n-nodes-base.set","position":[2240,-340],"parameters":{"values":{"string":[{"name":"Title","value":"={{$json[\"title\"]}}"},{"name":"Date","value":"={{$json[\"pubDate\"]}}"},{"name":"Text","value":"={{$json[\"description\"].replace(/<\\/p>/g,\"\\\\n\").replace(/<[^>]*>?/gm, '').replace(/\\s\\s/g, '')}}"},{"name":"Link","value":"={{$json[\"link\"]}}"}]},"options":{},"keepOnlySet":true},"typeVersion":1},{"name":"Latest Read","type":"n8n-nodes-base.function","position":[2500,-340],"parameters":{"functionCode":"const staticData = this.getWorkflowStaticData('global');\n\nlatestRead = staticData.latestRead;\n\nfor (let item of items) {\n  item.json.latestRead = latestRead || '2022-05-15';\n  item.json.timestamp = $item(\"0\").$node[\"Crypto\"].json[\"timestamp\"];\n  item.json.sign = $item(\"0\").$node[\"Crypto\"].json[\"sign\"];\n}\n\nreturn items;"},"typeVersion":1},{"name":"IF","type":"n8n-nodes-base.if","position":[2760,-340],"parameters":{"conditions":{"number":[{"value1":"={{new Date($node[\"Latest Read\"].data[\"latestRead\"]).getTime()}}","value2":"={{new Date($json[\"Date\"]).getTime()}}"}],"string":[{"value1":"={{$json[\"Title\"]}}","operation":"contains"}],"boolean":[]}},"typeVersion":1},{"name":"Write Latest Read","type":"n8n-nodes-base.function","position":[3100,-440],"parameters":{"functionCode":"const staticData = this.getWorkflowStaticData('global');\n\nif (items.length > 0) {\n  staticData.latestRead = items[0].json.Date || staticData.latestRead;\n}\n\n\nreturn items;"},"typeVersion":1},{"name":"NoOp","type":"n8n-nodes-base.noOp","position":[3100,-240],"parameters":{},"typeVersion":1},{"name":"Crypto","type":"n8n-nodes-base.crypto","position":[280,-280],"parameters":{"type":"SHA256","value":"={{''}}","action":"hmac","secret":"={{$json[\"timestamp\"]+'\\n'+$json[\"secret\"]}}","encoding":"base64","dataPropertyName":"sign"},"typeVersion":1},{"name":"Set","type":"n8n-nodes-base.set","position":[60,-280],"parameters":{"values":{"string":[{"name":"timestamp","value":"={{Math.round(new Date().getTime()/1000)}}"},{"name":"secret"}]},"options":{}},"typeVersion":1},{"name":"Cron","type":"n8n-nodes-base.cron","position":[-180,-280],"parameters":{"triggerTimes":{"item":[{"mode":"everyX","value":1}]}},"typeVersion":1},{"name":"RSS list","type":"n8n-nodes-base.function","position":[520,-280],"parameters":{"functionCode":"return [{\n  json: {\n    name: \"Nature Plants\",\n    feed: \"http://feeds.nature.com/nplants/rss/current\"\n  }\n}, {\n  json: {\n    name: \"Nature Genetics\",\n    feed: \"http://feeds.nature.com/ng/rss/current\"\n  }\n}]"},"typeVersion":1},{"name":"Webhook","type":"n8n-nodes-base.httpRequest","position":[3360,-440],"parameters":{"options":{"batchSize":1,"batchInterval":3000,"splitIntoItems":false},"requestMethod":"POST","bodyParametersUi":{"parameter":[{"name":"msg_type","value":"interactive"},{"name":"card","value":"={\n  \"config\": {\n    \"wide_screen_mode\": true\n  },\n  \"header\": {\n    \"template\": \"black\",\n    \"title\": {\n      \"content\": \"{{$json[\"Title\"]}}\",\n      \"tag\": \"plain_text\"\n    }\n  },\n  \"elements\": [\n    {\n      \"tag\": \"div\",\n      \"text\": {\n        \"content\": \"{{$json[\"Text\"]}}\",\n        \"tag\": \"lark_md\"\n      }\n    },\n    {\n      \"tag\": \"hr\"\n    },\n    {\n      \"elements\": [\n        {\n          \"content\": \"[阅读原文]({{$json[\"Link\"]}})\",\n          \"tag\": \"lark_md\"\n        }\n      ],\n      \"tag\": \"note\"\n    }\n  ]\n}"},{"name":"timestamp","value":"={{$json[\"timestamp\"]}}"},{"name":"sign","value":"={{$json[\"sign\"]}}"}]},"headerParametersUi":{"parameter":[{"name":"Content-Type","value":"application/json"}]}},"typeVersion":1},{"name":"IF check empty","type":"n8n-nodes-base.if","position":[1180,-440],"parameters":{"conditions":{"string":[{"value1":"={{$json[\"data\"]}}","operation":"isNotEmpty"}]}},"typeVersion":1},{"name":"IF check empty1","type":"n8n-nodes-base.if","position":[1280,40],"parameters":{"conditions":{"string":[{"value1":"={{$json[\"data\"]}}","operation":"isNotEmpty"}]}},"typeVersion":1}],"active":false,"settings":{},"connections":{"IF":{"main":[[{"node":"Write Latest Read","type":"main","index":0}],[{"node":"NoOp","type":"main","index":0}]]},"IF2":{"main":[[{"node":"IF check empty","type":"main","index":0}],[{"node":"IF check empty1","type":"main","index":0}]]},"Set":{"main":[[{"node":"Crypto","type":"main","index":0}]]},"Cron":{"main":[[{"node":"Set","type":"main","index":0}]]},"XML1":{"main":[[{"node":"Item Lists1","type":"main","index":0}]]},"XML2":{"main":[[{"node":"Item Lists3","type":"main","index":0}]]},"Crypto":{"main":[[{"node":"RSS list","type":"main","index":0}]]},"RSS list":{"main":[[{"node":"HTTP Request","type":"main","index":0}]]},"Merge type":{"main":[[{"node":"Set out info","type":"main","index":0}]]},"format rdf":{"main":[[{"node":"Merge type","type":"main","index":0}]]},"Item Lists1":{"main":[[{"node":"format rdf","type":"main","index":0}]]},"Item Lists3":{"main":[[{"node":"Merge type","type":"main","index":1}]]},"Latest Read":{"main":[[{"node":"IF","type":"main","index":0}]]},"HTTP Request":{"main":[[{"node":"IF2","type":"main","index":0}]]},"Set out info":{"main":[[{"node":"Latest Read","type":"main","index":0}]]},"IF check empty":{"main":[[{"node":"XML1","type":"main","index":0}],[{"node":"Merge type","type":"main","index":0}]]},"IF check empty1":{"main":[[{"node":"XML2","type":"main","index":0}],[{"node":"Merge type","type":"main","index":1}]]},"Write Latest Read":{"main":[[{"node":"Webhook","type":"main","index":0}]]}}}