Discord Music Player

Der Discord Music Player ist ein kleines Programm, welches in einem Discord Voicechat beliebige MP3-Dateien abspielen kann. Das Programm gibt sich als Bot aus und kann zum Beispiel für Hintergrundmusik eingesetzt werden.

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_MESSAGES, SEND_MESSAGES, CONNECT 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:

<Token>YourSecretToken</Token>
Der Text YourSecretToken muss durch deinen Bot-Token ersetzt werden.

<Guild>YourGuildName</Guild>
Der Text YourGuildName muss durch deinen Server-Namen (oder ID) ersetzt werden.

<Channel>YourVoiceChannelName</Channel>
Der Text YourVoiceChannelName muss durch den Voice-Channel-Namen (oder ID) ersetzt werden.

<Shuffle>false</Shuffle>
Gibt an ob die Reihenfolge der Musiktitel geshuffelt werden soll (true = Ja, false = Nein).

<Volume>10</Volume>
Definiert die Standardlautstärke (in %).

<Directories>
<Directory>C:\Users\Username\Music\</Directory>
</Directories>

Definiert den Pfad aus den die Musiktitel geladen werden. Es werden ebenfalls Unterordner durchsucht. Du kannst auch mehrere Verzeichnisse angeben.

<AllowedUsers>
<AllowedUser>Username#1337</AllowedUser>
</AllowedUsers>

Definiert die Benutzer, die den Bot per Direktnachricht steuern können. Du kannst auch mehrere Benutzer angeben.

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

Join the discussion 18 Kommentare

  • David Mitrovic sagt:

    Wow, vielen Dank, funktioniert super!

  • Maximussta sagt:

    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 sagt:

      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.

  • blub sagt:

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

    • David Schulte sagt:

      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 sagt:

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

  • Maximussta sagt:

    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 sagt:

    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 sagt:

      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 sagt:

    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 sagt:

    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 sagt:

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

      • David Schulte sagt:

        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 sagt:

    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 sagt:

      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 sagt:

        Sind beide installiert (allerdings in neuerer Version).

        • David Schulte sagt:

          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

Schreibe einen Kommentar

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