Chat-Bots in TypeScript: Vollständiger Leitfaden zur Erstellung von Grund auf

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Warum TypeScript die beste Wahl für Chat-Bots ist?

\n\n

Wenn es um die Erstellung von Chat-Bots geht, denken viele Entwickler sofort an Python oder JavaScript. Aber es gibt eine Sprache, die die Flexibilität dynamischer Typisierung mit der Sicherheit statischer Prüfung kombiniert – das ist TypeScript. In diesem praktischen Leitfaden werden wir durchgehen, wie man Chat-Bots in TypeScript erstellt, die nicht nur stabil funktionieren, sondern auch leicht zu warten sind.

\n\n

TypeScript ist nicht nur ein "Add-on" zu JavaScript. Es ist ein vollwertiges Werkzeug, das es ermöglicht, Code zu schreiben, der schwerer zu zerstören ist. Stellen Sie sich vor: Sie schreiben einen Bot für Telegram, und plötzlich übergibt Ihr Kollege einer Funktion keine Zeichenkette, sondern eine Zahl. In JavaScript erfahren Sie das erst zur Laufzeit, wenn der Bot abstürzt. In TypeScript teilt Ihnen der Compiler den Fehler bereits vor dem Start mit. Ist das nicht Magie?

\n\n

Wo anfangen: Einrichtung der Umgebung

\n\n

Bevor wir in den Code eintauchen, richten wir unseren Arbeitsplatz ein. Wir benötigen Node.js (Version 16 oder höher) und einen Paketmanager wie npm oder yarn.

\n\n

Schritt 1: Projekt initialisieren

\n\n
mkdir my-chat-bot\ncd my-chat-bot\nnpm init -y\n
\n\n

Schritt 2: Abhängigkeiten installieren

\n\n

Für die Arbeit mit Chat-Bots verwenden wir die beliebte Bibliothek telegraf (für Telegram) und discord.js (für Discord). Aber in diesem Leitfaden konzentrieren wir uns auf einen universellen Ansatz.

\n\n
npm install typescript @types/node telegraf dotenv\nnpx tsc --init\n
\n\n

Die Datei tsconfig.json muss etwas angepasst werden: aktivieren Sie strict: true und geben Sie outDir: "./dist" an. Das macht den Code sicherer.

\n\n

Projektstruktur für Chat-Bots in TypeScript

\n\n

Eine gute Architektur ist der Schlüssel zum Erfolg. So empfehle ich, die Dateien zu organisieren:

\n\n
src/\n├── bot/\n│   ├── index.ts          # Einstiegspunkt\n│   ├── handlers/         # Befehlshandler\n│   ├── middleware/        # Middleware\n│   └── types/            # Typen und Schnittstellen\n├── config/\n│   └── index.ts          # Konfiguration\n└── utils/\n    └── logger.ts         # Protokollierung\n
\n\n

Unseren ersten Chat-Bot in TypeScript schreiben

\n\n

Lassen Sie uns einen einfachen Telegram-Bot erstellen, der auf den Befehl /start und Echo-Nachrichten antwortet.

\n\n

Datei: src/config/index.ts

\n\n
import dotenv from 'dotenv';\ndotenv.config();\n\nexport const config = {\n  BOT_TOKEN: process.env.BOT_TOKEN || '',\n  PORT: parseInt(process.env.PORT || '3000')\n};\n
\n\n

Datei: src/bot/index.ts

\n\n
import { Telegraf } from 'telegraf';\nimport { config } from '../config';\nimport { startHandler } from './handlers/start';\nimport { echoHandler } from './handlers/echo';\n\nconst bot = new Telegraf(config.BOT_TOKEN);\n\n// Handler registrieren\nbot.start(startHandler);\nbot.on('text', echoHandler);\n\n// Bot starten\nbot.launch()\n  .then(() => console.log('Bot gestartet!'))\n  .catch((err) => console.error('Startfehler:', err));\n\n// Graceful shutdown\nprocess.once('SIGINT', () => bot.stop('SIGINT'));\nprocess.once('SIGTERM', () => bot.stop('SIGTERM'));\n
\n\n

Datei: src/bot/handlers/start.ts

\n\n
import { Context } from 'telegraf';\n\nexport const startHandler = async (ctx: Context) => {\n  const userName = ctx.from?.first_name || 'Freund';\n  await ctx.reply(`Hallo, ${userName}! Ich bin ein Bot in TypeScript. Schreib mir etwas.`);\n};\n
\n\n

Datei: src/bot/handlers/echo.ts

\n\n
import { Context } from 'telegraf';\n\nexport const echoHandler = async (ctx: Context) => {\n  const message = ctx.message?.text || '';\n  await ctx.reply(`Sie haben geschrieben: "${message}". Cool!`);\n};\n
\n\n

Beachten Sie die Typisierung: Context aus der Bibliothek telegraf ist vollständig typisiert. Das bedeutet, dass die IDE Ihnen alle verfügbaren Methoden und Eigenschaften vorschlägt. Chat-Bots in Ty

Blogs

Buchempfehlungen