Telegram-Bot
Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 15 Nodes. Hauptsächlich werden Set, Switch, Telegram, Agent, TelegramTrigger und andere Nodes verwendet. Erstelle einen Telegram-Bot, der auf Text- und Bilder antwortet, mit Google Gemini 2.5 Flash integriert
- •Telegram Bot Token
- •Google Gemini API Key
Verwendete Nodes (15)
Kategorie
{
"id": "pl3YbOUdHMsDTYFE",
"meta": {
"instanceId": "f21041c58ebe9ae27fd386689e649a871f62f45682ca1c57f2ff2f2e3c9a5999"
},
"name": "TelegramBOT",
"tags": [],
"nodes": [
{
"id": "sticky-note-main",
"name": "Notizzettel",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1100,
-300
],
"parameters": {
"color": 4,
"width": 460,
"height": 640,
"content": "## 📋 TELEGRAM AI BOT - SETUP GUIDE\n\n### 🎯 What This Workflow Does:\nThis is an intelligent Telegram bot that can:\n- Answer text messages using AI\n- Analyze images sent by users\n- Maintain conversation context/memory\n- Provide formatted, attractive responses\n\n### 🔧 Required Setup:\n\n**1. Telegram Bot Token:**\n - Create a bot via @BotFather on Telegram\n - Get your bot token\n - Add credentials in n8n (Telegram account)\n\n**2. Google Gemini API Key:**\n - Go to Google AI Studio (ai.google.dev)\n - Create API key\n - Add credentials in n8n (Google Gemini API account)\n\n**3. Webhook Configuration:**\n - Activate the workflow\n - The webhook URL will be automatically set\n\n### 📊 Workflow Flow:\n1. **Telegram Trigger** receives messages\n2. **Route Types** checks if message is text or image\n3. For text: Direct to AI agent\n4. For images: Download → Analyze → Send to AI agent\n5. **AI Agent** processes with memory context\n6. Response sent back to user\n\n### ⚠️ Important Notes:\n- Memory is per message ID (20 message context)\n- Image analysis uses Gemini 2.5 Flash\n- Responses are formatted for Telegram readability"
},
"typeVersion": 1
},
{
"id": "sticky-note-trigger",
"name": "Notizzettel1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-820,
-80
],
"parameters": {
"color": 5,
"width": 280,
"height": 160,
"content": "## 🚀 TRIGGER\nStarts when user sends a message to your Telegram bot.\n\nCaptures both text messages and images."
},
"typeVersion": 1
},
{
"id": "sticky-note-router",
"name": "Notizzettel2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
-80
],
"parameters": {
"color": 6,
"width": 260,
"height": 140,
"content": "## 🔀 ROUTING\nChecks message type:\n- TEXT: Route to text mapper\n- IMAGE: Route to image handler"
},
"typeVersion": 1
},
{
"id": "sticky-note-image",
"name": "Notizzettel3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-380,
160
],
"parameters": {
"color": 3,
"width": 360,
"height": 380,
"content": "## 🖼️ IMAGE PROCESSING\n1. Download image from Telegram\n2. Analyze with Gemini Vision\n3. Combine description + caption"
},
"typeVersion": 1
},
{
"id": "sticky-note-agent",
"name": "Notizzettel4",
"type": "n8n-nodes-base.stickyNote",
"position": [
280,
-80
],
"parameters": {
"color": 2,
"width": 300,
"height": 180,
"content": "## 🤖 AI AGENT\nGoogle Gemini processes the request with:\n- Conversation memory (20 messages)\n- Context-aware responses\n- Telegram-friendly formatting"
},
"typeVersion": 1
},
{
"id": "568a5011-79b3-4660-88d9-c8b4c7c4519d",
"name": "Wissensdatenbank-Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
352,
64
],
"parameters": {
"text": "=Use these Descriptions to reply with a message to the user according to his question simply, shortly, and make sure he understand the thing he attaches:\n\n\"\" {{ $json.text }} \"\"\n\n\nI need your output message to be well spaced and formatted and look as attractive as possible for a telegram response!",
"options": {
"systemMessage": ""
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "0c3f40bf-3773-4f7b-8b88-404e872d1188",
"name": "Einfacher Speicher",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
400,
464
],
"parameters": {
"sessionKey": "=memory_{{ $('Telegram Trigger').item.json.message.message_id }}",
"sessionIdType": "customKey",
"contextWindowLength": 20
},
"typeVersion": 1.3
},
{
"id": "74a1218b-fb53-450c-8462-ccad268ad7ee",
"name": "Bild-Prompt zuordnen",
"type": "n8n-nodes-base.set",
"position": [
128,
272
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "48af2dcc-4ce9-45fc-abfc-54f803930092",
"name": "text",
"type": "string",
"value": "=User image description:\n\n{{ $json.content.parts[0].text }}\n\nUser image caption: {{ $('Telegram Trigger').item.json.message.caption }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "85b4e665-2468-40c1-aa99-bd67e048d9fb",
"name": "Text-Prompt zuordnen",
"type": "n8n-nodes-base.set",
"position": [
-96,
-208
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "38aec976-a32c-4b0e-85f4-c90adc16abc9",
"name": "text",
"type": "string",
"value": "={{ $json.messages[0].text.body }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "482edd25-6a05-45cd-bb1f-c11d451938f5",
"name": "Routentypen",
"type": "n8n-nodes-base.switch",
"position": [
-544,
64
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Text",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2fc5c912-629b-4cbe-b5e3-7e3f0651c628",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.text }}",
"rightValue": "text"
}
]
},
"renameOutput": true
},
{
"outputKey": "Image",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "840b95b8-6559-4fb7-b32c-651451d6d0d2",
"operator": {
"type": "object",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.photo[2] }}",
"rightValue": "image"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "5cf1706c-cd33-4def-a99d-958d51654088",
"name": "Google Gemini Chat-Modell",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
240,
464
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "dBVkcKvaggEaTZ3w",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "46fd3fa6-5261-4fcf-b148-52a7ce0b2c43",
"name": "Bild analysieren",
"type": "@n8n/n8n-nodes-langchain.googleGemini",
"position": [
-96,
272
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "models/gemini-2.5-flash",
"cachedResultName": "models/gemini-2.5-flash"
},
"options": {},
"resource": "image",
"inputType": "binary",
"operation": "analyze"
},
"credentials": {
"googlePalmApi": {
"id": "dBVkcKvaggEaTZ3w",
"name": "Google Gemini(PaLM) Api account"
}
},
"typeVersion": 1
},
{
"id": "5b5f176c-7d2d-4db2-9f55-cc4dc18f6d4a",
"name": "Telegram-Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
-768,
64
],
"webhookId": "049da2eb-7ce1-4efd-820f-6a700adea8b6",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"typeVersion": 1.2,
"alwaysOutputData": false
},
{
"id": "6489c29a-2c59-4362-916a-605f3e63c866",
"name": "Datei abrufen",
"type": "n8n-nodes-base.telegram",
"position": [
-320,
272
],
"webhookId": "d1b193c3-236e-4bed-be47-d0e156960d35",
"parameters": {
"fileId": "={{ $json.message.photo[2].file_id }}",
"resource": "file",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "Q0bwwwn2wzmbamLh",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "7b1b528f-4e3e-48d3-bc33-638fa4a3f446",
"name": "Textnachricht senden",
"type": "n8n-nodes-base.telegram",
"position": [
704,
64
],
"webhookId": "53b5dc25-a9ea-47b4-87b7-274984c1115d",
"parameters": {
"text": "={{ $json.output }}",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "Q0bwwwn2wzmbamLh",
"name": "Telegram account"
}
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "332b36b7-0523-4d91-9ec6-0cb0b948d7f2",
"connections": {
"6489c29a-2c59-4362-916a-605f3e63c866": {
"main": [
[
{
"node": "46fd3fa6-5261-4fcf-b148-52a7ce0b2c43",
"type": "main",
"index": 0
}
]
]
},
"482edd25-6a05-45cd-bb1f-c11d451938f5": {
"main": [
[
{
"node": "85b4e665-2468-40c1-aa99-bd67e048d9fb",
"type": "main",
"index": 0
}
],
[
{
"node": "6489c29a-2c59-4362-916a-605f3e63c866",
"type": "main",
"index": 0
}
]
]
},
"46fd3fa6-5261-4fcf-b148-52a7ce0b2c43": {
"main": [
[
{
"node": "74a1218b-fb53-450c-8462-ccad268ad7ee",
"type": "main",
"index": 0
}
]
]
},
"0c3f40bf-3773-4f7b-8b88-404e872d1188": {
"ai_memory": [
[
{
"node": "568a5011-79b3-4660-88d9-c8b4c7c4519d",
"type": "ai_memory",
"index": 0
}
]
]
},
"85b4e665-2468-40c1-aa99-bd67e048d9fb": {
"main": [
[
{
"node": "568a5011-79b3-4660-88d9-c8b4c7c4519d",
"type": "main",
"index": 0
}
]
]
},
"74a1218b-fb53-450c-8462-ccad268ad7ee": {
"main": [
[
{
"node": "568a5011-79b3-4660-88d9-c8b4c7c4519d",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "482edd25-6a05-45cd-bb1f-c11d451938f5",
"type": "main",
"index": 0
}
]
]
},
"568a5011-79b3-4660-88d9-c8b4c7c4519d": {
"main": [
[
{
"node": "7b1b528f-4e3e-48d3-bc33-638fa4a3f446",
"type": "main",
"index": 0
}
]
]
},
"5cf1706c-cd33-4def-a99d-958d51654088": {
"ai_languageModel": [
[
{
"node": "568a5011-79b3-4660-88d9-c8b4c7c4519d",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}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?
Fortgeschritten - Content-Erstellung, Multimodales KI
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.
Verwandte Workflows
Ahmed Sherif
@asherif08Diesen Workflow teilen