Einrichtung

Schritt 1: Einen eigenen Bot erstellen

Um den Discord Music Player zu verwenden, musst du deinen eigenen Bot anlegen. Ein Bot ist ein virtueller Discord Nutzer, der von einem Server oder einem Programm gesteuert wird. Der Musikplayer wird sich, in den entsprechenden Voice-Channel, als genau diesen Bot ausgeben. Einen eigenen Discord-Bot zu erstellen ist kein Hexenwerk. Besuche das Entwicklerportal von der Discord-Seite und melde dich mit deinem Discord-Account an. Auf dieser Seite müssen wir mit ‚New app‘ eine neue App hinzufügen. Diese App dient als Schnittstelle für deinen Bot. Den Namen der App kannst du beliebig festlegen (z.B. MusicBot). Die Beschreibung und das Icon kannst hinterher jederzeit ändern. Der Name der App wird später auch der Bot-Name. Diesen kannst du nicht mehr ändern, sobald du den Bot im nächsten Schritt erstellt hast. Bestätige den Dialog mit ‚Create app‘. Jetzt muss der App noch einen Bot zugewiesen werden. Dafür kannst du auf ‚Create a Bot user‘ klicken und den aufkommenden Dialog bestätigen. Herzlichen Glückwunsch! Du hast soeben deinen eigenen Discord-Bot erstellt! Bevor du diesen Bildschirm schließt, solltest du dir zwei wichtige IDs notieren: Die Client ID und den Bot Token. Um den Token des Bots anzuzeigen, musst du du den entsprechenden Link ‚click to reveal‘ anklicken. Dies ist eine clevere Schutzmaßnahme. Halte diesen Token geheim! Gib ihn auf keinen Fall weiter. Jeder, der diesen Token besitzt, kann sich ab sofort mit deinem Bot anmelden und in dessen Namen Nachrichten verschicken. Sollte der Token dir doch mal abhanden kommen, solltest du dir sofort einen neuen generieren lassen. Der alte wird dadurch automatisch ungültig.

Schritt 2: Den Bot mit deinem Discord-Server verbinden

Der Bot muss jetzt noch zu deinem Discord-Server hinzugefügt werden. Einen Bot kannst du nicht einfach über eine Einladung hinzufügen. Hierfür musst du eine spezielle URL aufrufen. Nur der Server-Administrator kann einen Bot zu seinem Server hinzufügen. Stell also sicher, dass du als dieser Angemeldet bist. Öffne folgende URL in deinem Browser und füge deine Client ID an der entsprechenden Stelle ein: https://discordapp.com/oauth2/authorize?client_id=<CLIENT_ID>&scope=bot&permissions=3148800 Am Ende der URL werden die Berechtigungen definiert. Der Wert 3148800 steht für READ_MESSAGESSEND_MESSAGESCONNECT und SPEAK. Auf dieser Seite kannst du mehr über die Berechtigungen erfahren. Wähle im Dialog deinen Server aus und bestätige alle Berechtigungen (ohne diese wird der Bot nicht funktionieren). Und das war’s schon! Der Bot müsste jetzt in deinem Discord-Client sichtbar sein.

Schritt 3: Das Programm konfigurieren

Lade das Programm herunter, falls du dies noch nicht getan hast, und entpacke das Zip-Verzeichnis an einen beliebigen Ort, den du später auch wiederfindest. In diesem Verzeichnis gibt es eine config.sample.xml Datei. Diese Datei musst du in config.xml umbenennen, damit sie von dem Programm geladen wird. Öffne diese Datei anschließend mit einem beliebigen Text-Editor (Rechtsklick -> Öffnen mit -> Editor)

Folgende Einträge musst du anpassen:

				
					<!-- Der Text YourSecretToken muss durch deinen Bot-Token ersetzt werden. -->
<Token>YourSecretToken</Token>
				
			
				
					<!-- Der Text YourGuildName muss durch deinen Server-Namen (oder ID) ersetzt werden. -->
<Guild>YourGuildName</Guild>
				
			
				
					<!-- Der Text YourVoiceChannelName muss durch den Voice-Channel-Namen (oder ID) ersetzt werden. -->
