Telegram-Bot in Java: Wo anfangen und wie man nicht auf halbem Weg aufgibt
Haben Sie jemals Ihren eigenen Telegram-Bot schreiben wollen, aber dachten, das sei zu kompliziert? Ich beeile mich, Sie zu erfreuen: Einen Telegram-Bot in Java zu erstellen – eine Aufgabe, die selbst ein Anfänger bewältigen kann. Keine Magie, nur ein klarer Plan und ein bisschen Code.
In diesem Leitfaden gehen wir den gesamten Weg von der Registrierung des Bots in Telegram bis zur Veröffentlichung der fertigen Anwendung. Sie erfahren, wie Sie die Bibliothek TelegramBots einbinden, Befehle verarbeiten, Nachrichten senden und typische Fehler vermeiden. Am Ende erhalten Sie eine fertige Vorlage, die Sie an Ihre eigenen Aufgaben anpassen können.
Warum gerade Java? Diese Sprache bietet Stabilität, Leistung und eine riesige Menge an fertigen Lösungen. Für einen Telegram-Bot in Java müssen Sie nicht Dutzende von Abhängigkeiten installieren – alles passt in ein einziges Maven/Gradle-Projekt. Los geht's!
Schritt 1: Bot-Registrierung und Token-Erhalt
Bevor wir Code schreiben, müssen wir den Bot „erschaffen". Dies geschieht über den Haupt-Bot von Telegram – BotFather.
Starten Sie BotFather in Telegram und senden Sie den Befehl:
/newbotFolgen Sie dann den Anweisungen: Überlegen Sie sich einen Namen (der für die Benutzer sichtbar ist) und einen Username (muss auf _bot enden). Nach erfolgreicher Erstellung erhalten Sie einen Token – eine lange Zeichenfolge wie:
1234567890:ABCdefGHIjklmNOPqrstUVwxyz-1234567Wichtig: Der Token ist der Schlüssel zu Ihrem Bot. Zeigen Sie ihn niemandem, laden Sie ihn nicht in öffentliche Repositories hoch. Bewahren Sie ihn am besten in Umgebungsvariablen oder Konfigurationsdateien auf.
Schritt 2: Projekterstellung und Einbindung von Abhängigkeiten
Wir verwenden Maven – das ist praktisch und Standard für Java-Projekte. Wenn Sie Gradle bevorzugen, ist das Prinzip dasselbe, schreiben Sie die Abhängigkeiten einfach in Ihr Format um.
Erstellen Sie ein normales Java-Projekt in Ihrer IDE (IntelliJ IDEA, Eclipse oder NetBeans) und öffnen Sie die Datei pom.xml. Fügen Sie die folgende Abhängigkeit hinzu:
<dependency> <groupId>org.telegram</groupId> <artifactId>telegrambots</artifactId> <version>6.9.7.1</version></dependency>Diese Bibliothek – TelegramBots – ist die beliebteste für die Erstellung von Bots in Java. Sie unterstützt alle grundlegenden Funktionen: Senden von Nachrichten, Bildern, Schaltflächen, Arbeiten mit dem Inline-Modus und Webhooks.
Nach dem Hinzufügen der Abhängigkeit führen Sie mvn clean install aus oder aktualisieren das Projekt in der IDE, um die Bibliothek herunterzuladen.
Schritt 3: Unseren ersten Bot schreiben – die Basisklasse
Erstellen Sie eine Klasse, die von TelegramLongPollingBot erbt. Diese Klasse ist für den Empfang von Updates von den Telegram-Servern verantwortlich. Hier ist die minimale Struktur:
import org.telegram.telegrambots.bots.TelegramLongPollingBot;import org.telegram.telegrambots.meta.api.objects.Update;import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
public class MySimpleBot extends TelegramLongPollingBot {
@Override public String getBotUsername() { return "YourBotUsername"; // ohne @ }
@Override public String getBotToken() { return "YOUR_TOKEN_HERE"; }
@Override public void onUpdateReceived(Update update) { // Hier werden wir Nachrichten verarbeiten if (update.hasMessage() && update.getMessage().hasText()) { String messageText = update.getMessage().getText(); long chatId = update.getMessage().getChatId(); System.out.println("Nachricht erhalten: " + messageText + " von Chat: " + chatId); } }}Bisher protokolliert der Bot nur eingehende Nachrichten. Fügen wir eine Antwortaktion hinzu.
Schritt 4: Antwort senden – der Bot beginnt zu sprechen
Damit der Bot antwortet, verwenden wir die Klasse SendMessage. Fügen wir die Verarbeitung von Befehlen hinzu