Telegram-Bot in TypeScript: Schreiben eines intelligenten Assistenten 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

Einleitung: Warum TypeScript und nicht Python?

\n\n

Hallo Entwickler! Wenn du dies auf PythonLib liest, bist du wahrscheinlich überrascht: "Warum ein Artikel über TypeScript auf einer Ressource über Python?". Die Antwort ist einfach: Die IT-Welt kennt keine Grenzen, und ein guter Entwickler kann über den Tellerrand einer einzigen Sprache hinausblicken. TypeScript ist nicht nur ein "Aufsatz über JavaScript", es ist ein leistungsstarkes Werkzeug zur Erstellung zuverlässiger, skalierbarer und vorhersagbarer Anwendungen. Und Telegram-Bots sind die ideale Spielwiese, um es auszuprobieren.

\n\n

Stell dir vor: Du schreibst Code, und die IDE hebt Fehler im Voraus hervor, Datentypen verhindern Laufzeitfehler, und die Autovervollständigung funktioniert wie ein Schweizer Uhrwerk. Das ist keine Magie – das ist TypeScript. In dieser Anleitung erstellen wir einen vollwertigen Telegram-Bot in TypeScript von Grund auf: von der Registrierung bei BotFather bis zum Deployment. Du erfährst, wie du das Projekt einrichtest, Befehle verarbeitest, Nachrichten sendest und mit externen APIs arbeitest.

\n\n

Bereit? Dann los geht's!

\n\n

Warum TypeScript für einen Telegram-Bot wählen?

\n\n

Bevor wir in den Code eintauchen, lass uns klären, warum es sich lohnt, einen Bot in TypeScript zu schreiben, anstatt in Python, das scheinbar die "Muttersprache" für solche Aufgaben ist.

\n\n
    \n
  • Typisierung ist dein Freund. Wenn ein Projekt 10+ Befehle und 20 Handler hat, bewahrt TypeScript vor dummen Fehlern wie der Übergabe eines Strings anstelle einer Zahl.
  • \n
  • Moderne Syntax. Async/await, Destrukturierung, Module – all das macht den Code sauberer und lesbarer.
  • \n
  • Node.js-Ökosystem. Eine riesige Anzahl von Bibliotheken, einschließlich Telegraf (das beste Framework für Bots).
  • \n
  • Leistung. Node.js ist eine ereignisgesteuerte Plattform, ideal für Chatbots mit hoher Last.
  • \n
\n\n

Übrigens, zu Telegraf: Es ist ein TypeScript-first Framework, das die Arbeit mit der Telegram Bot API extrem einfach macht. Wir werden genau dieses verwenden.

\n\n

Vorbereitung: Was muss installiert werden

\n\n

Um loszulegen, benötigst du:

\n\n
# Stelle sicher, dass Node.js (Version 18+) und npm installiert sind\nnode -v\nnpm -v\n\n# Erstelle einen Projektordner\nmkdir telegram-bot-ts\ncd telegram-bot-ts\n\n# Initialisiere das Projekt\nnpm init -y
\n\n

Jetzt installieren wir die Abhängigkeiten:

\n\n
npm install telegraf dotenv\nnpm install -D typescript @types/node ts-node nodemon
\n\n

Lass uns klären, was wir installiert haben:

\n
    \n
  • telegraf – das Hauptframework für den Bot.
  • \n
  • dotenv – zum Speichern des Tokens in einer .env-Datei (Sicherheit geht vor).
  • \n
  • typescript, @types/node, ts-node – zum Kompilieren und Ausführen von TS.
  • \n
  • nodemon – für automatischen Neustart bei Änderungen.
  • \n
\n\n

Erstelle die Datei tsconfig.json:

\n\n
{\n  "compilerOptions": {\n    "target": "ES2020",\n    "module": "commonjs",\n    "strict": true,\n    "esModuleInterop": true,\n    "skipLibCheck": true,\n    "forceConsistentCasingInFileNames": true,\n    "outDir": "./dist"\n  },\n  "include": ["src/**/*"],\n  "exclude": ["node_modules"]\n}
\n\n

Und die Datei .env (vergiss nicht, sie zu .gitignore hinzuzufügen!):

\n\n
BOT_TOKEN=dein_Token_von_BotFather
\n\n

Bot-Registrierung: Kennenlernen von BotFather

\n\n

Dies ist der einfachste Schritt. Öffne Telegram, suche nach @BotFather und sende den Befehl /newbot. Folge den Anweisungen:

\n
    \n
  1. Gib den Namen des Bots ein (z.B. "Mein Intelligenter Assistent").
  2. \n
  3. Gib einen Usernamen ein (muss auf bot enden, z.B. my_smart_helper_bot).
  4. \n
  5. Kopiere den erhaltenen Token und füge ihn in .env ein.
  6. \n
\n\n

Fertig! Jetzt hast du den Schlüssel zur Telegram API.

\n\n

Projektstruktur und erster Start

\n\n

Erstelle den Ordner src und darin die Datei index.ts:

\n\n
// src/index.ts\nimport { Telegraf } from 'telegraf';\nimport { mess                

Blogs

Buchempfehlungen