<Channel>YourVoiceChannelName</Channel>
				
			
				
					<!-- Gibt an ob die Reihenfolge der Musiktitel geshuffelt werden soll (true = Ja, false = Nein). -->
<Shuffle>false</Shuffle>
				
			
				
					<!-- Definiert die Standardlautstärke (in %). -->
<Volume>10</Volume>
				
			
				
					<!-- Definiert den Pfad aus den die Musiktitel geladen werden. Es werden ebenfalls Unterordner durchsucht. Du kannst auch mehrere Verzeichnisse angeben. -->
<Directories>
    <Directory>C:\Users\Username\Music\</Directory>
</Directories>
				
			
				
					<!-- Definiert die Benutzer, die den Bot per Direktnachricht steuern können. Du kannst auch mehrere Benutzer angeben. -->
<AllowedUsers>
    <AllowedUser>Username#1337</AllowedUser>
</AllowedUsers>
				
			

Schritt 4: Das Programm ausführen

Der Musikplayer kann mit ein Doppelklick auf die DiscordMusicPlayer.exe gestartet werden. Das Programm startet als Konsolenanwendung ohne grafische Oberfläche. Um das Programm zu beenden, musst du exit in die Konsole eingeben.

Damit das Programm ordnungsgemäß ausgeführt werden kann, müssen folgende Frameworks auf deinem Rechner installiert sein:

Du kannst den Bot entweder direkt über die Konsole steuern, oder indem du ihm Befehle per Direktnachricht sendest. Folgende Befehle werden unterstützt:

  • exit – Beendet das Programm (nur per Konsole)
  • next – Spielt den nächsten Titel ab
  • stop – Hält die Wiedergabe an
  • play – Setzt die Wiedergabe fort
  • play [Titel] – Spielt den Titel mit den angegebenen Namen ab
  • volume [0 bis 100] – Ändert die Wiedergabelautstärke
Die neue App wird erstellt
Anschließend wird der entsprechende Bot erstellt
Die Client-ID und der Bot-Token sind wichtig
Der Bot muss zum Server hinzugefügt werden
Eine Beispiel-Konfiguration
Der Discord Music Player streamt Musik
C#

Schreibe eine Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

