Discord Bot - Welche Bibliothek, wie macht ihr das?

  • Grüsse euch ihr lieben NetzUnity User,

    ich hatte mal vor ner Ewigkeit mit einem aller ersten Discord Bot angefangen welchen ich aber dann aus irgendeinem Grund verloren/gelöscht habe. Hat denn jemand hier die Muse mich mit ein paar kurzen, knappen Worten auf den neusten Stand zu bringen? Welche Bibliothek nutzt ihr oder habt ihr sogar eigene libs?

    Der Hintergrund: Ich brauche mal wieder auf meinem Discord einen eigenen, kleinen und minimalen Bot der nur ein paar kleinere Aufgaben erfüllt wie zb. Events Logging (Channels, Messages, Roles etc) und nebenbei Push aus meiner Lara App .. habe grade sogar die alte Jar gefunden aber denke damit kann ich only compiled nichts mehr anfangen oder? Sorry aber auf dem gebiet war ich noch nicht sooo lange unterwegs.

    Liebe Grüsse

  • Zur hilfreichsten Antwort springen
  • evarioo 27. Dezember 2023 um 01:36

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.
  • Ich habe imunendlich viele Fragen :) nein Quatsch eigentlich nur eine .. bot im Docker Container ist genau das was ich suche allerdings habe ich es zwar bisher geschafft aber durch mangelndes Verständnis seitens Docker hab ich es nie geschafft das Debian slim Image so zu bauen das es sich jedesmal den Bot mitgestartet hat.

    Nur mal so zum Spass meine Schritte:

    1) Container mit Debian Slim Image erstellen

    2) Java und alle benötigten Tools installieren per bash Login (auf dem Container)

    3) User erstellen (nenn ihn meistens Docker) alle Dateien + jar in den entsprechenden home Ordner und starten

    Das Problem war aber immer das nach einem Neustart/kill whatever, der Container auf einmal kein Java mehr hatte .. quasi wie zurückgesetzt.

    Hast du da ein Image was du benutzt was ich eventuell mitnutzen kann?

    Würdest mir den Tag retten ❤️

  • SO oft nutze ich docker nicht und mit den paar die ich da am laufen haben gewinn ich keinen krieg das sind alles fertige images gewesen für entsprechende aufgaben zb bitwarden.

    Also WAS ich weiss .. temporär ist bestimmt auf das Volumen bezogen? Wenn ja dann war der nicht temporär sondern war per link auf ein verzeichnis im host gemountet. :)

  • Bau mal dein Docker mit Dockerfile so:

    Code
    FROM openjdk:latest
    
    WORKDIR /usr/src/app
    
    COPY dein-bot.jar .
    
    CMD ["java", "-jar", "dein-bot.jar"]

    Und führe deinen Docker so aus, sodass die Image die du dir gebaut hast auch beim Neustart startet, dann sollte es eigentlich funktionieren

    Code
    docker run -d --restart always dein-bot-image
  • Falls du Fragen bezüglich JDA hast auch gerne hier fragen^^

    Hey, ich hoffe ich habe dich richtig zitiert! Ich dachte ich komme mal auf dein Angebot zurück.

    Folgender Sachverhalt: Bin jetzt dabei den alten Bot etwas aufzupäppeln und komme auch ganz gut voran. Jetzt brauche ich aber doch mal etwas Hilfe von dir .. ich hätte gerne einen Embed Builder .. und zwar soll das ganze quasi vom Browser aus gemacht werden. Wie ich ein Embed mit dem Bot aufbaue weiß ich .. aber wie bekomme ich es hin das:

    Adminpanel -> Datenbank -> Bot -> Discord Server

    oder stelle ich mir das zu kompliziert vor? Ich bin einfach viel zu faul jedes mal die Embeds per Chat zu gestalten.

    Ich habe auf Github ein aktuelles aber privates Repo .. wenn du möchtest, kannst und gerne würdest fände ich es toll wenn du mir bei der idee eventuell ein paar tipps geben könntest. Discord Bot waren bisher nicht meins aber ich finde es gar nicht verkehrt .. ::)

    Nachtrag: Wenn du dich bei mir meldest kann ich dir natürlich zugriff auf das Repo geben.

    Nachtrag2: Wegen dem Docker Image später: Ist es wichtig welche Java Version ich beim programmieren benutze? Ich nehme immer das aktuellste aber bilde mir ein das es nicht immer das aktuellste als Serverversion gibt .. keine Ahnung wie ich das erklären soll. Jedenfalls ist das mein Run Setup:

    Ist das mit einem Webinterface in Verbindung mit dem Bot in einem Docker Container überhaupt möglich? Klar.. reverse Proxy und co aber ich meine damit ob ich es schaffe das Interface mit dem Docker Container kommunizieren zu lassen.

    Nachtrag3: Danach ist Schluss :D sorry .. so schaut mein Dockerfile aus:

    (Schleichwerbung ist extra auffällig positioniert ;) )

    Ganz liebe Grüsse

  • Um mal hier auch auf deine Chat Nachrichten einzugehen:

    Zitat

    gibts eine möglichkeit bei intelij den github push so zu manipulieren das er beim push direkt sensible daten entfertn? zb api tokens

    Zitat

    Weil ich aktuell einen Bot develope und da einen Token drinnen habe. Das repo steht sowieso auf private erstmal aber rein aus neugier ..


    Wieso hast du überhaupt solche Daten in deinem Code? Java schon ewig nicht mehr benutzt, aber dort gibt es bestimmt auch Environment Files! Die sehen dann so aus, super nützlich!

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Aktuell arbeite ich ausschließlich mit Commands auf dem Discord Server. Habe den Embed Builder beispielsweise mit der Formular Funktion gelöst finde ich eine gute Alternative, wenn man kein Adminpanel besitzt.

    Aktuell bin ich dabei auf MongoDB umzubauen, aber vorerst mache ich kein Adminpanel dazu die Funktionen, die ich habe funktionieren aktuell prima ohne.

  • Habe den Embed Builder beispielsweise mit der Formular Funktion gelöst finde ich eine gute Alternative, wenn man kein Adminpanel besitzt.

    Alter 🤦‍♂️ wie easy ist das bitte .. Sau gut! Das würde mir auch reichen. Mach ich mir so. Sag Mal wo ich Grade hier bin 😁 bzw du haha: Es gab irgendwann bei jda mal GuildController um Member von Voicechannels zu move aber ich finde die nicht mehr bzw hab gelesen das es die nicht mehr gibt. Gibt's da eine alternative von der du weißt um Member zu moven?

  • evarioo 11. Januar 2024 um 12:51

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.
  • Puuh! Wild. Ich danke dir! Eine allerletzte Frage dann habe ich erstmal genug Ansätze bekommen:

    Diese Geschichte mit dem Formular und dem Embed Builder. Ich habe echt so bisher kaum Ahnung von Java und das ist quasi mein erstes Mal so. Wie bekomme ich dieses Form dann zu meinem Bot? Per Webhook und Discord API oder kann ich den Bot direkt ansprechen?

    Danke dir/euch

  • Wenn du dich mit Java nicht auskennst, wieso nimmst du das und nicht etwas wo du kennst?

    Weil ich ja bereit bin zu lerne und keine ganzen Code Blöcke suche. Verstehe das Problem mit der DIY Methode .. und ich frage hier damit jede was davon hat. Ausserdem erschien mir Blacksonny als der richtige Mann für meine Fragen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!