Discord Bot - Funktion wird nicht aufgerufen

Hey ich programmiere einen Discord Bot in Java Maven.

Ich habe einen Command, der einem User einen Rang für bestimmte Zeit vergeben soll, in dem Fall einen Muted Rang. Beim kompilieren bekomme ich keinen Fehler, aber der Command wird nicht ausgeführt. Ich bekomme nicht einmal den Embed Builder zurück..
Das ist mein CommandManager (Funktion wurde natürlich registriert)

Java:
public class CommandManager {


    public ConcurrentHashMap<String, ServerCommand> commands;

    public CommandManager() {


        this.commands = new ConcurrentHashMap<>();


        this.commands.put("clear", new ClearCommand());

        this.commands.put("preview", new PreviewCommand());

        this.commands.put("client", new ClientInfoCommand());

        this.commands.put("help", new HelpCommand());

        this.commands.put("vote", new VoteCommand());

        this.commands.put("play", new PlayCommand());

        this.commands.put("stop", new StopCommand());

        this.commands.put("trackinfo", new TrackInfoCommand());

        this.commands.put("shuffle", new ShuffleCommand());

        this.commands.put("statchannel", new StatChannelCommand());

        this.commands.put("timerank", new TimeRankCommand());

    }


    public boolean perform(String command, Member m, TextChannel channel, Message message, MessageReceivedEvent event) {


        ServerCommand cmd;


        if((cmd = this.commands.get(command.toLowerCase())) != null) {

            cmd.performCommand(m, channel, message, event);

            return true;

        }

        return false;

    }

}
Das hier ist der Command, der ausgeführt werden soll:

Java:
public class TimeRankCommand implements ServerCommand {


    @Override

    public void performCommand(Member m, TextChannel channel, Message message, MessageReceivedEvent event) {


        //~timerank @User

        if (m.hasPermission(Permission.ADMINISTRATOR)) {

            List<Member> members = message.getMentionedMembers();


            if(members.size() >= 1) {

                for(Member memb : members) {


                    Guild guild = channel.getGuild();

                    Role role = guild.getRoleById(648047607486087168l);


                    if(memb.getRoles().contains(role)) {


                        guild.addRoleToMember(memb, role).queue();


                        LiteSQL.onUpdate("INSERT INTO timeranks(userid, guildid) VALUES(" + memb.getIdLong() + ", " + guild.getIdLong() + ")");


                        EmbedBuilder builder = new EmbedBuilder();

                        builder.setTitle("Timerank");

                        builder.setThumbnail("http://i.epvpimg.com/toDBaab.png");

                        builder.setFooter("Powered by Backxtar.");

                        builder.setTimestamp(OffsetDateTime.now());

                        builder.setColor(0xf22613);

                        builder.setDescription(memb.getAsMention() + " is **MUTED** for 15 minutes!");

                        channel.sendMessage(builder.build()).queue();

                    }

                }

            }

        }

    }

}
Und das ist mein LiteSQLManager

Java:
public class SQLManager {


    public static void onCreate() {


        //TimeRank

        LiteSQL.onUpdate("CREATE TABLE IF NOT EXISTS timeranks(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, userid INTEGER, guildid INTEGER, time TIMESTAMP DEFAULT CURRENT_TIMESTAMP)");

    }


}
Diese Funktion wird jede Minute aufgerufen und soll prüfen, ob der User die 15 Min überschritten hat oder nicht. Wenn ja -> soll die Rolle wieder entfernt werden:

Java:
public void onCheckTimeRanks() {

        ResultSet set = LiteSQL.onQuery("SELECT userid, guildid FROM timeranks WHERE ((julianday(CURRENT_TIMESTAMP) - julianday(time)) * 1000) >= 15");


        try {

            while(set.next()) {

                long userid = set.getLong("userid");

                long guildid = set.getLong("guildid");


                Guild guild = this.shardMan.getGuildById(guildid);

                guild.removeRoleFromMember(guild.getMemberById(userid), guild.getRoleById(648047607486087168l)).complete();


                LiteSQL.onUpdate("DELETE FROM timeranks WHERE userid = " + userid);

            }

        } catch (SQLException e) {

            e.printStackTrace();

        }

    }
Hat irgendjemand Hilfe.. ich verzweifle daran....
 
schwer zu sagen... was sagt denn dein Debugger?
Hast du das auf nem git liegen, wo man es mal auschecken kann?
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben