8
n8n 한국어amn8n.com

Reddit 밈을 Google Drive에 자동 다운로드, 중복 감지 및 Telegram 알림 포함

고급

이것은File Management, Multimodal AI분야의자동화 워크플로우로, 20개의 노드를 포함합니다.주로 If, Set, Code, Wait, Filter 등의 노드를 사용하며. Reddit 밈 Google Drive 자동 다운로드, 중복 감지 및 Telegram 알림 포함

사전 요구사항
  • Telegram Bot Token
  • Google Drive API 인증 정보
  • 대상 API의 인증 정보가 필요할 수 있음
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "sApDhrCJFPIl0wdv",
  "meta": {
    "instanceId": "943057ae9865dd2906869d78fba63cb807e3403d288699c0026d3aaf59867c7a"
  },
  "tags": [],
  "nodes": [
    {
      "id": "0bd4a770-9b16-4b30-836d-0013a530c3f5",
      "name": "설정",
      "type": "n8n-nodes-base.set",
      "position": [
        -1680,
        256
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "108afa46-571b-4e15-ab1a-bfb03ac7972b",
              "name": "telegram_chat_id",
              "type": "string",
              "value": "YOUR_TELEGRAM_CHAT_ID"
            },
            {
              "id": "0937ebce-93ae-45c3-89f4-1594f9eb39dd",
              "name": "wait_in_seconds",
              "type": "number",
              "value": 1
            },
            {
              "id": "ed0ae7de-b9c3-4ad6-82d4-d288b22c06d7",
              "name": "image_base_url",
              "type": "string",
              "value": "i.redd.it"
            },
            {
              "id": "5c6cd357-d78b-4b40-acc6-9d3ba966ea5f",
              "name": "subreddits_array",
              "type": "array",
              "value": "=[\n  'subreddit1',\n  'subreddit2',\n  'subreddit3'\n]"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ae4f40b1-2401-4d90-a454-79e60e39ea6d",
      "name": "게시물 반복",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -672,
        256
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "9494edb5-de72-409b-ac68-64c9039098da",
      "name": "새 이미지인가?",
      "type": "n8n-nodes-base.if",
      "position": [
        224,
        464
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cfd7c29e-864b-4241-a089-b633eac3fef1",
              "operator": {
                "type": "string",
                "operation": "notExists",
                "singleValue": true
              },
              "leftValue": "={{ $('Search image in drive').item.json.id }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "44c886f4-09ac-46e9-8e9d-eb9751337fc8",
      "name": "이미지 다운로드",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        448,
        464
      ],
      "parameters": {
        "url": "={{ $('Image variables').item.json.image_url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file",
              "outputPropertyName": "image"
            }
          }
        },
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "image/webp,image/apng,image/*,*/*;q=0.8"
            }
          ]
        },
        "nodeCredentialType": "redditOAuth2Api"
      },
      "credentials": {
        "redditOAuth2Api": {
          "id": "0z799VOJVjOTOAUf",
          "name": "Reddit VJM"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "131453d7-6485-419b-afb7-a59f68719625",
      "name": "이미지를 Drive에 업로드",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        672,
        528
      ],
      "parameters": {
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1fslVa4PawdpJv7t7OSqtOts4BDDGsUVv",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1fslVa4PawdpJv7t7OSqtOts4BDDGsUVv",
          "cachedResultName": "teste memes"
        },
        "inputDataFieldName": "image"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "lqBbtUNY2M92xaLg",
          "name": "Google Drive VIKTHYR"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "0e0a5979-4f79-4471-a5e7-f5d115239280",
      "name": "이미지 변수",
      "type": "n8n-nodes-base.set",
      "position": [
        -224,
        384
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "21de95d6-92b3-467b-9a7f-90aa256d99d2",
              "name": "image_url",
              "type": "string",
              "value": "={{ $json.url }}"
            },
            {
              "id": "4a6236f2-dd29-49dd-a10b-bf2f1b7fef09",
              "name": "image_name",
              "type": "string",
              "value": "={{ $json.url.split(\"/\")[3] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "2df122fc-8687-4a1e-af60-f78355f9e9f2",
      "name": "Drive에서 이미지 검색",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        0,
        384
      ],
      "parameters": {
        "limit": 1,
        "filter": {
          "folderId": {
            "__rl": true,
            "mode": "list",
            "value": "1fslVa4PawdpJv7t7OSqtOts4BDDGsUVv",
            "cachedResultUrl": "https://drive.google.com/drive/folders/1fslVa4PawdpJv7t7OSqtOts4BDDGsUVv",
            "cachedResultName": "teste memes"
          },
          "whatToSearch": "files"
        },
        "options": {},
        "resource": "fileFolder",
        "queryString": "={{ $json.image_name }}"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "lqBbtUNY2M92xaLg",
          "name": "Google Drive VIKTHYR"
        }
      },
      "typeVersion": 3,
      "alwaysOutputData": true
    },
    {
      "id": "23e525af-815f-4fe6-b50f-43820ffb5050",
      "name": "이미지만 유지",
      "type": "n8n-nodes-base.filter",
      "position": [
        -896,
        256
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "47d10e15-795b-449a-ac76-262b0850ae3d",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.url.split(\"/\")[2] }}",
              "rightValue": "={{ $('Settings').item.json.image_base_url }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "140b6db8-d088-4429-bbe1-03c01cccbe31",
      "name": "Reddit 게시물 가져오기",
      "type": "n8n-nodes-base.reddit",
      "position": [
        -1120,
        256
      ],
      "parameters": {
        "filters": {
          "category": "new"
        },
        "operation": "getAll",
        "subreddit": "={{ $('Get random subreddit').item.json.subreddit }}"
      },
      "credentials": {
        "redditOAuth2Api": {
          "id": "0z799VOJVjOTOAUf",
          "name": "Reddit VJM"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "81ad2196-6e73-4464-94ad-e546dd620337",
      "name": "무작위 서브레딧 선택",
      "type": "n8n-nodes-base.code",
      "position": [
        -1344,
        256
      ],
      "parameters": {
        "jsCode": "const subreddits = $input.first().json.subreddits_array\nconst randomIndex = Math.floor(Math.random() * subreddits.length)\nconst subreddit = subreddits[randomIndex]\n\nreturn [{ json: { subreddit } }]"
      },
      "typeVersion": 2
    },
    {
      "id": "189789a1-9107-4055-8f4f-c8440f461b12",
      "name": "요청 간 대기",
      "type": "n8n-nodes-base.wait",
      "position": [
        -448,
        384
      ],
      "webhookId": "850b52c1-da45-41ee-abad-60db39f0d176",
      "parameters": {
        "amount": "={{ $('Settings').item.json.wait_in_seconds }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "28fac7ac-64d4-4b46-91c6-5ddc270ba863",
      "name": "새 이미지만 유지",
      "type": "n8n-nodes-base.filter",
      "position": [
        -448,
        96
      ],
      "parameters": {
        "options": {
          "ignoreCase": false
        },
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "baa17736-88f3-43d4-9642-94b8b06c9e18",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.createdTime }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2,
      "alwaysOutputData": true
    },
    {
      "id": "2d9d65fe-45cf-46d9-872d-393f5e5229b2",
      "name": "새 이미지가 있나?",
      "type": "n8n-nodes-base.if",
      "position": [
        -16,
        96
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "d04db27a-065b-47c3-aec6-1b144f3621e8",
              "operator": {
                "type": "array",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.new_images }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "866be212-97a2-4121-9208-9245fe0a8d8a",
      "name": "새 이미지 통합",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -224,
        96
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "new_images"
      },
      "typeVersion": 1
    },
    {
      "id": "b353f3c6-a1ea-4759-9616-00567be7c5d0",
      "name": "Telegram으로 알림",
      "type": "n8n-nodes-base.telegram",
      "position": [
        224,
        0
      ],
      "webhookId": "c28255b7-0343-4361-866e-85a35b449759",
      "parameters": {
        "text": "={{ $json.new_images.length }} new images downloaded from Reddit",
        "chatId": "={{ $('Settings').item.json.telegram_chat_id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "g96RKSo0I2Vcf1oP",
          "name": "Telegram N8N VIKTHYR Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a27568e7-2e17-44f0-a6e9-61017565926f",
      "name": "새 이미지 없음 텍스트 전송",
      "type": "n8n-nodes-base.telegram",
      "position": [
        224,
        176
      ],
      "webhookId": "c28255b7-0343-4361-866e-85a35b449759",
      "parameters": {
        "text": "=No new images downloaded from Reddit",
        "chatId": "={{ $('Settings').item.json.telegram_chat_id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "g96RKSo0I2Vcf1oP",
          "name": "Telegram N8N VIKTHYR Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e2974ffa-3942-444b-bde3-30881e1c9675",
      "name": "Cron",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -2016,
        256
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d2eb37ad-0c06-4e9a-acb4-4a79d93d54c4",
      "name": "메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2480,
        -320
      ],
      "parameters": {
        "width": 400,
        "height": 736,
        "content": "## 🔄 How It Works\n\nWorkflow execution flow:\n\n1. 🕐 Cron trigger starts the process\n2. 🎲 Randomly selects a subreddit from your list\n3. 📥 Fetches latest 30 posts from 'new' category\n4. 🖼️ Filters posts to keep only i.redd.it images\n5. 🔍 Checks Google Drive for existing images\n6. ⬇️ Downloads only new/unseen images\n7. 📤 Uploads new images to specified Drive folder\n8. 📱 Sends Telegram notification with results\n\n⚡ **Smart duplicate prevention saves bandwidth!**\n\n## 🔐 Required Credentials\n\nSet up these credential connections:\n\n**1️⃣ Reddit OAuth2 API:**\n• Create Reddit app at reddit.com/prefs/apps\n• Use 'script' type application\n• Note Client ID and Secret\n\n**2️⃣ Google Drive OAuth2:**\n• Enable Google Drive API in Google Cloud Console\n• Create OAuth2 credentials\n• Set appropriate scopes for file upload\n\n**3️⃣ Telegram Bot API:**\n• Create bot via @BotFather on Telegram\n• Get bot token and your chat ID\n• Test with /start command"
      },
      "typeVersion": 1
    },
    {
      "id": "afd62df4-fc7b-41a9-9aa0-16808d05a7ab",
      "name": "메모6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2064,
        -320
      ],
      "parameters": {
        "width": 272,
        "height": 112,
        "content": "# 📌 Follow me:\n## [LinkedIn](https://www.linkedin.com/in/vikthyr)"
      },
      "typeVersion": 1
    },
    {
      "id": "314b4db5-4261-4395-b071-5cb7be9395c2",
      "name": "메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1840,
        -96
      ],
      "parameters": {
        "color": 7,
        "width": 432,
        "height": 512,
        "content": "## ⚙️ Configuration Settings\n\nUpdate these variables in the Settings node:\n\n🔧 **Required Configuration:**\n• `telegram_chat_id`: Your Telegram chat ID for notifications\n• `subreddits_array`: List of subreddits to monitor\n  Example: `['memes', 'funny', 'pics']`\n\n⏱️ **Optional Settings:**\n• `wait_in_seconds`: Delay between requests (0.1s default)\n• `image_base_url`: Reddit image domain (i.redd.it)\n\n💡 **Tip:** Keep wait time low but respect Reddit's rate limits!"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7f64bba8-8e4f-48f5-9411-e8618d8ff587",
  "connections": {
    "e2974ffa-3942-444b-bde3-30881e1c9675": {
      "main": [
        [
          {
            "node": "0bd4a770-9b16-4b30-836d-0013a530c3f5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0bd4a770-9b16-4b30-836d-0013a530c3f5": {
      "main": [
        [
          {
            "node": "81ad2196-6e73-4464-94ad-e546dd620337",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ae4f40b1-2401-4d90-a454-79e60e39ea6d": {
      "main": [
        [
          {
            "node": "28fac7ac-64d4-4b46-91c6-5ddc270ba863",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "189789a1-9107-4055-8f4f-c8440f461b12",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "44c886f4-09ac-46e9-8e9d-eb9751337fc8": {
      "main": [
        [
          {
            "node": "131453d7-6485-419b-afb7-a59f68719625",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0e0a5979-4f79-4471-a5e7-f5d115239280": {
      "main": [
        [
          {
            "node": "2df122fc-8687-4a1e-af60-f78355f9e9f2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9494edb5-de72-409b-ac68-64c9039098da": {
      "main": [
        [
          {
            "node": "44c886f4-09ac-46e9-8e9d-eb9751337fc8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "ae4f40b1-2401-4d90-a454-79e60e39ea6d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "140b6db8-d088-4429-bbe1-03c01cccbe31": {
      "main": [
        [
          {
            "node": "23e525af-815f-4fe6-b50f-43820ffb5050",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2d9d65fe-45cf-46d9-872d-393f5e5229b2": {
      "main": [
        [
          {
            "node": "b353f3c6-a1ea-4759-9616-00567be7c5d0",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "a27568e7-2e17-44f0-a6e9-61017565926f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "23e525af-815f-4fe6-b50f-43820ffb5050": {
      "main": [
        [
          {
            "node": "ae4f40b1-2401-4d90-a454-79e60e39ea6d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "866be212-97a2-4121-9208-9245fe0a8d8a": {
      "main": [
        [
          {
            "node": "2d9d65fe-45cf-46d9-872d-393f5e5229b2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "81ad2196-6e73-4464-94ad-e546dd620337": {
      "main": [
        [
          {
            "node": "140b6db8-d088-4429-bbe1-03c01cccbe31",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "28fac7ac-64d4-4b46-91c6-5ddc270ba863": {
      "main": [
        [
          {
            "node": "866be212-97a2-4121-9208-9245fe0a8d8a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2df122fc-8687-4a1e-af60-f78355f9e9f2": {
      "main": [
        [
          {
            "node": "9494edb5-de72-409b-ac68-64c9039098da",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "131453d7-6485-419b-afb7-a59f68719625": {
      "main": [
        [
          {
            "node": "ae4f40b1-2401-4d90-a454-79e60e39ea6d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "189789a1-9107-4055-8f4f-c8440f461b12": {
      "main": [
        [
          {
            "node": "0e0a5979-4f79-4471-a5e7-f5d115239280",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 파일 관리, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수20
카테고리2
노드 유형13
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
Vitorio Magalhães

Vitorio Magalhães

@vikthyr

Brazilian Full Stack Developer passionate about making automation accessible to everyone. I create free n8n workflows that solve real problems - from NASA space content to marketing automation. Proving that powerful automation doesn't need to be expensive or complicated. Teaching through templates, one node at a time.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34