45 Antworten auf “Discord Music Player”

  • David Mitrovic
    4. Mai 2018 at 22:00

    Wow, vielen Dank, funktioniert super!

  • Maximussta
    11. Juni 2018 at 22:01

    Es klappt wirklich super, aber ich würde gerne wissen, wie ich es machen kann, das der Bot auf mehreren Servern gleichzeitig läuft?

    • David Schulte
      12. Juni 2018 at 8:53

      Das unterstützt die API soweit ich weiß leider nicht. Dafür müsste man tatsächlich mehrere Bot-User verwenden und mehrere Programme gleichzeitig starten.

      Ich kann mich da aber auch nochmal schlau machen.

      Nachtrag: Es ist leider nicht möglich einen Bot in mehrere Voice-Channels einer Gilde zu setzen. Es soll aber wohl möglich seinen einen Bot in verschiedene Gilden zu betreiben. Aber dann auch nur jeweils in einem Channel pro Gilde.

      • Maximussta
        18. Juni 2018 at 15:48

        und wie macht man dies?

  • blub
    22. Juni 2018 at 20:14

    wie genau muss ich den play [titel] befehl eingeben? bei mir steht da immer song not found.

    • David Schulte
      22. Juni 2018 at 21:03

      Du musst den Titel des Liedes eingeben. Nicht den Dateinamen! Das Feature funktioniert auch nur wenn die MP3-Dateien die Metadaten korrekt gefüllt haben. Es reicht auch nur ein Teil des Titels einzugeben, solange das Stück eindeutig gefunden werden kann. Sollte es mehrere Treffer geben, so werden diese aufgelistet.

      Sollte das nicht helfen, kannst du mir gerne mal eine E-Mail an die mail@david-schulte.de senden. Füge am besten direkt deine Konfigurationsdatei an.

  • Leander
    25. Juni 2018 at 22:39

    Ich hab die Datei in config.xml umbenannt, aber er sagt immernoch das er die Datei nicht findet?

  • Maximussta
    8. Juli 2018 at 12:04

    Ich habe 3 bots für mein Server erstellt aber immer wenn ich sie anschalte, disconnecten sie sich nach ungefähr 5 minuten wieder. warum ist das so?

  • Dom
    8. August 2018 at 14:42

    Moin moin,
    habe ein kleines Problem.
    Leider gibt mir die Konsolenanwendung : There were no music files found! Shutdown program. . .
    Kann mir da wer weiterhelfen ?
    LG Dom

    • David Schulte
      8. August 2018 at 19:40

      Hi, hast du einen Pfad in der config.xml angegeben? Was für Musikdateien befinden sich in den Verzeichnis? Aktuell werden nur MP3-Dateien unterstützt.
      Wenn du willst, kannst du mir deine config.xml mal per E-Mail an die mail@david-schulte.de senden. Dann kann ich da mal drüber schauen.
      Denk aber bitte dadran, den API-Schlüssen zu entfernen!

  • David Schulte
    8. August 2018 at 19:54

    Seit heute ist die Version 1.0.8 verfügbar.

    Diese behebt einige Probleme mit der neuen Discord-API. Beispielsweise hörten Nutzer den Bot nicht, wenn dieser nachträglich den Voice-Channel betritt. Das Programm trennt nun die Verbindung ordentlich, wenn es über das X geschlossen wurde. Außerdem wurden kleinere Micro-Lags während der Musikübertragung behoben.

  • Sunfire
    31. August 2018 at 11:04

    Hi 🙂
    Vielleicht bin ich blind, aber wo lädt man denn die App herunter? Ich finde da keinen Button oder ähnliches… das Kontextmenü verweist immer nur auf html-Dateien…
    Vielen Dank für die tolle Erklärung! 🙂
    VG Sunfire

    • Sunfire
      31. August 2018 at 12:06

      Ja, ich war blind, sorry und danke für die tolle Arbeit! 🙂
      Kann man an der Soundqualität noch drehen?

      • David Schulte
        31. August 2018 at 21:20

        Alles gut 🙂

        Als ich das Programm geschrieben habe, gab es nur 48bit/s als Qualität. Das ist für Stimmen auch völlig ausreichend, aber nicht für Musik. Mittlerweile unterstützt Discord aber auch andere Bit-Raten, aber unterstützt der Player noch nicht. Das müsste ich nochmal anpassen.

  • ErzdrakonMomo
    17. September 2018 at 14:24

    Hi,
    bei mir schaltet sich der Music Player immer gleich wieder ab – ohne irgendeine Fehlermeldung.
    Ist das Problem bekannt und gibt es vielleicht eine Lösung dafür?`

    • David Schulte
      18. September 2018 at 8:12

      Hi,

      hast du ‘Microsoft Visual C++ 2015 Redistributable (x86)’ und das ‘.NET Framework 4.6.1’ installiert? Die Links findest du unten im Artikel. Wenn das Programm nicht startet, fehlt meistens ersteres.

      • Thorsten Hierl
        23. September 2018 at 17:21

        Sind beide installiert (allerdings in neuerer Version).

        • David Schulte
          23. September 2018 at 20:50

          Das ‘Microsoft Visual C++ Redistributable’ muss genau in der 2015er Version installiert werden. Eine neuere Version (z.B. 2017) enthält nicht die älteren Pakete, die für den Audio-Codex benötigt werden. Hiervon kannst du problemlos mehrere Versionen installiert haben. Ebenfalls ist es wichtig, dass du die 32-Bit Version installiert hast. Auch hier kann sowohl die 64-Bit (x64) als auch die 32-Bit (x86) Version parallel installiert werden.

          Das .NET Framework sollte nicht das Problem sein. Hier zeigt Windows 10 mittlerweile eine Meldung an, wenn die entsprechende Version fehlt.

          Sollte der Player dennoch nicht funktionieren, kannst du mich gerne per E-Mail kontaktieren: mail@david-schulte.de

  • Maddin
    12. Januar 2019 at 0:32

    Hey,

    der Bot ist echt super simpel und funktioniert auch mit Netzwerklaufwerken, dafür schon mal doppelte Pluspunkte. Das kann der Red MusicBot nicht.
    Allerdings wollte ich meine Musikbibliothek (~60GB) vom NAS angeben, da sucht er sich erstmal einen Wolf und hat auch diverse ID3 Tag Probleme. Erst nachdem er alles durchsucht hat verbindet er sich auf den Server. Wäre es möglich zuerst auf den Server zu verbinden und schonmal ein Lied abzuspielen (je nachdem ob Shuffle aktiviert ist oder nicht) und erst dann alles initialisieren?

    Grüße

    • David Schulte
      12. Januar 2019 at 10:30

      Hi,

      über die Verwendung einer so großen Bibliothek hatte ich ehrlich gesagt gar nicht gedacht. Aber du hast recht. Das ist unschön. Ich überlege mir dazu etwas. Spontan fallen mir drei Lösungen ein.

      1. Das Programm listet im ersten Schritt nur die Dateien auf. Der Lesezugriff auf die Dateien entfällt in diesem Schritt und kann im Hintergrund nachgehohlt werden. Der /play Befehl findet währenddessen natürlich noch nicht alle Lieder. Wie schnell das über das Netzwerk funktioniert muss sich zeigen.
      2. Das Programm durchsucht die Dateien im Hintergrund. Beim Programmstart wartet das Programm eine angemessene Zeit (z.B. 5 Sekunden) bis genügend Titel geladen wurden und startet dann mit der vorhandenen Liste die Wiedergabe. Die Shuffle-Funktion wäre dann beim Starten natürlich nicht mehr 100% zufällig, aber … ganz im Ernst … das ist egal.
      3. Das Programm durchsucht einmal die Bibliothek und speichert den Index in einer Datei ab, die anschließend sehr schnell geladen werden kann. Parallel prüft das Programm auf Änderungen der Bibliothek und passt ggf. den Index an.

      Vermutlich wäre die schönste Lösung einen Hybriden aus allen drei Punkten zu bauen. Ich überlege mir mal was dazu.

  • Barbiie
    31. Mai 2019 at 14:15

    scheint wohl nicht mehr zu funktionieren.
    “there are no allowed users to control this bot”
    egal was und wie ich es eingebe.
    schade.

    • David Schulte
      31. Mai 2019 at 18:02

      Hi,

      ich kann mir deine config.xml Datei mal anschauen. Wenn du möchtest, kannst du sie mir per E-Mail an die mail@david-schulte.de senden. Alles weitere würde ich dann per E-Mail klären.

      Mit freundlichen Grüßen
      David

  • JAST
    17. November 2019 at 17:13

    Hi, erstmal danke für den Bot, funktioniert einwandfrei, ich hoffe, du bekommst das Qualitätsproblem noch hin, für den Hintergrund reicht es aber auch so. Eine Frage noch, ist es möglich, den aktuell abgespielten Titel in einem selbst definierten Textchannel zu posten? Da er ja schon in der Konsole angezeigt wird gibt eventuell einen Weg, das auch in einen Channel auszugeben, ist kein must have, wäre aber ein nettes Feature.

    • David Schulte
      17. November 2019 at 20:13

      Hi Jast,

      das Feature kann ich gerne optimal einfügen. Seit Anfang des Jahres gibt es das Projekt jetzt auch auf GitHub (https://github.com/Arcus92/DiscordMusicPlayer). So kann auch jeder den Quellcode einsehen und selbst daran weiter basteln. Das Programm auf GitHub ist schon etwas weiter als hier auf der Homepage. Der Sound läuft etwas besser und ich habe viele, viele Fehler behoben. Es basiert außerdem auf einer neuen Platform (.Net-Core) und kann somit für Linux und Mac erstellt werden. Leider konnte ich davon noch kein Download fertig machen, da das Programm auf dieser Basis 200mb groß wäre. Im letzen Monat ist jedoch .Net-Core 3 erschienen. Damit ist es möglich den Download wieder zu verkleinern – auf ca. 30mb. Das ist immer noch groß, aber dafür muss der Anwender kein .Net Framework mehr installieren.

      Lange Rede, gar kein Sinn: Es wird demnächst ein Update geben.

  • JAST
    17. November 2019 at 20:31

    Danke dir, dann werde ich öfters mal vorbeischauen zwecks Update.

  • Gary
    10. April 2020 at 12:45

    Hallo, habe alles, wie ich glaube, exakt so gemacht wie angegeben, auch c++ 2015 etc. wie angegeben installiert, aber das Fenster zuckt beim Programmstart nur kurz auf und ist dann wieder weg. Der Bot erscheint bei Discord, allerdings immer unter “offline”. Kann es damit was zu tun haben? Bin ratlos. Viele Grüße

    • David Schulte
      10. April 2020 at 19:06

      Hi Gary,

      kannst du mir die Absturzmeldung per E-Mail zukommen lassen? Die Absturzmeldung findest du in der Windows-Ereignisanzeige (Windows-Taste+R, ‘eventvwr’ eingeben und Enter). Gehe auf Windows-Protokolle -> Anwendung. Dort sollte es einen ‘Fehler’ von ‘.NET Runtime’ geben. Klicke den Eintrag an und kopiere die Meldung im unteren Fenster. Sende die Meldung einfach an die mail@david-schulte.de. Dein Betriebssystem(z.B. Windows 10 64bit) und die Programmversion wären außerdem hilfreich. Ich schaue mir das dann sofort an.

      • Ronja
        2. Juni 2020 at 18:35

        Ich hab das gleiche Problem, aber bei mir wird da auch keine Meldung angezeigt

  • Lennart
    20. Mai 2020 at 21:28

    Vielen Dank für das Programm und die kleinschrittige Anleitung! Funktioniert auch soweit alles bei mir. Das einzige Problem, das ich habe, ist, dass die Musik mit lautem Rauschen abgespielt wird (das Rauschen ist beinahe lauter als die Musik). Wo kann ich da mit dem Trouble Shooting anfangen? Vielen Dank im Voraus!

  • Freddy
    14. Juni 2020 at 11:20

    Hi, das Programm klappt einwandfrei. Vielen Dank dafür und auch für die super verständliche Anleitung!
    Zur Perfektion des Programms würde ich mir allerdings noch die Möglichkeit wünschen, dass ein Musiktitel auf Repeat gesetzt werden kann. Ist das möglich?
    Vielen Dank für die Antwort bereits im Voraus.

    • Manuel
      19. Dezember 2020 at 8:56

      Inhaltlich wollte ich exakt dasselbe Schreiben wie Freddy: Super! Mit Repeat noch Superer ^-^

  • Martin
    8. Juli 2020 at 19:43

    Bei mir ist der Bot leider auchimmer offline und die Konsole taucht nur kurz auf.

    Würde mich über Lösungsmögl. freuen

  • timboslyce
    29. November 2020 at 14:23

    Moin David, erstmal großen Dank.

    Eine Frage gibt es Möglichkeiten einzelne Verzeichnisse anzusteuern, so dass sie als Playlists fungieren ?

    Beste Grüße!

  • Justin
    25. Februar 2021 at 12:15

    Funktioniert perfekt! Geil wäre noch, wenn man dies in Linux schreiben würde…

    • David Schulte
      25. Februar 2021 at 15:33

      Danke für das Feedback.

      Tatsächlich kannst du das Tool unter Linux betreiben. Es gibt leider nur kein Setup dafür, aber wenn du es selbst über .NET-Core kompilierst kannst du es nutzen. Du musst nur die FFMPEG-Binary installiert haben. Ich habe das damals unter Ubuntu getestet.

      Dafür müsste ich mal ein Setup machen und/oder eine Anleitung schreiben…

  • jens
    9. April 2021 at 11:58

    Moin Moin,

    Danke für die ganze Arbeit. Würde den sehr gerne dauerhaft nutzen, allerdings hab ich ein wenig Probleme mit der Sopundqualität. Kann es sein das der Bot ausschliesslich 48bit/s abspielt ? Hab zumindest ein ganz schönes Hintergrundrauschen.

    Kann man das “einfach fixen” ?

    Gruß und Danke,
    Jens

    • David Schulte
      9. April 2021 at 13:32

      Hallo Jens,

      Ja, der Bot kann nur mit 48bit/s übertragen. Ich bin mir nicht sicher, wie ich das beheben kann. Premium Discord-Server erlauben eine höhere Bitrate, allerdings kann ich die über die Discord.NET API nicht setzen.

      Ich habe da schon einiges versucht: Wenn ich z.B. einfach mehr Bits sende, werden die Daten trotzdem in 48bit/s abgespielt – die Musik wird dann einfach langsamer.

      Über die native / offizielle API ist es wohl möglich die Übertragungsrate zu ändern. Da muss ich mich mal schlau machen und das notfalls von Hand in die Discord.NET API einbauen. Ich kann dir leider nicht versprechen, wann ich das mache (oder ob das so möglich ist). Aktuell gibt’s hier viel zu tun.

      Gruß David

  • 23. Mai 2021 at 0:29

    Hi, ich finde die Grund Idee Toll hinter diesem Bot, es hat leider bei mir nur bis zu Schritt 4 funktioniert und Schritt 5 nicht mehr. Und zwar wenn ich die Datei DiscordMusicPlayer.exe öffnen möchte kommt ein blaues Fenster wo folgendes steht: Der Computer wurde durch Windows geschützt
    Von Microsoft Defender SmartScreen wurde der Start einer unbekannten App verhindert. Die Ausführung dieser App stellt u. U. ein Risiko für den PC dar.
    Weitere Informationen . Wenn ich dann auf Weitere Informationen Klicke kann ich die Datei trotzdem ausführen aber sie schließt sich sofort wieder. Ich kann die Applications die man herunterladen muss um DiscordMusicPlayer.exe ausführen zu können kann ich nicht herunterladen da dann da steht das ich eine neuere Version davon habe und deshalb der Download nicht durchgeführt wird. Kann mir jemand helfen?
    LG
    WebbyTax

  • jens
    2. Juni 2021 at 13:06

    Moin Moin,

    Habe mal wieder eine Frage.
    Ich nutze immernoch die Version 1.0.8 des Bots.

    aus 2 Gründen.

    Version 1.2 lässt sich starten, aber die Musik ist sehr verzerrt und schnarrt beim abspielen.
    Version 1.3 lässt gar nicht erst die exe öffnen. Habe extra nochmal das von dir erwähnte Visual C++ Redistributable für Visual Studio 2015 installiert, aber dennoch öffnet es sich nicht.

    Das Fenster ploppt kurz auf und schliesst sich direkt wieder.

    Hast du vielleicht eine Idee woran das liegen könnte ?

    Gruß,
    Jens

    • David Schulte
      2. Juni 2021 at 21:52

      Hallo Jens,

      Ja, ich habe bei der 1.3 leider die falsche .NET Core Version benutzt. Ich habe mit den neuen .NET 5 experimentiert und das versehentlich veröffentlicht. Parallel dazu habe ich die Homepage neu aufgesetzt und das Download-Plugin mit der alten Version funktioniert noch nicht. Ich versuche das alles zu korrigieren.

      Das Problem mit der schlechten Abspiel-Performance ist mir bekannt und ich versuche das in den Griff zu bekommen.

      Gruß
      David

  • Mattes Becker
    3. Juni 2021 at 14:19

    Du hast in deinem Status “klebet” und nicht “klebt” geschrieben.
    Das verursacht mentale Schmerzen.
    LG M. XD

    • David Schulte
      3. Juni 2021 at 14:22

      Danke für den Hinweis. Der Status war auch eigentlich ein Platzhalter und sollte garnicht übernommen werden.

      Das ist vermutlich nicht der einzige Fehler auf der Seite…

  • David
    29. Juni 2021 at 9:34

    Gibt es davon ein Docker?

    Gruß David

    • 30. Juni 2021 at 19:25

      Hi,

      das ist eine interessante Idee. Bis jetzt habe ich noch nicht darüber nachgedacht. Ich versuche mal ein Container zu erstellen.

      Gruß … ebenfalls David

      • David
        30. Juni 2021 at 21:50

        Das wäre Super und ich werde es testen 🙂