{
  "name": "Twitter To TG",
  "nodes": [
    {
      "parameters": {},
      "name": "Start",
      "type": "n8n-nodes-base.start",
      "typeVersion": 1,
      "position": [
        240,
        300
      ]
    },
    {
      "parameters": {
        "operation": "search",
        "searchText": "from:pseudo_yu",
        "additionalFields": {
          "resultType": "recent"
        }
      },
      "name": "Twitter",
      "type": "n8n-nodes-base.twitter",
      "position": [
        560,
        -40
      ],
      "typeVersion": 1,
      "credentials": {
        "twitterOAuth1Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "functionCode": "const new_items = [];\nconst data = this.getWorkflowStaticData('node');\n\ndata.ids = data.ids || [];\n\n\nif (data.ids.length === 0) {\n  // only first item\n  const firstItem = items[0]\n  new_items.push(firstItem)\n} else {\n  for (var i=0; i<items.length; i++) {\n    if (data.ids.includes(items[i].json.id)) {\n      break;\n    } else {\n      new_items.push({json: items[i].json});\n    }\n  }\n}\n\ndata.ids = items.map(item => item.json.id)\nreturn new_items.reverse();\n"
      },
      "name": "Function",
      "type": "n8n-nodes-base.function",
      "position": [
        1040,
        -20
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "keepOnlySet": true,
        "values": {
          "number": [
            {
              "name": "id",
              "value": "={{$json[\"id\"]}}"
            }
          ],
          "string": [
            {
              "name": "url",
              "value": "=https://twitter.com/{{$json[\"user\"][\"screen_name\"]}}/status/{{$json[\"id_str\"]}}"
            },
            {
              "name": "tweet",
              "value": "={{$json[\"text\"]}}"
            },
            {
              "name": "username",
              "value": "={{$node[\"Twitter\"].json[\"user\"][\"screen_name\"]}}"
            },
            {
              "name": "photo",
              "value": "={{$json[\"user\"][\"profile_image_url_https\"]}}"
            },
            {
              "name": "name",
              "value": "={{$json[\"user\"][\"name\"]}}"
            },
            {
              "name": "color",
              "value": "={{$json[\"user\"][\"profile_link_color\"]}}"
            },
            {
              "name": "retweetedUrl",
              "value": "=https://twitter.com/{{$json[\"retweeted_status\"][\"user\"][\"screen_name\"]}}/status/{{$json[\"id_str\"]}}"
            }
          ],
          "boolean": [
            {
              "name": "retweeted",
              "value": "={{$json[\"retweeted_status\"] !== undefined}}"
            }
          ]
        },
        "options": {
          "dotNotation": true
        }
      },
      "name": "Set Retweeted",
      "type": "n8n-nodes-base.set",
      "position": [
        840,
        -40
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "chatId": "@pseudoyulife",
        "text": "=\ud83d\udc26 {{$json[\"tweet\"]}} {{$json[\"retweeted\"] ? \"#retweet\" : \"#tweet\"}}\n\n<a href=\"{{$json[\"url\"]}} \">source</a>",
        "additionalFields": {
          "parse_mode": "HTML"
        }
      },
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1,
      "position": [
        1260,
        -20
      ],
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "interval": 5,
        "unit": "minutes"
      },
      "name": "Interval",
      "type": "n8n-nodes-base.interval",
      "typeVersion": 1,
      "position": [
        360,
        -40
      ]
    },
    {
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$json[\"in_reply_to_screen_name\"] && $json[\"in_reply_to_screen_name\"] !== \"novoreorx\"}}",
              "value2": "={{true}}"
            }
          ]
        }
      },
      "name": "IF reply to others",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        680,
        -220
      ]
    }
  ],
  "connections": {
    "Twitter": {
      "main": [
        [
          {
            "node": "IF reply to others",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Function": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Retweeted": {
      "main": [
        [
          {
            "node": "Function",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Interval": {
      "main": [
        [
          {
            "node": "Twitter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF reply to others": {
      "main": [
        [],
        [
          {
            "node": "Set Retweeted",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "saveExecutionProgress": "DEFAULT",
    "errorWorkflow": "9"
  },
  "id": 6,
  "tags": []
}