feat(01-01): create n8n workflow for telegram echo bot

- Telegram Trigger node listens for messages
- IF node authenticates via $env.TELEGRAM_USER_ID
- Code node formats echo with timestamp
- Telegram Send node replies to authorized users
- False branch has no connections (silent ignore)
This commit is contained in:
Lucas Berger
2026-01-28 19:47:39 -05:00
parent f330097906
commit 9d503bb9a8
+126
View File
@@ -0,0 +1,126 @@
{
"name": "Docker Manager Bot",
"nodes": [
{
"parameters": {
"updates": ["message"]
},
"id": "telegram-trigger",
"name": "Telegram Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"typeVersion": 1.1,
"position": [240, 300],
"credentials": {
"telegramApi": {
"id": "telegram-credential",
"name": "Telegram API"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "strict"
},
"conditions": [
{
"id": "user-auth-condition",
"leftValue": "={{ $json.message.from.id.toString() }}",
"rightValue": "={{ $env.TELEGRAM_USER_ID }}",
"operator": {
"type": "string",
"operation": "equals"
}
}
],
"combinator": "and"
},
"options": {}
},
"id": "if-auth",
"name": "IF User Authenticated",
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [460, 300]
},
{
"parameters": {
"jsCode": "const message = $input.item.json.message;\nconst timestamp = new Date().toISOString();\nconst text = message.text || '(no text)';\n\nreturn {\n json: {\n chatId: message.chat.id,\n text: `Got: ${text}\\n\\nProcessed: ${timestamp}`\n }\n};"
},
"id": "code-format-echo",
"name": "Format Echo",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [680, 240]
},
{
"parameters": {
"resource": "message",
"operation": "sendMessage",
"chatId": "={{ $json.chatId }}",
"text": "={{ $json.text }}",
"additionalFields": {
"parse_mode": "HTML"
}
},
"id": "telegram-send",
"name": "Send Echo",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1.2,
"position": [900, 240],
"credentials": {
"telegramApi": {
"id": "telegram-credential",
"name": "Telegram API"
}
}
}
],
"connections": {
"Telegram Trigger": {
"main": [
[
{
"node": "IF User Authenticated",
"type": "main",
"index": 0
}
]
]
},
"IF User Authenticated": {
"main": [
[
{
"node": "Format Echo",
"type": "main",
"index": 0
}
],
[]
]
},
"Format Echo": {
"main": [
[
{
"node": "Send Echo",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"staticData": null,
"tags": [],
"triggerCount": 1,
"active": false
}