kiafumi/src/main/java/moe/oko/Kiafumi/command/PingCommand.java

75 lines
2.5 KiB
Java
Raw Normal View History

package moe.oko.Kiafumi.command;
import moe.oko.Kiafumi.Kiafumi;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import java.awt.*;
import java.time.temporal.TemporalField;
import java.util.*;
import java.util.List;
public class PingCommand extends CommandClass{
//Always true, ping cmd is EXISTENTIAL
@Override
public boolean isEnabled() {
return true;
}
@Override
public String getName() {
return "Ping";
}
@Override
public void legacyCommand(String[] args, MessageReceivedEvent e, boolean prefix) {
if(!prefix) { return; }
switch(args[0].toLowerCase()) {
case "ping":
long sentMs = e.getMessage().getTimeCreated().toInstant().toEpochMilli();
long recMs = System.currentTimeMillis();
long ping = sentMs - recMs;
EmbedBuilder eb = new EmbedBuilder().setColor(new Color(0x6271c1))
.setFooter("ping pong :)").setTitle(getComedy()).setDescription("Pinged " + ping + "ms");
e.getChannel().sendMessageEmbeds(eb.build()).queue();
return;
default:
//how
}
}
@Override
public void newCommand(String name, SlashCommandInteractionEvent e) {
e.deferReply().queue();
switch(name.toLowerCase(Locale.ROOT)) {
case "ping":
long sentMs = e.getTimeCreated().toInstant().toEpochMilli();
long recMs = System.currentTimeMillis();
long ping = sentMs - recMs;
EmbedBuilder eb = new EmbedBuilder().setColor(new Color(0x6271c1))
.setFooter("ping pong :)").setTitle(getComedy()).setDescription("Pinged " + ping + "ms");
e.getHook().sendMessageEmbeds(eb.build()).queue();
return;
default:
}
}
private String getComedy() {
Random r = new Random();
return Kiafumi.instance.config.getPingResponses().get(r.nextInt(Kiafumi.instance.config.getPingResponses().size()));
}
@Override
public List<String> getCommandsAsList() {
return null;
}
@Override
public HashMap<String, String> getSlashCommandInfo() {
HashMap<String, String> si = new HashMap<>();
si.put("ping", "Bounces back a funny response :)");
return si;
}
}