Automatisierung von Telegram-Kanal-Post-Reaktionen durch Bots

Experte

Dies ist ein Social Media, AI Summarization-Bereich Automatisierungsworkflow mit 18 Nodes. Hauptsächlich werden Code, Wait, Limit, Telegram, HttpRequest und andere Nodes verwendet. Automatisierung von Telegram-Kanal-Post-Reaktionen durch Bot-Rotation und GPT-5-mini

Voraussetzungen
  • Telegram Bot Token
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "RsybQdZr1cZ42ZUS",
  "meta": {
    "instanceId": "cefd6d3f9b3c9061f776a00a00144ec1f1ee1977ad3cb7e49aee2e6213fb1e99"
  },
  "name": "Automate reactions for Telegram Channel Posts using bots",
  "tags": [],
  "nodes": [
    {
      "id": "34abb54f-61b7-49b9-b310-e344412e7bfa",
      "name": "Haftnotiz - Telegram",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -992,
        256
      ],
      "parameters": {
        "color": 4,
        "width": 284,
        "height": 708,
        "content": "## 📱 Telegram Trigger\n\n**Purpose:** Entry point for the workflow\n\n**What it does:**\n- Listens for incoming Telegram messages\n- Captures user requests like:\n  - \"Give me 5 fire reactions\"\n  - \"https://t.me/channel/123 needs 10 reactions\"\n\n**Outputs:** Message object with text, chat ID, and user info"
      },
      "typeVersion": 1
    },
    {
      "id": "d837ab73-8310-4a77-a223-a1d6e5026f55",
      "name": "Haftnotiz - AI",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -688,
        256
      ],
      "parameters": {
        "color": 5,
        "width": 300,
        "height": 704,
        "content": "## 🤖 AI Analysis\n\n**Purpose:** Intelligently parse user requests\n\n**What it does:**\n- Analyzes the user's message\n- Extracts:\n  - Number of reactions requested\n  - Specific emoji types (fire, heart, thumbs up, etc.)\n  - Handles natural language (\"5 fire\" → [\"🔥\",\"🔥\",\"🔥\",\"🔥\",\"🔥\"])\n\n**AI Model:** GPT-5-MINI\n\n**Output:** JSON array of emojis based on request"
      },
      "typeVersion": 1
    },
    {
      "id": "85bedd07-591e-4980-9cee-19b2bb90684b",
      "name": "Haftnotiz - Processing",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        256
      ],
      "parameters": {
        "color": 6,
        "width": 444,
        "height": 712,
        "content": "## 🔧 Data Processing\n\n**Purpose:** Transform AI output into API-ready format\n\n**What it does:**\n1. Extracts message ID from Telegram link\n2. Validates emojis against Telegram's allowed list\n3. Handles duplicates intelligently:\n   - Allows duplicates if ≤3 unique emojis requested\n   - Replaces invalid emojis with random valid ones\n4. Assigns bot tokens (rotates through n number of your bots based on the tokens that you provide)\n5. Creates array of reaction objects\n\n**Output Format:**\n```json\n{\n  \"emoji\": \"🔥\",\n  \"botToken\": \"...\",\n  \"chatId\": \"-1003154563293\",\n  \"messageId\": 123\n}\n```\nNOTE:\nReplace lines 15 and 33 of the code prep node with your own channel ID and Bot tokens"
      },
      "typeVersion": 1
    },
    {
      "id": "1372c0e3-7635-475f-a122-43875c00b931",
      "name": "Haftnotiz - Debug",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        992
      ],
      "parameters": {
        "color": 3,
        "width": 444,
        "height": 360,
        "content": "## 🔍 Debug Logger\n\n**Purpose:** Monitoring and troubleshooting\n\n**What it does:**\n- Logs total items being processed\n- Shows each reaction's details:\n  - Emoji being sent\n  - Target chat/message IDs\n  - Bot token (partially hidden)\n\n**Useful for:** Debugging failed reactions"
      },
      "typeVersion": 1
    },
    {
      "id": "5a9b74b8-4163-4fb0-8897-bf5174414542",
      "name": "Haftnotiz - Loop",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        256
      ],
      "parameters": {
        "color": 7,
        "width": 260,
        "height": 712,
        "content": "## 🔄 Batch Processor\n\n**Purpose:** Send reactions one at a time\n\n**What it does:**\n- Takes array of reaction objects\n- Loops through each item\n- Sends one reaction per iteration\n- Prevents rate limiting by processing sequentially\n\n**Why needed:** Telegram API requires individual requests per reaction"
      },
      "typeVersion": 1
    },
    {
      "id": "40ead69f-71b1-4d77-8529-33366d97eb79",
      "name": "Haftnotiz - HTTP",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        672
      ],
      "parameters": {
        "color": 2,
        "width": 408,
        "height": 552,
        "content": "## 🚀 Send Reaction\n\n**Purpose:** Execute Telegram API call\n\n**What it does:**\n- Calls Telegram's `setMessageReaction` endpoint\n- Sends:\n  - Bot token (for authentication)\n  - Chat ID (target channel)\n  - Message ID (specific post)\n  - Emoji (reaction to add)\n\n**API Endpoint:**\n`https://api.telegram.org/bot{token}/setMessageReaction`\n\n**Result:** Reaction appears on the message"
      },
      "typeVersion": 1
    },
    {
      "id": "d7eca245-b056-4319-b54f-dae533dc2c63",
      "name": "Sticky Note - Rate Begrenzen",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        144
      ],
      "parameters": {
        "width": 408,
        "height": 520,
        "content": "## ⏱️ Rate Limiting\n\n**Purpose:** Prevent API throttling\n\n**What it does:**\n- Limits execution rate\n- Adds wait time between batches\n- Ensures workflow doesn't hit Telegram's rate limits\n\n**Components:**\n1. **Limit Node** - Controls flow rate\n2. **Wait Node** - Adds delay between operations"
      },
      "typeVersion": 1
    },
    {
      "id": "b785f071-8a2a-46a7-88de-67e61b94b1e4",
      "name": "Haftnotiz - Completion",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        144
      ],
      "parameters": {
        "color": 4,
        "width": 324,
        "height": 528,
        "content": "## ✅ Completion\n\n**Purpose:** User confirmation\n\n**What it does:**\n- Sends \"All done!\" message back to user\n- Confirms all reactions were added\n- Uses original chat ID from trigger\n\n**User Experience:** User gets immediate feedback that their request completed successfully"
      },
      "typeVersion": 1
    },
    {
      "id": "4d93e8bb-273f-4540-9f5c-67acaf4b5164",
      "name": "Haftnotiz - Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1552,
        256
      ],
      "parameters": {
        "color": 5,
        "width": 464,
        "height": 864,
        "content": "## 📋 WORKFLOW OVERVIEW\n\n**Telegram Multiple Reactions Army Bot** - Automated Telegram reaction system\n\n**Flow:**\n1. User sends message to bot\n2. AI parses request (emoji type & quantity)\n3. Code processes and validates data\n4. Loop sends reactions one by one\n5. User receives confirmation\n\n**Key Features:**\n- Natural language processing\n- Reiterates through bot token rotation\n- Duplicate emoji handling\n- Rate limit protection\n- Error handling with helpful messages\n\n1st add the bots to the channel that you would want them to react posts to and allow it to manage messages\n\nCredentials needed are:\nTarget Channel ID, Bot tokens, Bot Receiver token\n\n**Example Usage:**\n- \"https://t.me/channel/123 needs 10 hearts and 10 fire reactions\n\n\nPS: To get the ID of a channel in TG\n\nThere are a few ways to find the chat/channel ID of a Telegram channel (public or private). Here are common methods:\n\n✅ Method 1: Use a bot\n1. Add a bot like @userinfobot or @getmy_idbot to your channel (or forward a message from the channel to the bot).\n2. The bot will reply with the channel’s numeric ID (for example: -1001234567890) for private channels.\n3. Make sure forwarding is allowed if the channel blocks forwarding."
      },
      "typeVersion": 1
    },
    {
      "id": "5592fc81-7eb0-49a1-bcad-db982a1c403a",
      "name": "HTTP-Anfrage",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        608,
        1072
      ],
      "parameters": {
        "url": "=https://api.telegram.org/bot{{ $json.botToken }}/setMessageReaction",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"chat_id\": \"{{ $json.chatId }}\",\n  \"message_id\": {{ $json.messageId }},\n  \"reaction\": [\n    {\n      \"type\": \"emoji\",\n      \"emoji\": \"{{ $json.emoji }}\"\n    }\n  ]\n}",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "de82667b-a207-4325-8db6-4b04d44ddaa9",
      "name": "Über Elemente schleifen",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        176,
        672
      ],
      "parameters": {
        "options": {
          "reset": false
        }
      },
      "typeVersion": 3
    },
    {
      "id": "260abb47-d3da-4115-b585-9e66c743f9d3",
      "name": "Begrenzen",
      "type": "n8n-nodes-base.limit",
      "position": [
        528,
        480
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "195cbb5d-2262-487c-b5e1-aa2591bad249",
      "name": "Warten",
      "type": "n8n-nodes-base.wait",
      "position": [
        688,
        480
      ],
      "webhookId": "f333b15c-cfcd-4fdd-b0ca-13862c0617ba",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "1a067cb4-5370-4d0d-b961-35658fa32176",
      "name": "Telegram Chat-Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -912,
        672
      ],
      "webhookId": "1f47b780-9aa6-4a3e-8373-ede6782af16d",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "4pXtgu0iWtP3aT8Y",
          "name": "n8ntesterbot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "21d9e004-8b32-428f-ad10-a9486bda6652",
      "name": "Reply \"all done\" message",
      "type": "n8n-nodes-base.telegram",
      "position": [
        992,
        480
      ],
      "webhookId": "b0818ee4-1727-4954-a8bc-7677800f4400",
      "parameters": {
        "text": "All done!",
        "chatId": "={{ $('Telegram Chat Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "4pXtgu0iWtdemo",
          "name": "n8ntestbot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "fef6fa46-d0a0-4767-a092-594afd468205",
      "name": "Message a model",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -656,
        672
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini-2025-08-07",
          "cachedResultName": "GPT-5-MINI-2025-08-07"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "={{ $json.message.text }}"
            },
            {
              "role": "system",
              "content": "=You are a Telegram Reaction Army AI assistant. Your job is to analyze incoming Telegram messages and extract reaction requests.\n\nThe user will provide:\n1. A Telegram message link (e.g., https://t.me/channelname/123)\n2. The number and type of reactions they want\n\nTASK:\n1. Read the user's message carefully\n2. Extract the NUMBER of reactions requested\n3. Check if the user specified PARTICULAR emojis or types\n4. Generate the exact emojis based on their request\n\nAVAILABLE EMOJIS:\n👍, 👎, ❤️, 🔥, 🥰, 👏, 😁, 🤔, 🤯, 😱, 🤬, 😢, 🎉, 🤩, 🤮, 💩, 🙏, 👌, 🕊, 🤡, 🥱, 🥴, 😍, 🐳, ❤️‍🔥, 🌚, 🌭, 💯, 🤣, ⚡️, 🍌, 🏆, 💔, 🤨, 😐, 🍓, 🍾, 💋, 🖕, 😈, 😴, 😭, 🤓, 👻, 👨‍💻, 👀, 🎃, 🙈, 😇, 😨, 🤝, ✍️, 🤗, 🫡, 🎅, 🎄, ☃️, 💅, 🤪, 🗿, 🆒, 💘, 🙉, 🦄, 😘, 💊, 🙊, 😎, 👾, 🤷‍♂️, 🤷, 🤷‍♀️, 😡\n\nEMOJI ALIASES (understand these as the emojis):\n- \"fire\" = 🔥\n- \"heart\" or \"love\" = ❤️\n- \"thumbs up\" or \"like\" = 👍\n- \"party\" or \"celebrate\" = 🎉\n- \"clap\" or \"applause\" = 👏\n- \"thinking\" = 🤔\n- \"crying\" or \"sad\" = 😢\n- \"100\" or \"hundred\" = 💯\n- \"rocket\" or \"lightning\" = ⚡️\n- \"trophy\" or \"winner\" = 🏆\n- \"pray\" or \"please\" = 🙏\n- \"poop\" or \"shit\" = 💩\n- \"angry\" or \"mad\" = 😡\n- \"cool\" or \"sunglasses\" = 😎\n- \"shocked\" or \"mind blown\" = 🤯\n- \"laugh\" or \"laughing\" = 🤣\n\nSPECIFIC REQUEST HANDLING:\n- If user requests specific emojis (e.g., \"5 fire emojis\", \"give me 3 hearts\"), use ONLY that emoji repeated\n- If user mentions multiple specific emojis (e.g., \"2 fire and 3 hearts\"), give exactly what they asked\n- If user says \"random\" or doesn't specify, give random different emojis\n- If the requested emoji is not in the available list, use the closest match or random emojis\n\nOUTPUT FORMAT (CRITICAL):\nYou MUST respond with ONLY a valid JSON array of emoji strings. Nothing else.\n\nExample inputs and outputs:\n\nInput: \"hey reaction army AI i need 5 reactions for my most recent post\"\nOutput: [\"🔥\", \"❤️\", \"😂\", \"👍\", \"🎉\"]\n\nInput: \"give me 5 fire emojis\"\nOutput: [\"🔥\", \"🔥\", \"🔥\", \"🔥\", \"🔥\"]\n\nInput: \"please give me 3 hearts and 2 fire\"\nOutput: [\"❤️\", \"❤️\", \"❤️\", \"🔥\", \"🔥\"]\n\nInput: \"i need 7 thumbs up reactions\"\nOutput: [\"👍\", \"👍\", \"👍\", \"👍\", \"👍\", \"👍\", \"👍\"]\n\nInput: \"reaction army! give me 4 party emojis and 2 claps\"\nOutput: [\"🎉\", \"🎉\", \"🎉\", \"🎉\", \"👏\", \"👏\"]\n\nInput: \"10 random reactions please\"\nOutput: [\"🔥\", \"❤️\", \"😎\", \"🏆\", \"💯\", \"🤯\", \"👍\", \"🎉\", \"😁\", \"⚡️\"]\n\nInput: \"5 fire and 5 hearts\"\nOutput: [\"🔥\", \"🔥\", \"🔥\", \"🔥\", \"🔥\", \"❤️\", \"❤️\", \"❤️\", \"❤️\", \"❤️\"]\n\nRULES:\n- Always output valid JSON array format\n- Each emoji must be a separate string in the array\n- For specific emoji requests, repeat the SAME emoji the requested number of times\n- For mixed requests, follow the exact quantities specified\n- Randomly select emojis ONLY when user doesn't specify which ones\n- If the number cannot be determined, default to 5 reactions\n- Output ONLY the JSON array, no explanations or additional text\n- When repeating emojis, it's OK to have duplicates if that's what the user requested"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "RuZBazyPEFrpp0nP",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "547b3785-236b-4bf9-9cce-8cbe796ea5ba",
      "name": "Code Prep",
      "type": "n8n-nodes-base.code",
      "position": [
        -304,
        832
      ],
      "parameters": {
        "jsCode": "// Get the AI response\nconst aiResponse = $input.first().json;\n\n\n// Try to get Telegram input (handle if not executed yet)\nlet telegramInput;\ntry {\n  telegramInput = $('Telegram Chat Trigger').first().json;\n} catch (e) {\n  throw new Error(\"Please trigger the workflow by sending a message to the Telegram bot first!\");\n}\n\nlet emojis = [];\nlet messageId = null;\nlet chatId = \"-1006781233333\"; // Your public channel ID\n\n// Valid Telegram reaction emojis\nconst validEmojis = [\n  \"👍\", \"👎\", \"❤️\", \"🔥\", \"🥰\", \"👏\", \"😁\", \"🤔\", \n  \"🤯\", \"😱\", \"🤬\", \"😢\", \"🎉\", \"🤩\", \"🤮\", \"💩\",\n  \"🙏\", \"👌\", \"🕊\", \"🤡\", \"🥱\", \"🥴\", \"😍\", \"🐳\",\n  \"❤️‍🔥\", \"🌚\", \"🌭\", \"💯\", \"🤣\", \"⚡️\", \"🍌\", \"🏆\",\n  \"💔\", \"🤨\", \"😐\", \"🍓\", \"🍾\", \"💋\", \"🖕\", \"😈\",\n  \"😴\", \"😭\", \"🤓\", \"👻\", \"👨‍💻\", \"👀\", \"🎃\", \"🙈\",\n  \"😇\", \"😨\", \"🤝\", \"✍️\", \"🤗\", \"🫡\", \"🎅\", \"🎄\",\n  \"☃️\", \"💅\", \"🤪\", \"🗿\", \"🆒\", \"💘\", \"🙉\", \"🦄\",\n  \"😘\", \"💊\", \"🙊\", \"😎\", \"👾\", \"🤷‍♂️\", \"🤷\", \"🤷‍♀️\",\n  \"😡\"\n];\n\n// ADD YOUR BOT TOKENS HERE\nconst botTokens = [\n  \"8241237833:AAEbJbNx4-9rTAHJZ_yaShzbqCRwUoD-I3U\",  // replace with your own token\n  \"8339530330:AAG8EYMN1lLKK2yhmxl2fkFlQlKbc-lkuY\",   // replace with your own token\n  \"8333742303:AA1kuLLW1x3WTN2i-9v8xXfjXZ2TSB_i1j\"    // replace with your own token\n];\n\n// Get the original message text from user\nconst userMessage = telegramInput.message?.text || \"\";\n\n// Extract message ID from Telegram link\nconst telegramLinkMatch = userMessage.match(/t\\.me\\/[^\\/]+\\/(\\d+)/i);\nconst messageNumberMatch = userMessage.match(/message\\s+(\\d+)|post\\s+(\\d+)/i);\n\nif (telegramLinkMatch) {\n  messageId = parseInt(telegramLinkMatch[1]);\n} else if (messageNumberMatch) {\n  messageId = parseInt(messageNumberMatch[1] || messageNumberMatch[2]);\n}\n\n// Extract emojis from AI response\nfunction extractArray(str) {\n  if (typeof str !== 'string') return null;\n  const match = str.match(/\\[[\\s\\S]*?\\]/);\n  if (match) {\n    try {\n      return JSON.parse(match[0]);\n    } catch (e) {\n      return null;\n    }\n  }\n  return null;\n}\n\nif (aiResponse.message && aiResponse.message.content) {\n  const content = aiResponse.message.content;\n  emojis = extractArray(content);\n}\nelse if (aiResponse.message && typeof aiResponse.message === 'string') {\n  emojis = extractArray(aiResponse.message);\n}\nelse if (aiResponse.output) {\n  if (typeof aiResponse.output === 'string') {\n    emojis = extractArray(aiResponse.output);\n  } else if (Array.isArray(aiResponse.output)) {\n    emojis = aiResponse.output;\n  }\n}\nelse if (Array.isArray(aiResponse)) {\n  emojis = aiResponse;\n}\nelse if (aiResponse.choices && aiResponse.choices[0]?.message?.content) {\n  const content = aiResponse.choices[0].message.content;\n  emojis = extractArray(content);\n}\n\nif (!Array.isArray(emojis) || emojis.length === 0) {\n  emojis = [\"👍\", \"❤️\", \"🔥\"];\n}\n\n// If no message ID found, throw helpful error\nif (!messageId) {\n  throw new Error(\"❌ Please provide a Telegram message link!\\n\\nExample:\\nhttps://t.me/n8nTesterChannel/62 needs 5 reactions please\");\n}\n\n// Validate emojis\nfunction getRandomValidEmoji(exclude = []) {\n  const available = validEmojis.filter(e => !exclude.includes(e));\n  return available[Math.floor(Math.random() * available.length)];\n}\n\nconst uniqueEmojis = [...new Set(emojis)];\nconst allowDuplicates = uniqueEmojis.length <= 3;\n\nconst requestedCount = emojis.length;\nconst validatedEmojis = [];\nconst usedEmojis = new Set();\n\nfor (let emoji of emojis) {\n  const cleaned = emoji.trim();\n  \n  if (validEmojis.includes(cleaned)) {\n    if (allowDuplicates) {\n      validatedEmojis.push(cleaned);\n    } \n    else if (!usedEmojis.has(cleaned)) {\n      validatedEmojis.push(cleaned);\n      usedEmojis.add(cleaned);\n    } else {\n      let replacement = getRandomValidEmoji([...usedEmojis]);\n      validatedEmojis.push(replacement);\n      usedEmojis.add(replacement);\n    }\n  } else {\n    let replacement = getRandomValidEmoji([...usedEmojis]);\n    validatedEmojis.push(replacement);\n    if (!allowDuplicates) {\n      usedEmojis.add(replacement);\n    }\n  }\n}\n\nwhile (validatedEmojis.length < requestedCount) {\n  let newEmoji = getRandomValidEmoji([...usedEmojis]);\n  validatedEmojis.push(newEmoji);\n  usedEmojis.add(newEmoji);\n}\n\n// Output with message ID and chat ID\nconst output = validatedEmojis.map((emoji, index) => ({\n  emoji: emoji,\n  botToken: botTokens[index % botTokens.length],\n  chatId: chatId,\n  messageId: messageId\n}));\n\nreturn output;"
      },
      "typeVersion": 2
    },
    {
      "id": "cd448fc1-a9da-4119-b9bd-812cd7d6e521",
      "name": "Debugging",
      "type": "n8n-nodes-base.code",
      "position": [
        -96,
        832
      ],
      "parameters": {
        "jsCode": "// Debug - check what we're sending\nconst items = $input.all();\n\nconsole.log(\"Total items:\", items.length);\nitems.forEach((item, index) => {\n  console.log(`Item ${index}:`, {\n    emoji: item.json.emoji,\n    chatId: item.json.chatId,\n    messageId: item.json.messageId,\n    botToken: item.json.botToken.substring(0, 20) + \"...\" // Don't log full token\n  });\n});\n\nreturn items;"
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "18398cb2-0854-4f07-be6c-d78ee911d8c8",
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "21d9e004-8b32-428f-ad10-a9486bda6652",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "547b3785-236b-4bf9-9cce-8cbe796ea5ba": {
      "main": [
        [
          {
            "node": "cd448fc1-a9da-4119-b9bd-812cd7d6e521",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cd448fc1-a9da-4119-b9bd-812cd7d6e521": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Limit",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fef6fa46-d0a0-4767-a092-594afd468205": {
      "main": [
        [
          {
            "node": "547b3785-236b-4bf9-9cce-8cbe796ea5ba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Chat Trigger": {
      "main": [
        [
          {
            "node": "fef6fa46-d0a0-4767-a092-594afd468205",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Soziale Medien, KI-Zusammenfassung

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes18
Kategorie2
Node-Typen9
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34