Einleitung: Warum TypeScript und nicht Python?
\n\nHallo 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\nStell 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\nBereit? Dann los geht's!
\n\nWarum TypeScript für einen Telegram-Bot wählen?
\n\nBevor 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
Ü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\nVorbereitung: Was muss installiert werden
\n\nUm 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\nJetzt installieren wir die Abhängigkeiten:
\n\nnpm install telegraf dotenv\nnpm install -D typescript @types/node ts-node nodemon\n\nLass 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
Erstelle die Datei tsconfig.json:
{\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\nUnd die Datei .env (vergiss nicht, sie zu .gitignore hinzuzufügen!):
BOT_TOKEN=dein_Token_von_BotFather\n\nBot-Registrierung: Kennenlernen von BotFather
\n\nDies ist der einfachste Schritt. Öffne Telegram, suche nach @BotFather und sende den Befehl /newbot. Folge den Anweisungen:
- \n
- Gib den Namen des Bots ein (z.B. "Mein Intelligenter Assistent"). \n
- Gib einen Usernamen ein (muss auf
botenden, z.B.my_smart_helper_bot). \n - Kopiere den erhaltenen Token und füge ihn in
.envein. \n
Fertig! Jetzt hast du den Schlüssel zur Telegram API.
\n\nProjektstruktur und erster Start
\n\nErstelle den Ordner src und darin die Datei index.ts:
// src/index.ts\nimport { Telegraf } from 'telegraf';\nimport { mess