Warum ist C# eine ausgezeichnete Wahl für einen Telegram-Bot?
\n\nWenn Sie bisher dachten, dass Telegram-Bots nur in Python oder JavaScript geschrieben werden, machen Sie sich auf eine Überraschung gefasst. C# mit seiner strengen Typisierung, riesigen Ökosystem und Geschwindigkeit ist ein echter "Schwergewichtler" für die Bot-Erstellung. Stellen Sie sich vor: Sie schreiben den Code einmal, und der Bot arbeitet jahrelang störungsfrei und verarbeitet Tausende von Nachrichten pro Sekunde. Klingt verlockend, oder?
\n\nIn dieser Anleitung erstellen wir einen Telegram-Bot in C# von Grund auf. Sie erfahren, wie Sie den Bot bei BotFather registrieren, die Bibliothek Telegram.Bot einbinden und funktionsfähigen Code mit Befehlsverarbeitung schreiben. Kein überflüssiges Wissen – nur Praxis und echte Beispiele.
Was brauchen wir?
\n\nStellen Sie vor dem Start sicher, dass Sie Folgendes haben:
\n- \n
- .NET SDK (Version 6.0 oder neuer) – herunterladbar von der offiziellen Website; \n
- Visual Studio oder VS Code (jede IDE, in der Sie sich wohlfühlen); \n
- Ein Telegram-Konto – ohne geht es nicht; \n
- 5 Minuten freie Zeit – den Rest erledigt C#. \n
Bereit? Los geht's!
\n\nSchritt 1. Bot-Token über BotFather erhalten
\n\nBevor wir Code schreiben, müssen wir den Bot selbst "erschaffen". Öffnen Sie Telegram und suchen Sie nach @BotFather – das ist der Haupt-"Bot-Ersteller" in Telegram.
\n\n- \n
- Schreiben Sie den Befehl
/newbot. \n - Denken Sie sich einen Namen für den Bot aus (z.B. MyFirstCSharpBot). \n
- Denken Sie sich einen Benutzernamen aus (muss auf bot enden, z.B. MyFirstCSharpBot). \n
- Erhalten Sie den Token – eine lange Zeichenfolge wie
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. \n
Wichtig: Der Token ist der Zugangsschlüssel zu Ihrem Bot. Zeigen Sie ihn niemandem und veröffentlichen Sie ihn nicht im offenen Code. Bewahren Sie ihn am besten in appsettings.json oder Umgebungsvariablen auf.
Schritt 2. Projekt erstellen und Bibliothek installieren
\n\nÖffnen Sie das Terminal und führen Sie die Befehle aus:
\n\ndotnet new console -n TelegramBotCSharp\ncd TelegramBotCSharp\ndotnet add package Telegram.Bot\n\nWir verwenden die Bibliothek Telegram.Bot – die beliebteste und am besten gewartete Bibliothek für die Arbeit mit der Telegram API in C#. Sie übernimmt die gesamte "Schmutzarbeit": Verbindung zum Server, Verarbeitung von Updates, Senden von Nachrichten.
\n\nNach der Installation öffnen Sie die Datei Program.cs – hier werden wir die Magie schreiben.
Schritt 3. Grundlegenden Bot-Code schreiben
\n\nBeginnen wir mit dem Einfachsten: Der Bot wird auf die Befehle /start und /help antworten. Hier ist der minimale funktionsfähige Code:
using Telegram.Bot;\nusing Telegram.Bot.Exceptions;\nusing Telegram.Bot.Polling;\nusing Telegram.Bot.Types;\nusing Telegram.Bot.Types.Enums;\n\nvar botClient = new TelegramBotClient("IHR_TOKEN_HIER");\n\nusing var cts = new CancellationTokenSource();\n\nvar receiverOptions = new ReceiverOptions\n{\n AllowedUpdates = Array.Empty<UpdateType>() // alle Update-Typen empfangen\n};\n\nbotClient.StartReceiving(\n updateHandler: HandleUpdateAsync,\n pollingErrorHandler: HandlePollingErrorAsync,\n receiverOptions: receiverOptions,\n cancellationToken: cts.Token\n);\n\nConsole.WriteLine("Bot gestartet! Drücken Sie Enter zum Beenden.");\nConsole.ReadLine();\ncts.Cancel();\n\nasync Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)\n{\n if (update.Message is not { } message)\n return;\n if (message.Text is not { } messageText)\n return;\n\n var chatId = message.Chat.Id;\n Console.WriteLine($"Nachricht '{messageText}' von {chatId} erhalten");\n\n if (messageText == "/start")\n {\n await botClient.SendTextMessageAsync(\n chatId: chatId,\n text: "