Bot für Discord

Freshy

Mitglied
Der letzte Code von Dir war in #22 und da war außer dem Timer nichts zu sehen. Sorry, dass meine Glaskugel kaputt ist und ich daher Deinen aktuellen Stand nicht sehen konnte.

Es geht ja auch jetzt nicht um die Integration in Discord sondern um das Erstellen des Timers.
Sicher, dass Du da zwei Mal new CommandManager() brauchst

Wo ist den das new CommandManager() 2x vorhanden?

QUOTE="Robat, post: 1189726, member: 42829"]
In der 4.0 BETA Version wurden das `core` Package in `api` umbenannt.
[/QUOTE]

Das ist ja alles richtig so.

Die ganzen Punkte, dass du zB schon einen lauffähigen Bot hast etc, hättest du ruhig am Anfang mit nennen können. Im ersten Post sah es so aus als hättest du NUR die main-Methode.

Ja, aber es ging ja jetzt prinzipiell NUR um das erstellen eines funktionstüchtigen Timers. Deswegen hatte ich es nicht für notwendig gehalten, die Integration mit zu posten.
 

Robat

Top Contributor
Na wenn es dir NUR um den Timer geht hast du ja wiederholt schon antworten bekommen.. hier noch mal
Java:
final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(() -> {
     System.out.println("nächste Nachricht in 1h");
}, 0, 1, TimeUnit.HOURS);
Du scheinst aber nicht so richtig zu wissen wohin mit dem Code?
 

Freshy

Mitglied
Also wohin das weiß ich. Aber der Code ist falsch/die Imports fehlen bei mir. Die folgenden Fehler tauchen auf:

  • Multiple markers at this line
    - ScheduledExecutorService cannot be resolved
    to a type
    - Executors cannot be resolved
  • Syntax error on token ".", @ expected after this token
  • Multiple markers at this line
    - Syntax error, insert "Identifier (" to complete
    MethodHeaderName
    - Syntax error on tokens, delete these tokens
    - Syntax error, insert "SimpleName" to complete
    QualifiedName
    - Syntax error, insert ")" to complete MethodDeclaration

Und der Befehl System.out.println("") gibt den Text ja in der Konsole aus, der Bot soll den Text aber in einem Channel ausgeben.
 

Robat

Top Contributor
Auf der einen Seite sagst du, du weißt wohin mit dem Code, auf der anderen Seite schreibst du dass er ja nur etwas auf der Konsole ausgibt. Das ist mir schon klar .. aber wenn du weißt wohin mit dem Code wird es ja auch ein leichtes Unterfangen sein, die Konsolenausgabe mit einer Ausgabe auf dem Server zu ersetzen.

Mich würde wirklich mal interessieren, wo du den Code hinkopiert hast. Das ganze klingt irgendwie so, als würde es nicht in einer Methode, sondern direkt in einer Klasse stehen. Und wenn du selber sagst, dass dir Imports fehlen, dann füg sie doch hinzu?

Weil Wochenende ist .. ein letzer Versuch mit einem kompletten Code - sogar mit Imports und der JDA Version, die du verwendest.
Java:
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.OnlineStatus;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;

import javax.security.auth.login.LoginException;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class TimerBotExample {

    public TimerBotExample() throws InterruptedException, LoginException {
        JDA jda = new JDABuilder("TOKEN")
                .addEventListeners(new MessageListener())
                .setActivity(Activity.playing("Some game..."))
                .setStatus(OnlineStatus.ONLINE)
                .build();
        jda.awaitReady();

    }

    class MessageListener extends ListenerAdapter {
        @Override
        public void onMessageReceived( MessageReceivedEvent event ) {
            final User author = event.getAuthor();

            if(!author.isBot()) {
                Message message = event.getMessage();
                String displayMessage = message.getContentDisplay();

                if(displayMessage.equals("/start")) {
                    ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
                    service.scheduleAtFixedRate(() -> event.getChannel().sendMessage("Next message in 1h...").queue(), 0L, 1L, TimeUnit.HOURS);
                }
            }
        }
    }

    public static void main( String[] args ) throws LoginException, InterruptedException {
        new TimerBotExample();
    }
}
Das ist ein vollständiges Beispiel von einem Discord-Bot der einen Timer startet sobald du /start schreibst. Er gibt dann jede Stunde 1 mal die Nachricht "Next message in 1h.." aus. Dem ganzen müsste man natürlich noch ein kleines Refactoring unterziehen im Sinne von MessageListener in eine eigene Datei, nur 1 Timer starten, .. aber das spielt jetzt gerade keine Rolle.
 

Freshy

Mitglied
Danke. Das funktioniert. Du hast gesagt
Und wenn du selber sagst, dass dir Imports fehlen, dann füg sie doch hinzu?
. Ja, wie soll ich denn wissen, welche Imports es sind, bzw. die Bezeichnung?

Natürlich müsste man noch bei deinem Code eine Stopp Methode einfügen, aber das spielt jetzt auch keine große Rolle.

Shit... mir ist gerade was aufgefallen. Der Timer ist ja hauptsächlich dazu da, dass er einen Command senden soll, worauf ein anderer Bot antworten soll. Nun ist das Problem, dass der Bot, der den Command dann ausführen soll, diesen nicht ausführt. Nur wenn ich den Command schreibe, dass wird dieser ausgeführt.

Gibt es eine Möglichkeit, dass man den Bot irgendwie als normalen User "tarnen" kann?
 

Robat

Top Contributor
Kann es sein, dass du ohne IDE (Eclipse, Netbeans, Intellij, ... ) programmierst?
Eine IDE würde dir automatisch sagen wenn Klassen einen Import brauchen.
Wie du die Imports rauskriegst hab ich hier schon mal angesprochen. Das sollte dir die IDE (also Eclipse bei dir) automatisch sagen ..
Ob du den Bot tarnen kannst, weiß ich nicht. Kannst du die Funktion des Bots nicht einfach nachbasteln? Was macht der denn?
 

Freshy

Mitglied
Das sollte dir die IDE (also Eclipse bei dir) automatisch sagen ..
Ja, aber macht sie komischer Weise nicht. Vielleicht habe ich auch was falsches aktiviert, müsste ich mal nach gucken. Aber ich habe eigentlich nicht an den Einstellungen rum gebastelt.

Der Bot, der den Befehl ausführen soll, DISBOARD. Dieser Bot gehört zufälliger Weise zur Website disboard.org. Wenn man nun aller 1 Stunden den Befehl !disboard bump eingibt, wird mein Server auf der Website nach oben gepusht, sodass ich mehr User auf meinen Server bekomme und ich mein Netzwerk aufbauen kann. Und da ich nicht immer alle 1 Stunde den Befehl eingeben will, ist es viel effektiver, wenn man einen Bot hat, der das macht.
 

Robat

Top Contributor
Ich sags mal so. Wenn der Ersteller des anderen Bots nur will, dass dieses Command von Menschen ausgeführt wird, wird das schon seine Gründe haben ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Minecraft Frage für einen Minecraft Server Spiele- und Multimedia-Programmierung 2
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
B Deepmind Poker Bot für PokerStars konfigurieren? Spiele- und Multimedia-Programmierung 2
G Minecraft PlayerBot (Listener Thread für jeden Spieler?) Spiele- und Multimedia-Programmierung 3
K Wie bekomme ich eine Transition für alle Objekte zum stoppen? Spiele- und Multimedia-Programmierung 1
E Organisation für Game Spiele- und Multimedia-Programmierung 1
Excess Ballerfisch für Android Spiele- und Multimedia-Programmierung 3
coolian ich brauche irgendeine gui lib für lwjgl2 Spiele- und Multimedia-Programmierung 51
krgewb Anderer Algorithmus für Bounding Box Spiele- und Multimedia-Programmierung 9
MiMa MP3 Dateien für Metadaten abgleichen Spiele- und Multimedia-Programmierung 0
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
G Mikrophon-/Audiosteuerung für einen Character Spiele- und Multimedia-Programmierung 1
P Tennis- Spielstand- Zähler für Schule programmieren Spiele- und Multimedia-Programmierung 6
M Logik für ein Quiz Spiele- und Multimedia-Programmierung 7
P Hilfe für Seminar Arbeit Spiele- und Multimedia-Programmierung 9
MiMa Metadaten für Multimedia Daten ermitteln Spiele- und Multimedia-Programmierung 4
G Übungsprogramm für Matheaufgaben Spiele- und Multimedia-Programmierung 1
F Algorithmus für bessere Kollisionsabfragen Spiele- und Multimedia-Programmierung 10
S Bilder Für Schachfiguren Spiele- und Multimedia-Programmierung 14
Timo_neu_in_java Suche etwas einfaches für Anfänger Spiele- und Multimedia-Programmierung 6
I Minecraft Suche Plugin Developer für Minecraft Netzwerk! Spiele- und Multimedia-Programmierung 2
S GUI erstellen für Text Adventure Spiele- und Multimedia-Programmierung 4
S Eigene Klasse vec_t - 3 oder 4 Einheiten für x, y, z und w Spiele- und Multimedia-Programmierung 11
R Vererbbarer GameLoop für Engine Spiele- und Multimedia-Programmierung 14
J Vektor für Gravitation erzeugen Spiele- und Multimedia-Programmierung 34
I Minecraft: Craftingrecipe für Braustand ändern Spiele- und Multimedia-Programmierung 9
Z Minimax-Algorithmus für TicTacToe Spiele- und Multimedia-Programmierung 5
H KI für Spiele Spiele- und Multimedia-Programmierung 1
S Pssende Datenstruktur für ein Netz Spiele- und Multimedia-Programmierung 5
S MouseEvents für Sprites Spiele- und Multimedia-Programmierung 3
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
K Bestes Bildformat für Spielegrafiken und deren Einbindung in Java Spiele- und Multimedia-Programmierung 2
J mehrere Listener für einen Button / Label Spiele- und Multimedia-Programmierung 1
C Port umleiten: lesen und schreiben für MCServer-Client über Skype Spiele- und Multimedia-Programmierung 0
J Musik Bibliothek für GUI Spiele- und Multimedia-Programmierung 7
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
R Ratschlag für 2D-3D Engine für die Spieleentwicklung gesucht Spiele- und Multimedia-Programmierung 4
Androbin KI für Verfolgung im Raster Spiele- und Multimedia-Programmierung 2
A Bot für Browsergame Spiele- und Multimedia-Programmierung 2
H Tutorials für Fortgeschrittene 3D-Anwedungen Spiele- und Multimedia-Programmierung 2
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
Furtano Vektoren für Bewegung für eine 2D-Simulation Spiele- und Multimedia-Programmierung 3
T Sinusgenerator für eine Hp Spiele- und Multimedia-Programmierung 8
J Menü für Snakespiel in einzelnem JFrame Spiele- und Multimedia-Programmierung 5
M Minecraft weitere Java Entwickler für minecraft projekt gesucht Spiele- und Multimedia-Programmierung 0
Guybrush Threepwood Ketzerische Frage: Opus-Codec für Java Spiele- und Multimedia-Programmierung 14
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
N Animationen für ein 2D game Spiele- und Multimedia-Programmierung 6
S Aufbau für 2D Spiele Spiele- und Multimedia-Programmierung 7
L Client für ein Browsergame Spiele- und Multimedia-Programmierung 21
Devil0s Swing Elemente für Inventar? Spiele- und Multimedia-Programmierung 9
Kenan89 Ansatzfrage: Kartenspiel für 2 Spieler Online Spiele- und Multimedia-Programmierung 3
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
P Spielfeld für RPG Spiele- und Multimedia-Programmierung 15
Hoppelmann Alphamap (Bild) für 3D-Terrain generieren Spiele- und Multimedia-Programmierung 2
S Algorithmus zur Ressourcesuche für die KI Spiele- und Multimedia-Programmierung 5
M Farbwerte für Flächen aus einem Bild erkennen Spiele- und Multimedia-Programmierung 3
K Einfache Engine für einfaches 3D gesucht Spiele- und Multimedia-Programmierung 10
C KI für Skatspiel - Wie können die Computerspieler eigenständig handeln? Spiele- und Multimedia-Programmierung 10
S Aufbau von Klassen für Spiel Spiele- und Multimedia-Programmierung 13
Kenan89 Kleines Projekt für Java Spiele- und Multimedia-Programmierung 5
M Empfehlungen für ein 2D-Jump'n'run Spiele- und Multimedia-Programmierung 4
A Grundlagensuche für Spiel Spiele- und Multimedia-Programmierung 8
C Wo ist der MP3 Plugin für JMF? Spiele- und Multimedia-Programmierung 3
qwerqer Design Pattern gesucht für Spielregeln Spiele- und Multimedia-Programmierung 2
M Java als Programmiersprache für kommerzielle Spieleentwicklung? Spiele- und Multimedia-Programmierung 3
K Game Engine für selbstprogrammiertes Spiel Spiele- und Multimedia-Programmierung 27
Y Warum Thread für Spieleprogrammierung? Spiele- und Multimedia-Programmierung 27
A Music für Android game Spiele- und Multimedia-Programmierung 3
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
M Minecraft Suche Java Programmierer (für Minecraft) Spiele- und Multimedia-Programmierung 2
Luk10 Tipps für bessere Animationen / Grafik Engine Spiele- und Multimedia-Programmierung 2
T 2D Menü für 3D Spiel Spiele- und Multimedia-Programmierung 5
T Grundlagenwissen für den 3D Raum Spiele- und Multimedia-Programmierung 6
I getSubImage sorgt für starken Performanceeinbruch Spiele- und Multimedia-Programmierung 6
M technologie für video, webcam & co Spiele- und Multimedia-Programmierung 25
C Java für große Spiele geeignet ? Spiele- und Multimedia-Programmierung 101
D Libraryempfehlung für Effekte Spiele- und Multimedia-Programmierung 3
B Spiele programmieren für ein Fenster? Spiele- und Multimedia-Programmierung 14
D Tabelle für Spiel Spiele- und Multimedia-Programmierung 3
N Grundlagen für ein Jump&Run Spiele- und Multimedia-Programmierung 3
S Datenbank gesucht für Bilder(gif-dateien) Spiele- und Multimedia-Programmierung 5
J Suche 3D Programm für jMonkeyEngine Spiele- und Multimedia-Programmierung 5
W 3D-APIs für Java - Eine Übersicht Spiele- und Multimedia-Programmierung 8
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
S Game Client für kleine Competition Spiele- und Multimedia-Programmierung 3
F Programm für Bildbearbeitung gesucht: Skalieren und Speichern Spiele- und Multimedia-Programmierung 6
K Lösungsansätze für ein Spiel Spiele- und Multimedia-Programmierung 2
Plastagen Frameworls für Animationen und co Spiele- und Multimedia-Programmierung 3
aze Wie Transform3D für PosPathInterpolator bestimmen Spiele- und Multimedia-Programmierung 8
M Musik für Spiel wo downloaden? Spiele- und Multimedia-Programmierung 7
R Netzwerkstruktur für ein kleines Spiel Spiele- und Multimedia-Programmierung 8
O KI (künstliche Intelligenz) für Schachlogik Spiele- und Multimedia-Programmierung 4
J Brauche denkanstoß für kleines grafikframework Spiele- und Multimedia-Programmierung 3
A Countdown-Timer für Spiel Spiele- und Multimedia-Programmierung 4
J Tips für ein kleines Pong-Applet Spiele- und Multimedia-Programmierung 4
S Ein Thread für alle Animationen oder mehrere? Spiele- und Multimedia-Programmierung 2
S Grafik erstellen für Java Spiel Spiele- und Multimedia-Programmierung 8
G Javasimulatoren für Siemenshndys Spiele- und Multimedia-Programmierung 11
Developer_X Java3D-Ungeeignet für 3D Spiele wegen Heap Space=? Spiele- und Multimedia-Programmierung 23

Ähnliche Java Themen

Neue Themen


Oben