{
"name": "RSS to Telegram",
"nodes": [
{
"parameters": {},
"name": "Start",
"type": "n8n-nodes-base.start",
"typeVersion": 1,
"position": [
-560,
390
]
},
{
"parameters": {
"chatId": "",
"text": "=💹 #日幣匯率 {{$json[\"title\"]}}\n\n{{$json[\"link\"]}}",
"additionalFields": {}
},
"name": "Telegram",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1,
"position": [
440,
30
],
"credentials": {
"telegramApi": ""
}
},
{
"parameters": {
"url": ""
},
"name": "RSS Feed Read",
"type": "n8n-nodes-base.rssFeedRead",
"typeVersion": 1,
"position": [
-359.5,
130
]
},
{
"parameters": {
"functionCode": "const staticData = this.getWorkflowStaticData('global');\n\nlatestRead = staticData.latestRead;\n\nfor (let item of items) {\n item.json.latestRead = latestRead || '2021-06-01';\n}\n\nreturn items;"
},
"name": "Latest Read",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
-160,
130
]
},
{
"parameters": {
"conditions": {
"number": [
{
"value1": "={{new Date($node[\"Latest Read\"].data[\"latestRead\"]).getTime()}}",
"value2": "={{new Date($node[\"RSS Feed Read\"].data[\"isoDate\"]).getTime()}}"
}
],
"boolean": [],
"string": [
{
"value1": "={{$json[\"title\"]}}",
"operation": "contains",
"value2": ""
}
]
}
},
"name": "IF",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
40,
130
]
},
{
"parameters": {
"functionCode": "const staticData = this.getWorkflowStaticData('global');\n\nif (items.length > 0) {\n staticData.latestRead = items[0].json.isoDate || staticData.latestRead;\n}\n\n\nreturn items;"
},
"name": "Write Latest Read",
"type": "n8n-nodes-base.function",
"typeVersion": 1,
"position": [
240,
30
]
},
{
"parameters": {},
"name": "NoOp",
"type": "n8n-nodes-base.noOp",
"typeVersion": 1,
"position": [
230,
270
]
},
{
"parameters": {
"triggerTimes": {
"item": [
{
"mode": "everyX",
"value": 1
}
]
}
},
"name": "Cron",
"type": "n8n-nodes-base.cron",
"typeVersion": 1,
"position": [
-560,
130
]
}
],
"connections": {
"RSS Feed Read": {
"main": [
[
{
"node": "Latest Read",
"type": "main",
"index": 0
}
]
]
},
"Latest Read": {
"main": [
[
{
"node": "IF",
"type": "main",
"index": 0
}
]
]
},
"IF": {
"main": [
[
{
"node": "Write Latest Read",
"type": "main",
"index": 0
}
],
[
{
"node": "NoOp",
"type": "main",
"index": 0
}
]
]
},
"Write Latest Read": {
"main": [
[
{
"node": "Telegram",
"type": "main",
"index": 0
}
]
]
},
"Cron": {
"main": [
[
{
"node": "RSS Feed Read",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"timezone": "Asia/Taipei",
"saveExecutionProgress": "DEFAULT",
"errorWorkflow": "3"
},
"id": 2
}