Bot für Discord

Freshy

Freshy

Mitglied
@mihe7 Achso. Ich möchte, dass der Bot in einen definierten Channel alle x Stunden einen Befehl hinein schreibt, worauf ein anderer Bot den Befehl ausführen soll.

Bei mir sieht der Quellcode jetzt folgendermaßen aus:
Code:
public class timer extends TimerTask {
    
    public void run() {
        System.out.println("Timer task started at: "+new Date());
        completeTask();
        TextChannel channel = event.getTextChannel();
        channel.sendMessage("Hi");
        System.out.println("Timer task finished at: "+new Date());
    }

    private void completeTask() {
        try {
            //assuming it takes 20 secs to complete the task
            Thread.sleep(20000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String args[]){
        TimerTask timerTask = new timer();
        //running timer task as daemon thread
        Timer timer = new Timer(true);
        timer.scheduleAtFixedRate(timerTask, 0, 10*1000);
        System.out.println("TimerTask started");
        //cancel after sometime
        try {
            Thread.sleep(120000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        timer.cancel();
        System.out.println("TimerTask cancelled");
        try {
            Thread.sleep(30000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    
}

Bei der Zeile, wo
Code:
 TextChannel channel = event.getTextChannel();
steht,
kommt der Fehler: event cannot be resolved.
 
mihe7

mihe7

Top Contributor
Ja, die Variable event gibt es nicht. Du wirst doch irgendeine Lib verwenden, um einen Bot zu implementieren.
 
Robat

Robat

Top Contributor
Mal grob skizziert (aber ohne IDE getestet .. kann also Typos enthalten ;) )
Java:
class BotExample extends ListenerAdapter {
    public static void main(String[] args) {
        try {
            JDA jda = new JDABuilder("TOKEN")
                    .addEventListener(new BotExample())
                    .build();
            jda.awaitReady();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    
    @Override
    public void onMessageReceived(MessageReceivedEvent event) {
        if(!event.getAuthor().isBot()) {
            String message = event.getMessage().getContentDisplay();
            if(message.equalsIgnoreCase("/start")) {
                final MessageChannel channel = event.getChannel();
                final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
                scheduler.scheduleAtFixedRate(() -> {
                    channel.sendMessage("Nachricht von /start .. nächste Nachricht in 1h").queue();
                }, 0, 1, TimeUnit.HOURS);
            }
        }
    }
}
 
mihe7

mihe7

Top Contributor
Das steht doch auf der Seite:

Java:
public class ReadyListener implements EventListener
{
    public static void main(String[] args)
            throws LoginException, InterruptedException
    {
        // Note: It is important to register your ReadyListener before building
        JDA jda = new JDABuilder("token")
            .addEventListener(new ReadyListener())
            .build();

        // optionally block until JDA is ready
        jda.awaitReady();
    }

    @Override
    public void onEvent(Event event)
    {
        if (event instanceof ReadyEvent)
            System.out.println("API is ready!");
    }
}

Außerdem: https://github.com/DV8FromTheWorld/JDA/wiki/3)-Getting-Started

EDIT: @Robat war schneller.
 
Freshy

Freshy

Mitglied
@Robat Danke. Jetz kommen aber folgende Fehler:

  • Multiple markers at this line
- JDA cannot be resolved to a type
- JDABuilder cannot be resolved
to a type

  • MessageChannel cannot be resolved to a type

  • Multiple markers at this line
- ScheduledExecutorService cannot be resolved
to a type
- Executors cannot be resolved

  • TimeUnit cannot be resolved to a variable
@mihe7 Das hat doch aber nix mit einem Timer zu tun?
 
Robat

Robat

Top Contributor
@Freshy und genau deswegen habe ich am Anfang gefragt, ob du die nötigen Grundlagen drauf hast.
Du musst natürlich die Klassen importieren. Und natürlich hat die Antwort von @mihe7 erstmal nichts mit einem Timer zu tun. Das ganze sollte als Grundlage dienen, wo du das Event herbekommst.

Nicht böse gemeint aber geh noch mal 3 Schritte zurück, nimm dir ein gutes Grundlagenbuch / Video / .. und lern die Basics.
 
Freshy

Freshy

Mitglied
Die Klassen sind doch aber schon importiert, oder welche meinst du?

Kannst du mir da was empfehlen? Ich würde jetzt aber kein Buch für 50€ kaufen, was nicht viel bringt. Ich denke, die Videos von simpleclub auf YT sind hilfreich.

Ich dachte, es kann doch nicht so schwer sein, einen Timer zu coden...
 
Robat

Robat

Top Contributor
Die Klassen sind doch aber schon importiert, oder welche meinst du?
Das kann ich dir nicht sagen. In meinem Beispielcode oben habe ich zB keine Imports mit angeführt.
Ich denke, die Videos von simpleclub auf YT sind hilfreich.
Nicht wirklich - die erklären das ganze nur seeehr grob. Ich kann dir nur die Oracle Docu + Tutorial empfehlen. Andere schwören auf die Java Insel.
Ich dachte, es kann doch nicht so schwer sein, einen Timer zu coden...
Ist es auch nicht wenn man die Grundlagen drauf hat ;)
 
Robat

Robat

Top Contributor
Gibts auch kostenlos im Netz.
Ich sehe aber bloß in Englisch, Deutsch ist da effektiver.
Auch da streiten sich die Geister. Wenn man wirklich Software entwickeln will kommt man irgendwann um Englisch nicht mehr drumherum.
Ich war ja mal bei einem Grundlagen Kurs, vor nem Jahr. Also sollte ich die Grundlagen ja drauf haben^^
Ich glaube wir haben eine unterschiedliche Auffassung von "Grundlagen". Die Grundlagen lernt man nicht mal eben in einem Kurs.
Da muss man schon etwas üben ;)
 
Freshy

Freshy

Mitglied
Gibts auch kostenlos im Netz.

Hier?

Wenn man wirklich Software entwickeln will kommt man irgendwann um Englisch nicht mehr drumherum.

Das ist mir schon klar. Aber ich muss ja verstehen, wenn man z.B. erklärt was eine Deklaration ist, was die mir da sagen. Da hilft Google Übersetzer auch nicht mehr. Es geht mir ja nicht um die Befehle usw. sondern um die Erklärungen etc. wie bei der Java Insel.

Die Grundlagen lernt man nicht mal eben in einem Kurs.

Naja, mein Kurs ging 1 Jahr.
 
Robat

Robat

Top Contributor
Aber ich muss ja verstehen, wenn man z.B. erklärt was eine Deklaration ist, was die mir da sagen.
Das sollte man auch auf Englisch verstehen. Aber da kommen wir wohl nicht auf einen Nenner. ;) Ist auch egal. Der Link von dir sollte der richtige sein.

Wie stehts denn nun eigentlich um deinen Bot.. wie weit bist du da?
 
Robat

Robat

Top Contributor
Und was für Fehler kommen? Die Imports die du für das Beispiel von oben brauchst:
Java:
import net.dv8tion.jda.core.JDA;
import net.dv8tion.jda.core.JDABuilder;
import net.dv8tion.jda.core.entities.MessageChannel;
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

Wie hast du eigentlich das coden gelernt?
Ich zitiere mal (ich glaub Sokrates war es): "Ich weiß, dass ich nichts weiß." :p
Man lernt beim Programmieren jeden Tag dazu. Angefangen hab ich vor ca 8 Jahren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
M 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
trustlesseyes 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
M 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
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
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
sla89 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
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
I Kritik/ Anregungen für mein zweites Spiel Spiele- und Multimedia-Programmierung 39
morkuzz Grafische Oberfläche für Schachprogramm - Welche? Spiele- und Multimedia-Programmierung 6
V Java3D: Ringe für Saturn erstellen Spiele- und Multimedia-Programmierung 8
D STARTHILFE gesucht !! Java-Projekt für Schule !! Spiele- und Multimedia-Programmierung 73
M Gibt es ein deutsches Board für die jmonkey engine? Spiele- und Multimedia-Programmierung 7

Ähnliche Java Themen

Anzeige

Neue Themen


Oben