Assistant AI avancé pour Telegram

Ce workflow n8n transforme votre bot Telegram en un assistant AI puissant et réactif. Grâce à l'intégration avec OpenAI, il peut comprendre et répondre aux messages dans la langue de l'utilisateur, offrant une expérience personnalisée et engageante. En outre, il permet de créer des images personnalisées sur demande, enrichissant ainsi les interactions utilisateurs. Ce workflow est idéal pour ceux qui cherchent à améliorer l'engagement utilisateur et à offrir un support automatisé de haute qualité.

8,845 vues
3,619 copies
Communication

Documentation Complète

📋 Assistant AI avancé pour Telegram

💡 Description

Ce workflow n8n transforme votre bot Telegram en un assistant AI puissant et réactif. Grâce à l'intégration avec OpenAI, il peut comprendre et répondre aux messages dans la langue de l'utilisateur, offrant une expérience personnalisée et engageante. En outre, il permet de créer des images personnalisées sur demande, enrichissant ainsi les interactions utilisateurs. Ce workflow est idéal pour ceux qui cherchent à améliorer l'engagement utilisateur et à offrir un support automatisé de haute qualité.

📈 Impact & ROI: Amélioration significative de l'engagement utilisateur et optimisation du temps de réponse aux demandes grâce à l'automatisation intelligente.

🚀 Fonctionnalités Clés

  • ✅ Intégration avancée avec OpenAI pour des réponses AI personnalisées
  • ✅ Création d'images sur demande via commandes spécifiques
  • ✅ Réponses multilingues adaptées à chaque utilisateur
  • ✅ Expérience utilisateur enrichie avec des actions de chat dynamiques

📊 Architecture Technique

16
Nodes
9
Connexions
2
Services

🔌 Services Intégrés

TelegramOpenAI

🔧 Composition du Workflow

NodeTypeDescription
Telegram TriggertelegramTriggerTraitement des données
CheckCommandswitchTraitement des données
Sticky NotestickyNoteTraitement des données
SettingssetTraitement des données
Sticky Note1stickyNoteTraitement des données
Sticky Note2stickyNoteTraitement des données
Chat_modeopenAiTraitement des données
GreetingopenAiTraitement des données
Text replytelegramTraitement des données
Send Typing actiontelegramTraitement des données
MergemergeFusion de plusieurs branches de données
Sticky Note3stickyNoteTraitement des données
Create an imageopenAiTraitement des données
Send error messagetelegramTraitement des données
Send imagetelegramTraitement des données
PreProcessingsetTraitement des données

📖 Guide d'Implémentation

  1. Import du workflow: Téléchargez le fichier JSON et importez-le dans votre instance n8n
  2. Configuration des credentials: Configurez les accès pour chaque service utilisé
  3. Personnalisation: Adaptez les paramètres selon vos besoins spécifiques
  4. Test: Exécutez le workflow en mode test pour vérifier le bon fonctionnement
  5. Activation: Activez le workflow pour une exécution automatique

🏷️ Tags

TelegramAIOpenAIAutomationChatbot

Structure JSON

