Interaktiver Russisch-Tutor-Bot basierend auf GPT-4o und Telegram

Experte

Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 16 Nodes. Hauptsächlich werden Set, Switch, Telegram, AimlApi, TelegramTrigger und andere Nodes verwendet. Interaktiver russischer Tutoren-Bot basierend auf GPT-4o und Telegram

Voraussetzungen
  • Telegram Bot Token
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "e95138f4feafe21ee6a9aac976bfd8e9187993130e7b713ed219f955c1b8837d"
  },
  "nodes": [
    {
      "id": "5c259a9b-75bc-4873-bbc2-34a913c46e21",
      "name": "Start: Nachricht empfangen auf Telegram",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -368,
        848
      ],
      "webhookId": "b04097ef-4484-4648-aee4-d3652537c8c3",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "30a57d49-8269-48ac-ac31-7873341c3afa",
      "name": "Nach Eingabetyp weiterleiten",
      "type": "n8n-nodes-base.switch",
      "position": [
        80,
        816
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Vocabulary",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "71a70192-b1c2-44fc-9e0b-cad9cc5eaac4",
                    "operator": {
                      "type": "string",
                      "operation": "startsWith"
                    },
                    "leftValue": "={{ $('Start: Receive Message on Telegram').item.json.message.text }}",
                    "rightValue": "#vocabulary"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Grammar",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "1b5b1c7e-99e9-4e6d-a050-2d3c1c22c236",
                    "operator": {
                      "type": "string",
                      "operation": "startsWith"
                    },
                    "leftValue": "={{ $('Start: Receive Message on Telegram').item.json.message.text }}",
                    "rightValue": "#grammar"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Quiz",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "a9ad78e2-623b-4d1b-b0b8-bdaebf8bd71c",
                    "operator": {
                      "type": "string",
                      "operation": "startsWith"
                    },
                    "leftValue": "={{ $('Start: Receive Message on Telegram').item.json.message.text }}",
                    "rightValue": "#quiz"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Any other",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "6f3a36ca-2348-4573-bbd7-4aa8088ec296",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Start: Receive Message on Telegram').item.json.message.text }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "notesInFlow": false,
      "typeVersion": 3.2
    },
    {
      "id": "9f15049b-d560-4d93-b71c-f378ddb76abc",
      "name": "Notizzettel",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -144
      ],
      "parameters": {
        "color": 7,
        "width": 572,
        "height": 356,
        "content": "## 📖 Getting Started in 4 Steps\n\n1) 🔐 **Set Up Access**\nTelegram: Insert the bot token (created in BotFather) inside the Telegram Trigger and Telegram nodes.\nAI/ML API: Enter your API key in the AI/ML account credentials section.\n2) ▶️ **Turn On Your Workflow**\nUse the Active switch in the top bar of the editor.\n3) 💬 **Chat via Telegram**\nUse tags like #vocabulary, #grammar, or #quiz to choose a mode.\nSend plain text without tags for a general supportive answer.\n4) ⏳ **See the Bot in Action**\nA “typing…” status will appear thanks to the Show Typing Indicator node."
      },
      "typeVersion": 1
    },
    {
      "id": "acfa62af-19ff-42a9-8b27-c59b46a6937d",
      "name": "Haupt-Prompt für alle anderen Nachrichten",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        1104
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={\n  \"prompt\": \"You are an AI Russian language tutor. The user can choose a mode using hashtags: #vocabulary, #grammar, #quiz. Adapt your response format depending on the mode. The user decides how many items (words, rules, or questions) they want. Your task is to structure the response in the correct style, not to set limits. Always explain clearly in English with Russian examples. Always give feedback and encouragement in Russian at the end. Modes: #vocabulary — teach the requested number of words with pronunciation, examples, and a task. #grammar — explain the requested grammar topic with examples and practice. #quiz — create exactly the number of quiz questions requested, formatted properly, then give answers and feedback. If no hashtag is provided, ask the student to choose a mode. create good looking formatting for telegram. use ** for bold text, instead ###.\"\n}"
      },
      "typeVersion": 3.4
    },
    {
      "id": "eececf03-0441-47a3-b5ed-fba1bef88d0f",
      "name": "Personalisierten Antwort generieren",
      "type": "n8n-nodes-aimlapi.aimlApi",
      "position": [
        688,
        848
      ],
      "parameters": {
        "model": "openai/gpt-4o",
        "prompt": "={{ $json.prompt }}\n\nMessage:\n{{ $('Start: Receive Message on Telegram').item.json.message.text }}",
        "options": {},
        "requestOptions": {}
      },
      "typeVersion": 1
    },
    {
      "id": "7c387949-7b74-47fc-9150-c65e464283f2",
      "name": "Nachricht an Telegram senden",
      "type": "n8n-nodes-base.telegram",
      "position": [
        912,
        848
      ],
      "webhookId": "fa689c4d-4c59-49c8-bbd6-0ab170d2f659",
      "parameters": {
        "text": "={{ $json.content }}",
        "chatId": "={{ $('Start: Receive Message on Telegram').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2a17ec7d-31bf-4508-8302-39751e8059b1",
      "name": "Schreibindikator anzeigen",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -144,
        848
      ],
      "webhookId": "fa689c4d-4c59-49c8-bbd6-0ab170d2f659",
      "parameters": {
        "chatId": "={{ $('Start: Receive Message on Telegram').item.json.message.chat.id }}",
        "operation": "sendChatAction"
      },
      "typeVersion": 1.2
    },
    {
      "id": "a4c67a53-9300-429f-a81c-a7c9c6a0c901",
      "name": "Notizzettel1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        688
      ],
      "parameters": {
        "height": 368,
        "content": "### Checks message.text for #vocabulary, #grammar, #quiz, or falls back"
      },
      "typeVersion": 1
    },
    {
      "id": "b32afd82-8c14-46f1-a028-ce6b6d69c7d7",
      "name": "Notizzettel2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        -144
      ],
      "parameters": {
        "color": 4,
        "width": 368,
        "height": 352,
        "content": "## 🔍 Node Overview\n\n- **Telegram Trigger**: Listens for incoming messages.  \n- **Show Typing Indicator**: Immediately shows “typing…” in chat.  \n- **Route by Input Type (Switch)**: Detects your tag and routes to the right prompt.  \n- **Vocabulary/Grammar/Quiz/Main Prompt**: Builds the JSON payload for the AI/ML API.  \n- **Send message to Telegram**: Delivers the AI’s reply back into your chat.  "
      },
      "typeVersion": 1
    },
    {
      "id": "9024416b-fdee-49d0-95f9-098cc08b12da",
      "name": "Notizzettel3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        560
      ],
      "parameters": {
        "width": 288,
        "height": 720,
        "content": "## Chooses from given prompts"
      },
      "typeVersion": 1
    },
    {
      "id": "1971bb3f-fe43-4244-915e-825b254a9a8d",
      "name": "Notizzettel4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        656,
        752
      ],
      "parameters": {
        "color": 5,
        "width": 384,
        "height": 272,
        "content": "## Generates and sends answer to Telegram"
      },
      "typeVersion": 1
    },
    {
      "id": "c696bb62-4e7d-454d-b2a9-c0684127b7ac",
      "name": "Notizzettel5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        224
      ],
      "parameters": {
        "color": 6,
        "width": 960,
        "height": 272,
        "content": "## 🟡 **Example:**\n\n**Input:**\n   ```\n\"#vocabulary кукуруза\"\n   ```\n**Output:**\n   ```\nКукуруза (Kukurúza) - Corn Pronunciation: koo-koo-ROO-zah  \nSentence: Я люблю есть кукурузу на гриле. I love eating grilled corn...\n   ```"
      },
      "typeVersion": 1
    },
    {
      "id": "6983ce9e-0209-4928-9884-c9ed3c2c5dc7",
      "name": "Vokabel-Prompt",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        656
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={\n  \"prompt\": \"You are a Russian language tutor focused on expanding the student's vocabulary. The student will specify how many words they want to learn. Provide exactly that number of Russian words with English translations. Show pronunciation in Latin transcription. Use each word in a simple Russian sentence with English translation. At the end, give a small interactive task where the student can practice using some of the new words. create good looking formatting for telegram. use ** for bold text, instead ###. #vocabulary\"\n}\n"
      },
      "typeVersion": 3.4
    },
    {
      "id": "0934b8df-9b9c-41d9-8a86-88b252fc7c73",
      "name": "Grammatik-Prompt",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        800
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={\n  \"prompt\": \"You are a Russian grammar tutor. The student may ask about a specific grammar rule or request an explanation of a topic. Provide a clear explanation in English with Russian examples. Adjust the depth and number of examples based on the student's request. Ask the student to practice by forming their own sentences. Provide gentle corrections and explanations. create good looking formatting for telegram.  use ** for bold text, instead ###. #grammar\"\n}\n"
      },
      "typeVersion": 3.4
    },
    {
      "id": "a6c5ca38-12d4-4dfa-b002-30ffe4af8123",
      "name": "Quiz-Prompt",
      "type": "n8n-nodes-base.set",
      "position": [
        400,
        960
      ],
      "parameters": {
        "mode": "raw",
        "options": {},
        "jsonOutput": "={\n  \"prompt\": \"You are a Russian language tutor creating quizzes or exercises. The student decides how many questions they want. Format all tasks in a quiz-friendly style (multiple-choice, translation, or fill-in-the-blank). After the student answers, provide correct solutions and short explanations. End with positive feedback in Russian. create good looking formatting for telegram.  use ** for bold text, instead ###.#quiz\"\n}\n"
      },
      "typeVersion": 3.4
    },
    {
      "id": "46003c53-9ef7-4b53-88c2-06bce360209b",
      "name": "Notizzettel6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        768
      ],
      "parameters": {
        "color": 4,
        "width": 384,
        "height": 272,
        "content": "### Checks for messages and emulates typing"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "a6c5ca38-12d4-4dfa-b002-30ffe4af8123": {
      "main": [
        [
          {
            "node": "eececf03-0441-47a3-b5ed-fba1bef88d0f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0934b8df-9b9c-41d9-8a86-88b252fc7c73": {
      "main": [
        [
          {
            "node": "eececf03-0441-47a3-b5ed-fba1bef88d0f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6983ce9e-0209-4928-9884-c9ed3c2c5dc7": {
      "main": [
        [
          {
            "node": "eececf03-0441-47a3-b5ed-fba1bef88d0f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "30a57d49-8269-48ac-ac31-7873341c3afa": {
      "main": [
        [
          {
            "node": "6983ce9e-0209-4928-9884-c9ed3c2c5dc7",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "0934b8df-9b9c-41d9-8a86-88b252fc7c73",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "a6c5ca38-12d4-4dfa-b002-30ffe4af8123",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "acfa62af-19ff-42a9-8b27-c59b46a6937d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2a17ec7d-31bf-4508-8302-39751e8059b1": {
      "main": [
        [
          {
            "node": "30a57d49-8269-48ac-ac31-7873341c3afa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "eececf03-0441-47a3-b5ed-fba1bef88d0f": {
      "main": [
        [
          {
            "node": "7c387949-7b74-47fc-9150-c65e464283f2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "acfa62af-19ff-42a9-8b27-c59b46a6937d": {
      "main": [
        [
          {
            "node": "eececf03-0441-47a3-b5ed-fba1bef88d0f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5c259a9b-75bc-4873-bbc2-34a913c46e21": {
      "main": [
        [
          {
            "node": "2a17ec7d-31bf-4508-8302-39751e8059b1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

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?

Experte - 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.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes16
Kategorie2
Node-Typen6
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34