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

76 lines
2.5 KiB
Java
Raw Normal View History

package moe.oko.Kiafumi.command;
import moe.oko.Kiafumi.Kiafumi;
import moe.oko.Kiafumi.util.CommandInfo;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
2022-03-28 20:24:34 +00:00
import java.awt.Color;
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) {
switch(name.toLowerCase(Locale.ROOT)) {
case "ping":
2022-03-28 17:25:03 +00:00
e.deferReply().queue();
long sentMs = e.getTimeCreated().toInstant().toEpochMilli();
long recMs = System.currentTimeMillis();
long ping = sentMs - recMs;
2022-03-28 17:25:03 +00:00
EmbedBuilder eb = new EmbedBuilder().setColor(Color.PINK)
.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 List<CommandInfo> getSlashCommandInfo() {
List<CommandInfo> si = new ArrayList<>();
CommandInfo ci = new CommandInfo("ping", "pings the server with a comedic message :)");
si.add(ci);
return si;
}
}