Voir le code JSON complet
{
    "id": "177",
    "meta": {
        "instanceId": "dfdeafd1c3ed2ee08eeab8c2fa0c3f522066931ed8138ccd35dc20a1e69decd3"
    },
    "name": "Telegram AI-bot",
    "tags": [
        {
            "id": "15",
            "name": "tutorial",
            "createdAt": "2022-10-04T20:07:25.607Z",
            "updatedAt": "2022-10-04T20:07:25.607Z"
        }
    ],
    "nodes": [
        {
            "id": "ea71a467-a646-4aca-b72e-cef1249c74e2",
            "name": "Telegram Trigger",
            "type": "n8n-nodes-base.telegramTrigger",
            "position": [
                20,
                340
            ],
            "webhookId": "51942fbb-ca0e-4ec4-9423-5fcc7d3c4281",
            "parameters": {
                "updates": [
                    "*"
                ],
                "additionalFields": []
            },
            "credentials": {
                "telegramApi": {
                    "id": "70",
                    "name": "Telegram bot"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "1cbe43d4-ea8b-4178-bc10-4bfad7abe143",
            "name": "CheckCommand",
            "type": "n8n-nodes-base.switch",
            "position": [
                980,
                360
            ],
            "parameters": {
                "rules": {
                    "rules": [
                        {
                            "value2": "\/",
                            "operation": "notStartsWith"
                        },
                        {
                            "output": 1,
                            "value2": "\/start",
                            "operation": "startsWith"
                        },
                        {
                            "output": 2,
                            "value2": "=\/image ",
                            "operation": "startsWith"
                        }
                    ]
                },
                "value1": "={{ $json.message?.text }}",
                "dataType": "string",
                "fallbackOutput": 3
            },
            "typeVersion": 1
        },
        {
            "id": "074e907f-634b-4242-b669-33fa064f8472",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1600,
                581.661764705882
            ],
            "parameters": {
                "width": 316.1071428571428,
                "height": 231.22373949579838,
                "content": "## Error fallback for unsupported commands"
            },
            "typeVersion": 1
        },
        {
            "id": "2aa961b8-f0af-4d5c-a6af-1be56ea4b2e6",
            "name": "Settings",
            "type": "n8n-nodes-base.set",
            "position": [
                380,
                340
            ],
            "parameters": {
                "values": {
                    "number": [
                        {
                            "name": "model_temperature",
                            "value": 0.8
                        },
                        {
                            "name": "token_length",
                            "value": 500
                        }
                    ],
                    "string": [
                        {
                            "name": "system_command",
                            "value": "=You are a friendly chatbot. User name is {{ $json?.message?.from?.first_name }}. User system language is {{ $json?.message?.from?.language_code }}. First, detect user text language. Next, provide your reply in the same language. Include several suitable emojis in your answer."
                        },
                        {
                            "name": "bot_typing",
                            "value": "={{ $json?.message?.text.startsWith('\/image') ? \"upload_photo\" : \"typing\" }}"
                        }
                    ]
                },
                "options": []
            },
            "typeVersion": 2
        },
        {
            "id": "2d2fe268-1e3e-483b-847c-4412e586c1ca",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1240,
                -240
            ],
            "parameters": {
                "width": 330.5019024637719,
                "height": 233,
                "content": "## Chatbot mode by default\n### (when no command is provided)"
            },
            "typeVersion": 1
        },
        {
            "id": "09a9c0b4-ac6e-46eb-b2e0-ef2b55e94ada",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1240,
                20
            ],
            "parameters": {
                "width": 330.7863484403046,
                "height": 219.892857142857,
                "content": "## Welcome message\n### \/start"
            },
            "typeVersion": 1
        },
        {
            "id": "088cffee-5720-488b-a4ec-cfdccbf77e75",
            "name": "Chat_mode",
            "type": "n8n-nodes-base.openAi",
            "position": [
                1340,
                -160
            ],
            "parameters": {
                "model": "gpt-4",
                "prompt": {
                    "messages": [
                        {
                            "role": "system",
                            "content": "={{ $json.system_command }}"
                        },
                        {
                            "content": "={{ $json.message.text }}"
                        }
                    ]
                },
                "options": {
                    "maxTokens": "={{ $json.token_length }}",
                    "temperature": "={{ $json.model_temperature }}"
                },
                "resource": "chat"
            },
            "credentials": {
                "openAiApi": {
                    "id": "63",
                    "name": "OpenAi account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "41248697-6474-4a8f-a8b8-038c96465948",
            "name": "Greeting",
            "type": "n8n-nodes-base.openAi",
            "position": [
                1340,
                80
            ],
            "parameters": {
                "prompt": {
                    "messages": [
                        {
                            "role": "system",
                            "content": "={{ $json.system_command }}"
                        },
                        {
                            "content": "=This is the first message from a user. Please welcome a new user in `{{ $json.message.from.language_code }}` language"
                        }
                    ]
                },
                "options": {
                    "maxTokens": "={{ $json.token_length }}",
                    "temperature": "={{ $json.model_temperature }}"
                },
                "resource": "chat"
            },
            "credentials": {
                "openAiApi": {
                    "id": "63",
                    "name": "OpenAi account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "20c2e7fa-5d65-441b-8d1d-a8d46c624964",
            "name": "Text reply",
            "type": "n8n-nodes-base.telegram",
            "position": [
                1700,
                -40
            ],
            "parameters": {
                "text": "={{ $json.message.content }}",
                "chatId": "={{ $('Settings').first().json.message.from.id }}",
                "additionalFields": {
                    "parse_mode": "Markdown"
                }
            },
            "credentials": {
                "telegramApi": {
                    "id": "70",
                    "name": "Telegram bot"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "30321276-ebe1-41ac-b420-9dab8daa405b",
            "name": "Send Typing action",
            "type": "n8n-nodes-base.telegram",
            "position": [
                580,
                480
            ],
            "parameters": {
                "action": "={{ $json.bot_typing }}",
                "chatId": "={{ $json.message.from.id }}",
                "operation": "sendChatAction"
            },
            "credentials": {
                "telegramApi": {
                    "id": "70",
                    "name": "Telegram bot"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "7d7ff2e8-b0ca-4638-a056-f7b4e2e6273d",
            "name": "Merge",
            "type": "n8n-nodes-base.merge",
            "position": [
                800,
                360
            ],
            "parameters": {
                "mode": "chooseBranch"
            },
            "typeVersion": 2.1
        },
        {
            "id": "656bab5e-b7f7-47a1-8e75-4a17d2070290",
            "name": "Sticky Note3",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                1240,
                280
            ],
            "parameters": {
                "width": 329.7428571428562,
                "height": 233.8785714285713,
                "content": "## Create an image\n### \/image + request"
            },
            "typeVersion": 1
        },
        {
            "id": "ca2111d2-463a-4ef0-9436-ee09598dbf07",
            "name": "Create an image",
            "type": "n8n-nodes-base.openAi",
            "position": [
                1340,
                360
            ],
            "parameters": {
                "prompt": "={{ $json.message.text.split(' ').slice(1).join(' ') }}",
                "options": {
                    "n": 1,
                    "size": "512x512"
                },
                "resource": "image",
                "responseFormat": "imageUrl"
            },
            "credentials": {
                "openAiApi": {
                    "id": "63",
                    "name": "OpenAi account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "e91d616b-1d5e-40e8-8468-2d0b2dda4cf7",
            "name": "Send error message",
            "type": "n8n-nodes-base.telegram",
            "position": [
                1700,
                660
            ],
            "parameters": {
                "text": "=Sorry, {{ $json.message.from.first_name }}! This command is not supported yet. Please type some text to a chat bot or try this command:\n\/image \\[your prompt]\n\nEnter the command, then space and provide your request. Example:\n\n`\/image a picture or a cute little kitten with big eyes. Miyazaki studio ghibli style`",
                "chatId": "={{ $json.message.from.id }}",
                "additionalFields": {
                    "parse_mode": "Markdown"
                }
            },
            "credentials": {
                "telegramApi": {
                    "id": "70",
                    "name": "Telegram bot"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "125e27d2-b03b-4f02-9dd1-8fc81ecf0b6b",
            "name": "Send image",
            "type": "n8n-nodes-base.telegram",
            "position": [
                1700,
                360
            ],
            "parameters": {
                "file": "={{ $json.url }}",
                "chatId": "={{ $('Settings').first().json.message.from.id }}",
                "operation": "sendPhoto",
                "additionalFields": []
            },
            "credentials": {
                "telegramApi": {
                    "id": "70",
                    "name": "Telegram bot"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "730a51ac-223e-4956-be7f-166eadb6ed81",
            "name": "PreProcessing",
            "type": "n8n-nodes-base.set",
            "position": [
                200,
                340
            ],
            "parameters": {
                "values": {
                    "string": [
                        {
                            "name": "message.text",
                            "value": "={{ $json?.message?.text || \"\" }}"
                        }
                    ]
                },
                "options": {
                    "dotNotation": true
                }
            },
            "typeVersion": 2
        }
    ],
    "active": true,
    "pinData": [],
    "settings": {
        "callerPolicy": "workflowsFromSameOwner",
        "saveManualExecutions": true,
        "saveDataSuccessExecution": "all"
    },
    "versionId": "6ab99e3f-845d-42cc-847b-37cf19a72e93",
    "connections": {
        "Merge": {
            "main": [
                [
                    {
                        "node": "CheckCommand",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Greeting": {
            "main": [
                [
                    {
                        "node": "Text reply",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Settings": {
            "main": [
                [
                    {
                        "node": "Send Typing action",
                        "type": "main",
                        "index": 0
                    },
                    {
                        "node": "Merge",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Chat_mode": {
            "main": [
                [
                    {
                        "node": "Text reply",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "CheckCommand": {
            "main": [
                [
                    {
                        "node": "Chat_mode",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Greeting",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Create an image",
                        "type": "main",
                        "index": 0
                    }
                ],
                [
                    {
                        "node": "Send error message",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "PreProcessing": {
            "main": [
                [
                    {
                        "node": "Settings",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Create an image": {
            "main": [
                [
                    {
                        "node": "Send image",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Telegram Trigger": {
            "main": [
                [
                    {
                        "node": "PreProcessing",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Send Typing action": {
            "main": [
                [
                    {
                        "node": "Merge",
                        "type": "main",
                        "index": 1
                    }
                ]
            ]
        }
    }
}
                                

Workflows Similaires

Automatisez vos appels vocaux avec la synthèse vocale

Ce workflow n8n vous permet de transformer des messages texte en appels vocaux automatisés grâce à l'API ClickSend. I...

Automatisez vos Emails avec l'Agent IA Professionnel

Optimisez la gestion de vos emails grâce à ce workflow d'automatisation avancé. Conçu pour les entreprises cherchant...

Surveillez les Mentions Twitter avec RocketChat

Ce workflow automatise la surveillance des mentions Twitter de votre marque, en l'occurrence @n8n_io, et vous informe in...