8
n8n 中文网amn8n.com

基于命令的Telegram文章摘要和图像提示机器人

中级

这是一个AI, Marketing领域的自动化工作流,包含 12 个节点。主要使用 If, Html, Telegram, HttpRequest, TelegramTrigger 等节点,结合人工智能技术实现智能自动化。 基于命令的Telegram机器人,用于文章摘要和图像提示生成

前置要求
  • Telegram Bot Token
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "5aaf4236c70e34e423fbdb2c7b754d19253a933bb1476d548f75848a01e473cf",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "3da9ae2c-8134-437b-8ada-dcbee9c7fca5",
      "name": "Route: Check for Help Command",
      "type": "n8n-nodes-base.if",
      "notes": "Checks if incoming message starts with /help command and routes accordingly",
      "position": [
        -1680,
        180
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json[\"message\"][\"text\"]}}",
              "value2": "/help",
              "operation": "startsWith"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "70602bcc-9395-4fc6-bfbe-e6df5819e6e7",
      "name": "Response: Send Help Menu",
      "type": "n8n-nodes-base.telegram",
      "notes": "Sends formatted help message with available commands and usage examples",
      "position": [
        -1420,
        -220
      ],
      "webhookId": "ab573ae8-05e4-41bb-bec7-fca1233fc0bb",
      "parameters": {
        "text": "🤖 *Help Menu*\n\nUse `/summary <link>` to summarize an article.\nUse `/img <prompt>` to generate an image.\n\n_Example:_\n/summary https://example.com\n/img a futuristic cityscape",
        "chatId": "={{$json[\"message\"][\"chat\"][\"id\"]}}",
        "additionalFields": {
          "parse_mode": "Markdown"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "df301046-be3d-4612-aeb3-c1138968a32e",
      "name": "Route: Check for Summary Command",
      "type": "n8n-nodes-base.if",
      "notes": "Identifies /summary commands and routes them to the article summarization workflow",
      "position": [
        -1400,
        100
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json[\"message\"][\"text\"]}}",
              "value2": "/summary",
              "operation": "startsWith"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3c0f03df-5244-48b0-a9f6-249547b4a4a1",
      "name": "Route: Check for Image Command",
      "type": "n8n-nodes-base.if",
      "notes": "Detects /img commands and routes them to the image generation workflow",
      "position": [
        -980,
        340
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json[\"message\"][\"text\"]}}",
              "value2": "/img",
              "operation": "startsWith"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f182faa1-0171-4794-9735-3c84986754fb",
      "name": "Response: Send Article Summary",
      "type": "n8n-nodes-base.telegram",
      "notes": "Sends the AI-generated article summary back to the user via Telegram",
      "position": [
        -140,
        -80
      ],
      "webhookId": "c6f19898-b638-4e42-b377-d7664087ab0b",
      "parameters": {
        "text": "={{$json[\"candidates\"][0][\"content\"][\"parts\"][0][\"text\"]}}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "301a03bc-50dc-46fe-b423-039f4e3ea7dd",
      "name": "Response: Send Image Generation Notice",
      "type": "n8n-nodes-base.telegram",
      "notes": "Notifies user that image generation request was processed (placeholder for actual image generation)",
      "position": [
        -20,
        280
      ],
      "webhookId": "b5fb6529-a924-4885-8d6c-17073ce29bb0",
      "parameters": {
        "text": "🖼️ Generated image prompt submitted! Gemini image model doesn't return images directly. Use image generation APIs like Stability for actual image URLs.",
        "chatId": "={{$json[\"message\"][\"chat\"][\"id\"]}}",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "0204de3d-cfdf-4562-927b-f65777aaaeb1",
      "name": "Trigger: Telegram Webhook",
      "type": "n8n-nodes-base.telegramTrigger",
      "notes": "Listens for incoming messages from Telegram bot and initiates the workflow",
      "position": [
        -1940,
        20
      ],
      "webhookId": "61f2e55d-a41d-4594-a045-154264c78738",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "caba10fb-e86c-480b-ab81-c6a42976683b",
      "name": "Fetch: Download Article Content",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "Downloads the HTML content from the provided URL with proper user agent headers",
      "position": [
        -1040,
        -20
      ],
      "parameters": {
        "url": "={{ $json.message.link_preview_options.url }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a61c2bd8-7b6d-4710-b453-086905aae741",
      "name": "Parse: Extract Text from HTML",
      "type": "n8n-nodes-base.html",
      "notes": "Extracts clean text content from HTML, excluding navigation elements and images",
      "position": [
        -820,
        -20
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "text",
              "cssSelector": "body",
              "skipSelectors": "svg, a"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "318cbba7-3240-44f8-be69-33738db1c97d",
      "name": "AI: Generate Article Summary",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "Uses OpenAI to create a structured summary with 10-12 bullet points from the extracted article text",
      "position": [
        -600,
        -20
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=Summarize the entire content provided below into 10–12 concise bullet points. Ensure each point captures a unique and important aspect of the information, covering the core ideas, key facts, major findings, and essential takeaways. Avoid repetition and use clear, professional language suitable for quick understanding by a decision-maker.\n\nContent:\n {{ $json.text }}"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "7dME1fmMlkFyzFjq",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "da0dcfc6-6064-4983-801f-fd45a5034a62",
      "name": "AI: Process Image Generation Request",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "Processes image generation request using OpenAI (currently returns text response instead of actual image)",
      "position": [
        -760,
        240
      ],
      "parameters": {
        "options": {},
        "resource": "image"
      },
      "typeVersion": 1.8
    },
    {
      "id": "50af4fa8-dc8a-4ef6-82b8-f37c17919b2b",
      "name": "StickyNote",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2700,
        -360
      ],
      "parameters": {
        "width": 600,
        "height": 880,
        "content": "# 🤖 Telegram Multi-Function Bot Workflow\n\n**Purpose:** This workflow creates a Telegram bot that handles multiple commands for article summarization and image generation.\n\n**Supported Commands:**\n- `/help` - Shows available commands and usage examples\n- `/summary <URL>` - Fetches and summarizes articles from web links\n- `/img <prompt>` - Processes image generation requests (currently placeholder)\n\n**Flow Logic:**\n1. Telegram webhook receives all messages\n2. Command routing checks message content and directs to appropriate handler\n3. Article summarization: URL → HTTP fetch → HTML parsing → AI summary → Response\n4. Image generation: Prompt processing → AI handling → Response notification\n\n**Note:** Image generation currently returns text confirmation instead of actual images. Consider integrating with Stability AI or similar services for real image generation."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Response: Send Help Menu": {
      "main": [
        [
          {
            "node": "Route: Check for Help Command",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger: Telegram Webhook": {
      "main": [
        [
          {
            "node": "Route: Check for Help Command",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Generate Article Summary": {
      "main": [
        [
          {
            "node": "Response: Send Article Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse: Extract Text from HTML": {
      "main": [
        [
          {
            "node": "AI: Generate Article Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route: Check for Help Command": {
      "main": [
        [
          {
            "node": "Response: Send Help Menu",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Route: Check for Summary Command",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route: Check for Image Command": {
      "main": [
        [
          {
            "node": "AI: Process Image Generation Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch: Download Article Content": {
      "main": [
        [
          {
            "node": "Parse: Extract Text from HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route: Check for Summary Command": {
      "main": [
        [
          {
            "node": "Fetch: Download Article Content",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Route: Check for Image Command",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI: Process Image Generation Request": {
      "main": [
        [
          {
            "node": "Response: Send Image Generation Notice",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 人工智能, 营销

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量12
分类2
节点类型7
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
Yaron Been

Yaron Been

@yaron-nofluff

Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host

外部链接
在 n8n.io 查看

分享此工作流