Discord Bot - Projekt Details

Discord Bot
Bot (Java)2020 – 2023

Discord Bot

Multifunktionaler Discord Bot auf Basis der Java Discord API (JDA) als eines meiner ersten größeren Softwareprojekte außerhalb der Schule.

JavaJDA (Java Discord API)LavaplayerSQLiteMaven

Projektbeschreibung

Hintergrund & Entstehung

Der Discord Bot entstand Ende 2020 als eines meiner ersten größeren Softwareprojekte außerhalb des Schulunterrichts. Aus der Motivation heraus, praktische Programmiererfahrung zu sammeln und nützliche Tools für eigene Server und Gaming-Communitys bereitzustellen, wuchs das Projekt schrittweise zu einem vielseitigen Bot heran.

Das Projekt begleitete meine ersten Schritte in praxisnaher Java-Entwicklung abseits theoretischer Schulübungen, von asynchroner Event-Programmierung und Audio-Streaming bis hin zur Datenbankanbindung und sauberem Dependency Management mit Maven.

Features & Funktionsumfang

  • Musikwiedergabe & Audio: Audio-Streaming direkt in Sprachkanälen auf Basis von Lavaplayer. Unterstützt Wiedergabelisten, Warteschlangen, Lautstärkeregelung und Songtext-Suche (Lyrics).
  • Temporäre Voice Channels: Automatische Erstellung dynamischer Sprachkanäle bei Beitritt eines Nutzers und anschließendes Aufräumen, sobald der Channel wieder leer ist.
  • Moderation & Administration: Befehle zur schnellen Bereinigung des Chatverlaufs (!clear), Moderationsaktionen sowie strukturierte Ankündigungen und Umfragen (!umfrage).
  • Persistenz & Einstellungen: Speicherung von serverbezogenen Konfigurationen und Zuständen in einer lokalen SQLite-Datenbank.

Technische Umsetzung

  • Java Discord API (JDA): Anbindung an das Discord Gateway über WebSockets mit asynchroner Event- und Listener-Verarbeitung.
  • Lavaplayer: Verwaltung von Audio-Pipelines und Audioströmen für Discord Voice-Verbindungen.
  • Modulare Befehlsarchitektur: Trennung von Listenern, Handler-Logik und einzelnen Befehlsklassen zur besseren Wartbarkeit.
  • Build-Management: Projektorganisation und Paketierung als eigenständiges Shaded JAR mittels Apache Maven.

Bilder / Screenshots

Keine Bilder oder Screenshots

Für dieses Projekt sind aktuell keine Bilder oder Screenshots hinterlegt. Diese werden ggf. zu einem späteren Zeitpunkt ergänzt.