500 lines
29 KiB
JSON
500 lines
29 KiB
JSON
{
|
|
"updatedAt": "2025-11-29T10:45:11.000Z",
|
|
"createdAt": "2025-11-11T20:49:50.649Z",
|
|
"id": "Gd9XJHdc1J3gFMiS",
|
|
"name": "MyDealz Kommentare",
|
|
"active": true,
|
|
"isArchived": false,
|
|
"nodes": [
|
|
{
|
|
"parameters": {
|
|
"operation": "runCustomScript",
|
|
"scriptCode": "=// Navigate to an IP lookup service\nawait $page.setViewport({\n width: 1024,\n height: 768,\n deviceScaleFactor: 1,\n});\n\nconst deal_url = $json.message.link_preview_options.url;\n\nawait $page.goto(deal_url, { waitUntil: ['load', 'domcontentloaded'] });\n\n\n// Extract the IP address from the page content\nconst selector = 'button[data-t=\"acceptAll\"]';\n//const banner = 'div.popover-content.flex--inline';\n\nawait Promise.all([\nawait $page.waitForSelector(selector, { visible: true }),\nawait $page.evaluate((selector) => \ndocument.querySelector(selector).click(), selector),\n]);\n\n\n\n\n//await $page.click(selector);\n\nconst cookies = await $page.cookies();\n\nreturn [{ cookies }, {\"url\": deal_url}];",
|
|
"options": {
|
|
"launchArguments": {
|
|
"args": [
|
|
{
|
|
"arg": "--disable-features=HttpsFirstBalancedModeAutoEnable"
|
|
},
|
|
{
|
|
"arg": "--no-sandbox"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"type": "CUSTOM.puppeteer",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
144,
|
|
-208
|
|
],
|
|
"id": "b64956ef-5fd3-4978-971f-a2739b4de5b2",
|
|
"name": "Puppeteer: Cookie Banner click",
|
|
"onError": "continueRegularOutput"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"operation": "runCustomScript",
|
|
"scriptCode": "=async function click_replies(page, selector_comment_body, selector_replies) {\n for (i = 0; i < 1; i++) {\n try {\n const comment_cnt = await page.evaluate((selector_comment_body) => {\n return document.querySelectorAll(selector_comment_body).length;\n }, selector_comment_body);\n\n await page.waitForSelector(selector_replies, { visible: true, timeout: 2000 });\n await page.evaluate((selector) =>\n document.querySelector(selector).click(), selector_replies);\n\n await page.waitForFunction(\n (selector, originalCount) => {\n return document.querySelectorAll(selector).length > originalCount;\n },\n { timeout: 10000 }, // Optional: Timeout anpassen\n selector_comment_body, // Argument 1 für die Funktion im Browser\n comment_cnt // Argument 2 für die Funktion im Browser\n );\n // Optional: Kurze menschliche Pause (0.5 bis 1 Sekunde), um Bot-Erkennung zu vermeiden\n await new Promise(r => setTimeout(r, 500 + Math.random() * 500));\n } catch (error) {\n console.log(\"Keine Antworten vorhanden\");\n break;\n }\n }\n}\n\nasync function extract_comments(page, data, selector_comment_body) {\n // Extract Comments\n data = data.concat(await page.evaluate((selector_comment_body) => {\n const commentNode = document.querySelectorAll(selector_comment_body);\n const commentsText = Array.from(commentNode).map(node => node.textContent.trim())\n return commentsText\n }, selector_comment_body));\n // Optional: Kurze menschliche Pause (0.5 bis 1 Sekunde), um Bot-Erkennung zu vermeiden\n await new Promise(r => setTimeout(r, 500 + Math.random() * 500));\n\n return data\n}\n\nconst { cookies } = $input.first().json;\ndeal_url = $input.last().json['url'];\n\nconst selector_replies = \"button[data-t='moreReplies']\";\nconst selector_comment_body = \".comment-body\";\nconst sel_next_page = \"::-p-aria(Nächste Seite)\";\nvar data = [];\n\n// Restore cookies\nawait $page.setCookie(...cookies);\n\n// Navigate to authenticated page\nawait $page.goto(deal_url);\n\ntry {\n\n for (i = 0; i < 10; i++) {\n //await click_replies($page, selector_comment_body, selector_replies);\n data = await extract_comments($page, data, selector_comment_body);\n\n await Promise.all([\n await $page.waitForSelector(sel_next_page),\n await $page.click(sel_next_page),\n ]);\n\n }\n\n} catch (error) {\n return [{ data }];\n}\n\nreturn [{ data }];",
|
|
"options": {
|
|
"launchArguments": {
|
|
"args": [
|
|
{
|
|
"arg": "--no-sandbox"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"type": "CUSTOM.puppeteer",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
464,
|
|
-208
|
|
],
|
|
"id": "4ae95d94-e70a-4bbf-a43d-5629e6504d40",
|
|
"name": "Puppeteer: Extract Comments",
|
|
"alwaysOutputData": false,
|
|
"executeOnce": true,
|
|
"onError": "continueRegularOutput"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"modelId": {
|
|
"__rl": true,
|
|
"value": "models/gemini-2.5-pro",
|
|
"mode": "list",
|
|
"cachedResultName": "models/gemini-2.5-pro"
|
|
},
|
|
"messages": {
|
|
"values": [
|
|
{
|
|
"content": "=[Deal Kommentare start]\n {{ $json.data }}\n[Deal Kommentare ende]"
|
|
}
|
|
]
|
|
},
|
|
"options": {
|
|
"systemMessage": "<Task> 1. Extrahiere alle Kommentartexte (auch annonyme) aus dem Anhang. 2. Cluster ähnliche Kommentartexte 3. Suche dir die aus jedem Cluster die 3 infomatiefste Kommentartexte heraus. 4. Weise den Kommentartexten, eine Unterkategorie zu. 5. Überprüfe die Zuordnung und entferne ähnliche Kommentare. 6. Alle Kategorien vorhanden? 7. Alle Unterkategorien vorhanden? 8. Fasse die Kommentare einer Kategorie zusammen 9. Überprüfe Richtigkeit und Vollständigkeit der Zusammenfassung. 10. Überführe in das Ausgabeformat </Task> <Ausgabeformat>: ## Kategorie \"[Kommentartextzusammenfassung]\" \"[Benutzernamen der Kommentarersteller]\" [Wiederhole das Format für alle Kategorien] </Ausgabeformat> <Kategorien> \t<Kategorie> \t\t<Titel>1. Detaillierte technische Informationen: </Titel> \t\t<Unterkategorie>Produktmerkmale und Einschränkungen </Unterkategorie> \t\t<Unterkategorie>Leistungsdaten und Spezifikationen </Unterkategorie> \t\t<Unterkategorie>Spezifische Informationen über die Eigenschaften, Vorteile oder Einschränkungen des Produkts </Unterkategorie> \t\t<Unterkategorie>Technische Details zur Verwendung oder Implementierung des Produkts</Unterkategorie> \t</Kategorie> \t<Kategorie> \t\t<Titel>2. Vergleiche und Alternativen:</Titel> \t\t<Unterkategorie>Hinweise auf bessere Angebote</Unterkategorie> \t\t<Unterkategorie>Kreative Alternativen oder Do-it-yourself-Lösungen</Unterkategorie> \t\t<Unterkategorie>Vergleiche des Produkts mit ähnlichen Produkten oder Alternativen</Unterkategorie> \t</Kategorie> \t<Kategorie> \t\t<Titel>3. Praxisnahe Einblicke:</Titel> \t\t<Unterkategorie>Antworten auf spezifische Funktionsfragen</Unterkategorie> \t\t<Unterkategorie>Erfahrungsberichte zur Produktnutzung</Unterkategorie> \t\t<Unterkategorie>Persönliche Erfahrungen oder Empfehlungen von Nutzern des Produkts</Unterkategorie> \t\t<Unterkategorie>Tipps zur Optimierung der Produktleistung oder zur Maximierung des Nutzens</Unterkategorie> \t</Kategorie> \t<Kategorie> \t\t<Titel>4. Angebotsinformationen:</Titel> \t\t<Unterkategorie>Aktualisierungen zur Produktverfügbarkeit</Unterkategorie> \t\t<Unterkategorie>Klarstellungen zu Angebotskonditionen</Unterkategorie> \t\t<Unterkategorie>Tipps für zusätzliche Einsparungen</Unterkategorie> \t\t<Unterkategorie>Preisinformationen, Rabatte oder Möglichkeiten, bessere Angebote zu erhalten</Unterkategorie> \t</Kategorie> \t<Kategorie> \t\t<Titel>5. Kritische Analyse:</Titel> \t\t<Unterkategorie>Bewertung des Produkts oder seiner Vermarktung</Unterkategorie> \t\t<Unterkategorie>Aufdecken von Vor- und Nachteilen</Unterkategorie> \t\t<Unterkategorie>Diskussion von Aspekten bezüglich Datenschutz, Sicherheit oder rechtliche Fragen im Zusammenhang mit dem Produkt</Unterkategorie> \t\t<Unterkategorie>Einblicke in das Unternehmen hinter dem Produkt oder dessen Geschäftspraktiken</Unterkategorie> \t</Kategorie> \t<Kategorie> \t\t<Titel>6. Spezifische Anwendungsfälle:</Titel> \t\t<Unterkategorie>Besondere Nutzungsszenarien</Unterkategorie> \t\t<Unterkategorie>Lösungen für individuelle Bedürfnisse</Unterkategorie> \t\t<Unterkategorie>Zusätzliche nützliche Informationen z.B. zusätzlich nutzbare Software, für einen nützlichen Anwendungsfall</Unterkategorie> \t\t<Unterkategorie>Beschreibung spezifischer Anwendungsfälle oder Szenarien, in denen das Produkt besonders nützlich ist</Unterkategorie> \t</Kategorie> \t<Kategorie> \t\t<Titel>7. Praktische Informationen:</Titel> \t\t<Unterkategorie>Hinweise zur Bestellabwicklung und Lieferung</Unterkategorie> \t\t<Unterkategorie>Actionable Informationen zur Einlösung des Angebots</Unterkategorie> \t\t<Unterkategorie>Korrektur oder Klärung von Informationen, die in anderen Kommentaren gegeben wurden</Unterkategorie> \t</Kategorie> \t<Kategorie> \t\t<Titel>8. Relevante Fragen und Antworten:</Titel> \t\t<Unterkategorie>Klärung offener Punkte zum Produkt oder Angebot</Unterkategorie> \t\t<Unterkategorie>Zusätzliche Informationen durch Community-Interaktionen</Unterkategorie> \t\t<Unterkategorie>Relevanz für Nischen- und Einzelfälle</Unterkategorie> \t</Kategorie> \t<Kategorie> \t\t<Titel>9. Maximale Ersparnis</Titel> \t\t<Unterkategorie>Art der zusätzlichen Ersparnisse</Unterkategorie> \t\t<Unterkategorie>Anleitung für das erreichen der Ersparnisse</Unterkategorie> \t\t<Unterkategorie>Mögliche Ersparnisse in</Unterkategorie> \t</Kategorie> </Kategorien> "
|
|
}
|
|
},
|
|
"type": "@n8n/n8n-nodes-langchain.googleGemini",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
672,
|
|
-208
|
|
],
|
|
"id": "cfab343c-9575-4e15-955c-a38e172f9c69",
|
|
"name": "Message a model",
|
|
"retryOnFail": true,
|
|
"waitBetweenTries": 5000,
|
|
"alwaysOutputData": false,
|
|
"credentials": {
|
|
"googlePalmApi": {
|
|
"id": "6aXxUOlrkR5WFZf4",
|
|
"name": "Google Gemini(PaLM) Api account"
|
|
}
|
|
},
|
|
"onError": "continueRegularOutput"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"chatId": "302560724",
|
|
"text": "={{ $json['content.parts[0].text'] }}",
|
|
"additionalFields": {}
|
|
},
|
|
"type": "n8n-nodes-base.telegram",
|
|
"typeVersion": 1.2,
|
|
"position": [
|
|
1424,
|
|
-208
|
|
],
|
|
"id": "dac5739d-6fee-4f3a-b63f-33b7cfee5dbd",
|
|
"name": "Send a text message",
|
|
"webhookId": "6bb12551-6d47-40b7-8ffc-594e66295b8f",
|
|
"credentials": {
|
|
"telegramApi": {
|
|
"id": "k5rX2fD1IwPWwuCY",
|
|
"name": "Telegram_mydealzcmts_bot"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"parameters": {
|
|
"updates": [
|
|
"message"
|
|
],
|
|
"additionalFields": {}
|
|
},
|
|
"type": "n8n-nodes-base.telegramTrigger",
|
|
"typeVersion": 1.2,
|
|
"position": [
|
|
-256,
|
|
16
|
|
],
|
|
"id": "b5577d9f-e3b6-4830-927a-f65b6170cf21",
|
|
"name": "Telegram Trigger",
|
|
"webhookId": "0b8adf5a-bb29-477a-838f-ee5310129206",
|
|
"credentials": {
|
|
"telegramApi": {
|
|
"id": "k5rX2fD1IwPWwuCY",
|
|
"name": "Telegram_mydealzcmts_bot"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"parameters": {
|
|
"rules": {
|
|
"values": [
|
|
{
|
|
"conditions": {
|
|
"options": {
|
|
"caseSensitive": true,
|
|
"leftValue": "",
|
|
"typeValidation": "strict",
|
|
"version": 2
|
|
},
|
|
"conditions": [
|
|
{
|
|
"leftValue": "={{ $json.message.from.id }}",
|
|
"rightValue": 302560724,
|
|
"operator": {
|
|
"type": "number",
|
|
"operation": "equals"
|
|
},
|
|
"id": "2db10cf2-017c-4794-b974-f735dbe45b39"
|
|
}
|
|
],
|
|
"combinator": "and"
|
|
}
|
|
},
|
|
{
|
|
"conditions": {
|
|
"options": {
|
|
"caseSensitive": true,
|
|
"leftValue": "",
|
|
"typeValidation": "strict",
|
|
"version": 2
|
|
},
|
|
"conditions": [
|
|
{
|
|
"id": "696fc53c-73ac-4a56-ae7f-c5b815155dde",
|
|
"leftValue": "={{ $json.message.from.id }}",
|
|
"rightValue": 288081595,
|
|
"operator": {
|
|
"type": "number",
|
|
"operation": "equals"
|
|
}
|
|
}
|
|
],
|
|
"combinator": "and"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"options": {}
|
|
},
|
|
"type": "n8n-nodes-base.switch",
|
|
"typeVersion": 3.3,
|
|
"position": [
|
|
-64,
|
|
-192
|
|
],
|
|
"id": "16a71ce9-f577-43b8-9d8e-a684bbb37dff",
|
|
"name": "Switch"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"operation": "runCustomScript",
|
|
"scriptCode": "=// Navigate to an IP lookup service\nawait $page.setViewport({\n width: 1024,\n height: 768,\n deviceScaleFactor: 1,\n});\n\nconst deal_url = $json.message.link_preview_options.url;\n\nawait $page.goto(deal_url, { waitUntil: ['load', 'domcontentloaded'] });\n\n\n\n// Extract the IP address from the page content\nconst selector = 'button[data-t=\"acceptAll\"]';\nawait $page.waitForSelector(selector, { visible: true });\nawait $page.click(selector);\n\nconst cookies = await $page.cookies();\n\nreturn [{ cookies }, {\"url\": deal_url}];",
|
|
"options": {
|
|
"launchArguments": {
|
|
"args": [
|
|
{
|
|
"arg": "--disable-features=HttpsFirstBalancedModeAutoEnable"
|
|
},
|
|
{
|
|
"arg": "--no-sandbox"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"type": "CUSTOM.puppeteer",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
144,
|
|
32
|
|
],
|
|
"id": "d370ee19-83b8-4f24-8bc1-e78c13c5f2d3",
|
|
"name": "Puppeteer: Cookie Banner click1",
|
|
"onError": "continueRegularOutput"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"operation": "runCustomScript",
|
|
"scriptCode": "=const { cookies } = $input.first().json;\n\ndeal_url = $input.last().json['url'];\n// Restore cookies\nawait $page.setCookie(...cookies);\n\n// Navigate to authenticated page\nawait $page.goto(deal_url);\n\nconst selector = '[data-t=\"moreReplies\"]';\nlet clicked_count = 0;\n\nconst reply_button_cnt = await $page.evaluate((selector) => {\n const reply_buttons = document.querySelectorAll(selector);\n return reply_buttons.length\n});\n\n\nawait $page.waitForSelector(selector, { visible: true });\nawait $page.click(selector)\n\n// await $page.waitForFunction(() => {\n// return document.querySelectorAll('button[data-t=\"moreReplies\"]').length < reply_button_cnt;\n// });\n\n\n// const allButtonHandles = await $page.$$(selector);\n// for (const buttonHandle of allButtonHandles){\n// await buttonHandle.click();\n// clicked_count++;\n// }\n\nif (clicked_count > 0) {\n\n }\n\n \n // while (comment_cnt_end < comment_cnt_start){\n // const comment_cnt_end = await $page.evaluate(() => {\n // const commentNode = document.querySelectorAll(\".comment-body\");\n // return commentNode.length\n // });\n// }\n// }\n\n\n// Perform authenticated operations\nconst data = await $page.evaluate(() => {\n const commentNode = document.querySelectorAll(\".comment-body\");\n const commentsText = Array.from(commentNode).map(node => node.textContent.trim())\n return commentsText\n});\n\nreturn [{ data }];",
|
|
"options": {
|
|
"launchArguments": {
|
|
"args": [
|
|
{
|
|
"arg": "--no-sandbox"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"type": "CUSTOM.puppeteer",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
464,
|
|
32
|
|
],
|
|
"id": "0c5ec1c0-2c36-4e7e-8907-7c47e060b170",
|
|
"name": "Puppeteer: Extract Comments1",
|
|
"alwaysOutputData": false,
|
|
"onError": "continueRegularOutput"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"modelId": {
|
|
"__rl": true,
|
|
"value": "models/gemini-2.5-pro",
|
|
"mode": "list",
|
|
"cachedResultName": "models/gemini-2.5-pro"
|
|
},
|
|
"messages": {
|
|
"values": [
|
|
{
|
|
"content": "=[Deal Kommentare start]\n {{ $json.data }}\n[Deal Kommentare ende]"
|
|
}
|
|
]
|
|
},
|
|
"options": {
|
|
"systemMessage": "Beschränke deine Antwort auf 4000 Zeichen.\n\n<Task> 1. Extrahiere alle Kommentartexte (auch annonyme) aus dem Anhang. 2. Cluster ähnliche Kommentartexte 3. Suche dir die aus jedem Cluster die 3 infomatiefste Kommentartexte heraus. 4. Weise den Kommentartexten, eine Unterkategorie zu. 5. Überprüfe die Zuordnung und entferne ähnliche Kommentare. 6. Alle Kategorien vorhanden? 7. Alle Unterkategorien vorhanden? 8. Fasse die Kommentare einer Kategorie zusammen 9. Überprüfe Richtigkeit und Vollständigkeit der Zusammenfassung. 10. Überführe in das Ausgabeformat </Task> <Ausgabeformat>: ## Kategorie \"[Kommentartextzusammenfassung]\" \"[Benutzernamen der Kommentarersteller]\" [Wiederhole das Format für alle Kategorien] </Ausgabeformat> <Kategorien> <Kategorie> <Titel>1. Detaillierte technische Informationen: </Titel> <Unterkategorie>Produktmerkmale und Einschränkungen </Unterkategorie> <Unterkategorie>Leistungsdaten und Spezifikationen </Unterkategorie> <Unterkategorie>Spezifische Informationen über die Eigenschaften, Vorteile oder Einschränkungen des Produkts </Unterkategorie> <Unterkategorie>Technische Details zur Verwendung oder Implementierung des Produkts</Unterkategorie> </Kategorie> <Kategorie> <Titel>2. Vergleiche und Alternativen:</Titel> <Unterkategorie>Hinweise auf bessere Angebote</Unterkategorie> <Unterkategorie>Kreative Alternativen oder Do-it-yourself-Lösungen</Unterkategorie> <Unterkategorie>Vergleiche des Produkts mit ähnlichen Produkten oder Alternativen</Unterkategorie> </Kategorie> <Kategorie> <Titel>3. Praxisnahe Einblicke:</Titel> <Unterkategorie>Antworten auf spezifische Funktionsfragen</Unterkategorie> <Unterkategorie>Erfahrungsberichte zur Produktnutzung</Unterkategorie> <Unterkategorie>Persönliche Erfahrungen oder Empfehlungen von Nutzern des Produkts</Unterkategorie> <Unterkategorie>Tipps zur Optimierung der Produktleistung oder zur Maximierung des Nutzens</Unterkategorie> </Kategorie> <Kategorie> <Titel>4. Angebotsinformationen:</Titel> <Unterkategorie>Aktualisierungen zur Produktverfügbarkeit</Unterkategorie> <Unterkategorie>Klarstellungen zu Angebotskonditionen</Unterkategorie> <Unterkategorie>Tipps für zusätzliche Einsparungen</Unterkategorie> <Unterkategorie>Preisinformationen, Rabatte oder Möglichkeiten, bessere Angebote zu erhalten</Unterkategorie> </Kategorie> <Kategorie> <Titel>5. Kritische Analyse:</Titel> <Unterkategorie>Bewertung des Produkts oder seiner Vermarktung</Unterkategorie> <Unterkategorie>Aufdecken von Vor- und Nachteilen</Unterkategorie> <Unterkategorie>Diskussion von Aspekten bezüglich Datenschutz, Sicherheit oder rechtliche Fragen im Zusammenhang mit dem Produkt</Unterkategorie> <Unterkategorie>Einblicke in das Unternehmen hinter dem Produkt oder dessen Geschäftspraktiken</Unterkategorie> </Kategorie> <Kategorie> <Titel>6. Spezifische Anwendungsfälle:</Titel> <Unterkategorie>Besondere Nutzungsszenarien</Unterkategorie> <Unterkategorie>Lösungen für individuelle Bedürfnisse</Unterkategorie> <Unterkategorie>Zusätzliche nützliche Informationen z.B. zusätzlich nutzbare Software, für einen nützlichen Anwendungsfall</Unterkategorie> <Unterkategorie>Beschreibung spezifischer Anwendungsfälle oder Szenarien, in denen das Produkt besonders nützlich ist</Unterkategorie> </Kategorie> <Kategorie> <Titel>7. Praktische Informationen:</Titel> <Unterkategorie>Hinweise zur Bestellabwicklung und Lieferung</Unterkategorie> <Unterkategorie>Actionable Informationen zur Einlösung des Angebots</Unterkategorie> <Unterkategorie>Korrektur oder Klärung von Informationen, die in anderen Kommentaren gegeben wurden</Unterkategorie> </Kategorie> <Kategorie> <Titel>8. Relevante Fragen und Antworten:</Titel> <Unterkategorie>Klärung offener Punkte zum Produkt oder Angebot</Unterkategorie> <Unterkategorie>Zusätzliche Informationen durch Community-Interaktionen</Unterkategorie> <Unterkategorie>Relevanz für Nischen- und Einzelfälle</Unterkategorie> </Kategorie> </Kategorien> \n\n"
|
|
}
|
|
},
|
|
"type": "@n8n/n8n-nodes-langchain.googleGemini",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
672,
|
|
32
|
|
],
|
|
"id": "cb0a7f24-fdd1-48ec-9ae6-5f55d5605043",
|
|
"name": "Message a model1",
|
|
"retryOnFail": true,
|
|
"waitBetweenTries": 5000,
|
|
"alwaysOutputData": false,
|
|
"credentials": {
|
|
"googlePalmApi": {
|
|
"id": "6aXxUOlrkR5WFZf4",
|
|
"name": "Google Gemini(PaLM) Api account"
|
|
}
|
|
},
|
|
"onError": "continueRegularOutput"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"chatId": "288081595",
|
|
"text": "={{ $json.content.parts[0].text }}",
|
|
"additionalFields": {}
|
|
},
|
|
"type": "n8n-nodes-base.telegram",
|
|
"typeVersion": 1.2,
|
|
"position": [
|
|
1024,
|
|
32
|
|
],
|
|
"id": "8dcb1221-d839-43c6-89ad-51dd62f1b1b5",
|
|
"name": "Send a text message1",
|
|
"webhookId": "6bb12551-6d47-40b7-8ffc-594e66295b8f",
|
|
"credentials": {
|
|
"telegramApi": {
|
|
"id": "k5rX2fD1IwPWwuCY",
|
|
"name": "Telegram_mydealzcmts_bot"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"parameters": {
|
|
"assignments": {
|
|
"assignments": [
|
|
{
|
|
"id": "2ac7ecf2-66c7-4d27-ae23-2cf1243bcd19",
|
|
"name": "content.parts[0].text",
|
|
"value": "={{ $json.content.parts[0].text.match(/.{1,4000}/gs) }}",
|
|
"type": "array"
|
|
}
|
|
]
|
|
},
|
|
"options": {}
|
|
},
|
|
"type": "n8n-nodes-base.set",
|
|
"typeVersion": 3.4,
|
|
"position": [
|
|
1024,
|
|
-208
|
|
],
|
|
"id": "4b5c8103-75bd-4d55-86b2-0357786c3a5c",
|
|
"name": "Edit Fields"
|
|
},
|
|
{
|
|
"parameters": {
|
|
"fieldToSplitOut": "content.parts[0].text",
|
|
"options": {}
|
|
},
|
|
"type": "n8n-nodes-base.splitOut",
|
|
"typeVersion": 1,
|
|
"position": [
|
|
1232,
|
|
-208
|
|
],
|
|
"id": "1374c179-cec0-4775-bb25-711ed9b1a5c3",
|
|
"name": "Split Out"
|
|
}
|
|
],
|
|
"connections": {
|
|
"Puppeteer: Cookie Banner click": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Puppeteer: Extract Comments",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Puppeteer: Extract Comments": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Message a model",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Message a model": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Edit Fields",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Telegram Trigger": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Switch",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Switch": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Puppeteer: Cookie Banner click",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
],
|
|
[
|
|
{
|
|
"node": "Puppeteer: Cookie Banner click1",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Puppeteer: Cookie Banner click1": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Puppeteer: Extract Comments1",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Puppeteer: Extract Comments1": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Message a model1",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Message a model1": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Send a text message1",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Send a text message": {
|
|
"main": [
|
|
[]
|
|
]
|
|
},
|
|
"Edit Fields": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Split Out",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"Split Out": {
|
|
"main": [
|
|
[
|
|
{
|
|
"node": "Send a text message",
|
|
"type": "main",
|
|
"index": 0
|
|
}
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"settings": {
|
|
"executionOrder": "v1"
|
|
},
|
|
"staticData": null,
|
|
"meta": {
|
|
"templateCredsSetupCompleted": true
|
|
},
|
|
"pinData": {},
|
|
"versionId": "75cfaa92-571c-4336-8625-e4bb5f23d69f",
|
|
"triggerCount": 1,
|
|
"shared": [
|
|
{
|
|
"updatedAt": "2025-11-11T20:49:50.651Z",
|
|
"createdAt": "2025-11-11T20:49:50.651Z",
|
|
"role": "workflow:owner",
|
|
"workflowId": "Gd9XJHdc1J3gFMiS",
|
|
"projectId": "S4tmpzSj6JlGFOze"
|
|
}
|
|
],
|
|
"tags": []
|
|
} |