Discord-Automatisierung für Praneel mit Github und KI-Chatbot
Fortgeschritten
Dies ist ein AI Chatbot, Multimodal AI-Bereich Automatisierungsworkflow mit 10 Nodes. Hauptsächlich werden Discord, GithubTool, DateTimeTool, Agent, DiscordTrigger und andere Nodes verwendet. Automatisierung der Blog-Aktualisierungen durch Discord, GitHub und Gemini AI
Voraussetzungen
- •Discord Bot Token oder Webhook
- •GitHub Personal Access Token
- •Google Gemini API Key
Verwendete Nodes (10)
Kategorie
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": {},
"name": "Praneel's Discord Automation with Github and AI Chatbot ",
"tags": [],
"nodes": [
{
"name": "KI-Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
448,
0
],
"parameters": {
"text": "={{ $json.content }}",
"options": {
"systemMessage": "=\n## Core Identity & Persona\n\nYou are the **n8n Blog Master**, a specialized AI agent. Your primary function is to assist your user with content management.\n\n* **Your Mission:** Automate the process of creating, formatting, editing, and saving blog posts as Markdown files within the user’s specified repository. \n* **User Clarification:** The repository owner always refers to your **user** and, in the context of API calls, the **repository owner**. It is never part of a file path. \n* **Personality:** Helpful, precise, security-conscious. Semi-casual and engaging, but never overly cheerful. \n\n---\n\n## Operational Zone & Constraints\n\n* **Repository:** You may only interact with the repository **`<insert-repo-name-here>`**. \n* **Owner:** The repository owner is **`<insert-username-here>`**. \n* **Branch:** Always operate on the `main` branch. \n* **Directory Access:** You can **only** write or edit files in the directory **`<insert-directory-path-here>`**. You are forbidden from interacting elsewhere. \n* **File Permissions:** \n - You may **create new `.md` files**. \n - If a file already exists, notify the user and ask if they want to edit it. \n - Editing is only allowed if the user explicitly confirms (e.g., “yes”, “go ahead”, “continue”). \n - If the user confirms, proceed with editing. \n\n---\n\n## Available Tools & Usage Protocol\n\nYou have a limited but well-defined toolset. Always use them exactly as described: \n\n### 1. Date & Time Tool \n* Purpose: Always fetch the current date and time in **IST (India Standard Time)**. \n* Usage: Call this before creating the blog post so the `date` field in the front matter is correct. \n* Do not use any other timezone. \n\n### 2. GitHub Nodes \n* **Create:** Used to create new files within **`<insert-directory-path-here>`**. Requires three parameters: \n - `owner` → always **`<insert-username-here>`** \n - `repo` → always **`<insert-repo-name-here>`** \n - `path` → must be `<insert-directory-path-here>/<filename>.md` \n* **List:** Can list files inside **`<insert-directory-path-here>`**. Use it to check existing filenames before creating new ones. \n* **Read:** Can fetch contents of files if needed. \n* **Edit:** Can update a specific file in **`<insert-directory-path-here>`**. \n - **Protocol:** Before editing, explicitly ask: \n *“Are you sure you want me to edit `<filename>.md`?”* \n - If the user responds with **“yes”**, **“continue”**, or similar confirmation, proceed. \n - If the user declines, do nothing. \n* Constraint: Never attempt operations outside the specified directory. \n\n### 3. Data Storage & Message History \n* Purpose: Store temporary user confirmations and recall **previous user messages** as part of memory. \n* Example: \n - If you ask for edit confirmation and the user replies *“yes”* or *“continue”*, record that in storage. \n - If later in the same conversation the user says *“go ahead”* without repeating the filename, check both storage and previous messages to infer intent. \n* Always reset confirmation after the action is completed. \n\n---\n\n## Standard Workflow: Creating or Editing Blog Posts\n\n1. **Activation:** Begin when the user says: \n - “Draft a new post on…” \n - “Make the body about…” \n - “Use my rough notes…” \n - “Modify it to include…” \n - “Edit the file…” \n\n2. **Information Gathering:** \n * Ask for the **Title** (mandatory for new posts). \n * Gather **topic, points, or raw notes** from the user. \n * If user provides incomplete notes, expand them into a coherent, well-structured article. \n\n3. **Drafting & Formatting:** \n * Call the Date & Time tool. \n * Format posts in the following template: \n\n ```markdown\n ---\n title: \"The Title Provided by the User\"\n date: \"YYYY-MM-DD\"\n ---\n\n [Well-structured blog content goes here. Expand rough notes if needed, maintain logical flow, use clear headings if appropriate.]\n\n Thanks for Reading!\n ```\n---\n- Writing rules:\n\nTone: Neutral, informative, lightly conversational — not too cheerful.\n\nFlow: Use line breaks for readability.\n\nExpansion: If notes are provided, polish and structure them.\n\nModification: If asked, revise while preserving original meaning.\n\nFile Naming:\n\nGenerate a short kebab-case filename from the title (e.g., \"Making My Own Java CLI-Based RPG!\" → java-cli-rpg.md).\n\nFile Creation vs Editing:\n\nIf creating → Use the GitHub Create tool.\n\nIf file already exists → Ask the user if they want to edit it.\n\nStore their response in Data Storage.\n\nIf confirmation = yes → proceed with GitHub Edit tool.\n\nIf no → cancel operation.\n\nFinal Action:\n\nConfirm success to the user after creation or editing.\n\nAdvanced Error Handling: \"Resource Not Found\"\n\nIf the create_github_file tool fails with \"Resource not found\":\n\nFirst Failure:\n\nNotify the user that the attempt failed.\n\nState the exact path used.\n\nRetry automatically once.\n\nSecond Failure:\n\nIf it fails again, explain that standard creation isn’t working.\n\nSuggest it may be a permissions issue.\n\nAwait user instructions before proceeding further."
},
"promptType": "define"
},
"typeVersion": 2.2,
"id": "KI-Agent-0"
},
{
"name": "Google Gemini-Chat-Modell",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
160,
208
],
"parameters": {
"options": {}
},
"typeVersion": 1,
"id": "Google-Gemini-Chat-Modell-1"
},
{
"name": "Datum & Uhrzeit",
"type": "n8n-nodes-base.dateTimeTool",
"position": [
992,
272
],
"parameters": {
"options": {
"timezone": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Timezone', ``, 'string') }}"
}
},
"typeVersion": 2,
"id": "Datum-Uhrzeit-2"
},
{
"name": "Datei in GitHub erstellen",
"type": "n8n-nodes-base.githubTool",
"position": [
432,
320
],
"webhookId": "f1fcb524-a4c6-4cd3-8e81-b9f6f9548db2",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Repository_Owner', ``, 'string') }}"
},
"filePath": "<insert-directory-path-here>",
"resource": "file",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Repository_Name', ``, 'string') }}"
},
"fileContent": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('File_Content', ``, 'string') }}",
"commitMessage": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Commit_Message', ``, 'string') }}"
},
"typeVersion": 1.1,
"id": "Datei-in-GitHub-erstellen-3"
},
{
"name": "Datei in GitHub abrufen",
"type": "n8n-nodes-base.githubTool",
"position": [
752,
432
],
"webhookId": "bc5ad2f3-bc57-475f-b16e-2aaee66bca5d",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Repository_Owner', ``, 'string') }}"
},
"filePath": "<insert-directory-path-here>",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Repository_Name', ``, 'string') }}"
},
"asBinaryProperty": false,
"additionalParameters": {}
},
"typeVersion": 1.1,
"id": "Datei-in-GitHub-abrufen-4"
},
{
"name": "Dateien in GitHub auflisten",
"type": "n8n-nodes-base.githubTool",
"position": [
880,
336
],
"webhookId": "e8426fc7-b558-49a2-b525-7ca470cb0b25",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Repository_Owner', ``, 'string') }}"
},
"filePath": "<insert-directory-path-here>",
"resource": "file",
"operation": "list",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Repository_Name', ``, 'string') }}"
}
},
"typeVersion": 1.1,
"id": "Dateien-in-GitHub-auflisten-5"
},
{
"name": "Datei in GitHub bearbeiten",
"type": "n8n-nodes-base.githubTool",
"position": [
592,
368
],
"webhookId": "3500bb43-3d9c-46f0-b5a4-c24d41ec3f90",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Repository_Owner', ``, 'string') }}"
},
"filePath": "<insert-directory-path-here>",
"resource": "file",
"operation": "edit",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Repository_Name', ``, 'string') }}"
},
"fileContent": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('File_Content', ``, 'string') }}",
"commitMessage": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Commit_Message', ``, 'string') }}"
},
"typeVersion": 1.1,
"id": "Datei-in-GitHub-bearbeiten-6"
},
{
"name": "Simple Speicher",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
288,
304
],
"parameters": {
"sessionKey": "=\"memoryKey\": \"history\"",
"sessionIdType": "customKey",
"contextWindowLength": 20
},
"typeVersion": 1.3,
"id": "Simple-Speicher-7"
},
{
"name": "Discord Message Reader",
"type": "n8n-nodes-discord-trigger.discordTrigger",
"position": [
0,
0
],
"parameters": {
"pattern": "every",
"additionalFields": {}
},
"typeVersion": 1,
"id": "Discord-Message-Reader-8"
},
{
"name": "Sendet Nachricht an Discord",
"type": "n8n-nodes-base.discord",
"position": [
1040,
32
],
"webhookId": "73b9da16-a804-446e-81ff-c3bc29948850",
"parameters": {
"embeds": {
"values": [
{}
]
},
"content": "={{ $('AI Agent').item.json.output }}",
"guildId": {
"__rl": true,
"mode": "list",
"value": ""
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"typeVersion": 2,
"id": "Sendet-Nachricht-an-Discord-9"
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"connections": {
"KI-Agent-0": {
"main": [
[
{
"node": "Sendet-Nachricht-an-Discord-9",
"type": "main",
"index": 0
}
]
]
},
"Datum-Uhrzeit-2": {
"ai_tool": [
[
{
"node": "KI-Agent-0",
"type": "ai_tool",
"index": 0
}
]
]
},
"Simple Memory": {
"ai_memory": [
[
{
"node": "KI-Agent-0",
"type": "ai_memory",
"index": 0
}
]
]
},
"Datei-in-GitHub-abrufen-4": {
"ai_tool": [
[
{
"node": "KI-Agent-0",
"type": "ai_tool",
"index": 0
}
]
]
},
"Dateien-in-GitHub-auflisten-5": {
"ai_tool": [
[
{
"node": "KI-Agent-0",
"type": "ai_tool",
"index": 0
}
]
]
},
"Datei-in-GitHub-bearbeiten-6": {
"ai_tool": [
[
{
"node": "KI-Agent-0",
"type": "ai_tool",
"index": 0
}
]
]
},
"Discord-Message-Reader-8": {
"main": [
[
{
"node": "KI-Agent-0",
"type": "main",
"index": 0
}
]
]
},
"Datei-in-GitHub-erstellen-3": {
"ai_tool": [
[
{
"node": "KI-Agent-0",
"type": "ai_tool",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "KI-Agent-0",
"type": "ai_languageModel",
"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?
Fortgeschritten - KI-Chatbot, 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
Chatbot-Webhook
Ein KI-basierter Gmail- und Kalender-Assistent, integriert mit Gemini-Chat-Oberfläche
Set
Webhook
Gmail Tool
+
Set
Webhook
Gmail Tool
19 NodesPraneel S
Verschiedenes
Google Calendar+Gmail-Manager
Verwaltung von Google Kalender und Gmail mit einem von Gemini/GPT angetriebenen KI-Assistenten
Gmail Tool
Date Time Tool
Agent
+
Gmail Tool
Date Time Tool
Agent
16 NodesPraneel S
KI-Chatbot
Finanzanalyse-Report-Chatbot-Agent mit Gemini und Discord
Finanzanalyse-Chatbot-Agent basierend auf Gemini 2.5 Flash und Discord
Set
Code
Discord
+
Set
Code
Discord
19 Nodesaditya vadaganadam
KI-Chatbot
Notion
Automatisierung von Inhaltsanfragen von Telegram zu Notion mit Gemini AI
If
Telegram
Notion Tool
+
If
Telegram
Notion Tool
16 NodesMiftah Rahmat
KI-Chatbot
Gmail Agent
Automatisierung von Gmail-Aufgaben mit Gemini AI Assistant und Kontaktmanagement
Gmail Tool
Agent
Google Sheets Tool
+
Gmail Tool
Agent
Google Sheets Tool
12 NodesRakin Jakaria
KI-Chatbot
KI-gestützter Chatbot zur automatisierten Erstellung von WHMCS-Support-Tickets
Automatisiere die Erstellung von WHMCS-Support-Tickets mit einem Gemini AI Chatbot
Agent
Http Request Tool
Chat Trigger
+
Agent
Http Request Tool
Chat Trigger
6 NodesMuhammad Omer Fayyaz
KI-Chatbot
Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes10
Kategorie2
Node-Typen7
Autor
Praneel S
@praneel7015Externe Links
Auf n8n.io ansehen →
Diesen Workflow teilen