Increase logging within commands & listeners

This commit is contained in:
Anya 2022-05-19 19:41:32 -07:00
parent 35512486ad
commit ba34562917
8 changed files with 28 additions and 14 deletions

View File

@ -145,6 +145,7 @@ public class Kiafumi {
.setFooter(footer) .setFooter(footer)
.setTimestamp(ZonedDateTime.now()); .setTimestamp(ZonedDateTime.now());
JDA.getTextChannelById(config.getLogChannel()).sendMessageEmbeds(build.build()).queue(); JDA.getTextChannelById(config.getLogChannel()).sendMessageEmbeds(build.build()).queue();
info("Shutting down Kiafumi.");
if(database.saveServerInformation()) { if(database.saveServerInformation()) {
info("Successfully saved server information. Shutting down peacefully."); info("Successfully saved server information. Shutting down peacefully.");
} else { } else {
@ -191,9 +192,12 @@ public class Kiafumi {
private void registerAllCommands() { private void registerAllCommands() {
// Registers slash commands. // Registers slash commands.
info("Registering commands for guilds."); info("Registering commands for guilds.");
int i = 0;
for(Guild guild : JDA.getGuilds()) { for(Guild guild : JDA.getGuilds()) {
registerForGuild(guild); registerForGuild(guild);
i++;
} }
info("Registered commands for " + i + " guilds.");
// Registers the event listeners for those commands. // Registers the event listeners for those commands.
for(CommandClass cmd : activeCommands) { for(CommandClass cmd : activeCommands) {
@ -208,6 +212,7 @@ public class Kiafumi {
public void registerForGuild(Guild guild) { public void registerForGuild(Guild guild) {
debug("Registering commands for guild [" + guild.getName() + ":" + guild.getId() + "]"); debug("Registering commands for guild [" + guild.getName() + ":" + guild.getId() + "]");
int i = 0; int i = 0;
int j = 0;
for(CommandClass cmd : activeCommands) { for(CommandClass cmd : activeCommands) {
for(CommandInfo ci : cmd.getSlashCommandInfo()) { for(CommandInfo ci : cmd.getSlashCommandInfo()) {
var cca = guild.upsertCommand(ci.getName(), ci.getDescription()); var cca = guild.upsertCommand(ci.getName(), ci.getDescription());
@ -238,7 +243,7 @@ public class Kiafumi {
} }
} }
} }
info("Registered " + i + " commands for guild [" + guild.getId() + "]"); debug("Registered " + i + " commands for guild [" + guild.getId() + "]");
} }
/* /*
@ -258,7 +263,7 @@ public class Kiafumi {
* @param msg - Any message to append with this. * @param msg - Any message to append with this.
*/ */
public static void slashLog(SlashCommandInteractionEvent event, @Nullable String msg) { public static void slashLog(SlashCommandInteractionEvent event, @Nullable String msg) {
info("User [" + event.getUser().getName() + ":" + event.getUser().getId() + "] ran command: \"" + event.getName() + "\"." + (msg == null ? "" : msg)); info("User [" + event.getUser().getName() + ":" + event.getUser().getId() + "] ran command: \"" + event.getName() + "\" " + (msg == null ? "" : msg));
} }
public static void slashLog(SlashCommandInteractionEvent event) { public static void slashLog(SlashCommandInteractionEvent event) {

View File

@ -28,12 +28,12 @@ public class AvatarCommand extends CommandClass {
@Override @Override
public void newCommand(String name, SlashCommandInteractionEvent e) { public void newCommand(String name, SlashCommandInteractionEvent e) {
if ("avatar".equals(name)) { if ("avatar".equals(name)) {
slashLog(e);
e.deferReply().queue(); e.deferReply().queue();
final var user = e.getOptions().size() == 0 final var user = e.getOptions().size() == 0
? e.getUser() ? e.getUser()
: e.getOption("user").getAsUser(); : e.getOption("user").getAsUser();
slashLog(e, "for user [" + user.getName() + ":" + user.getId() + "]." );
var eb = new EmbedBuilder() var eb = new EmbedBuilder()
.setColor(EmbedUI.INFO) .setColor(EmbedUI.INFO)

View File

@ -190,7 +190,7 @@ public class MusicCommand extends CommandClass {
case "play": case "play":
e.deferReply().queue(); e.deferReply().queue();
var input = e.getOption("url").getAsString(); var input = e.getOption("url").getAsString();
slashLog(e, " With search \"" + input + "\"."); slashLog(e, "with search \"" + input + "\".");
if(input.contains("https://")) { if(input.contains("https://")) {
loadTrack(input, e.getMember(), e.getHook()); loadTrack(input, e.getMember(), e.getHook());
} else { } else {

View File

@ -38,7 +38,7 @@ public class DuckCommand extends CommandClass {
if ("search".equals(name)) { if ("search".equals(name)) {
e.deferReply().queue(); e.deferReply().queue();
String option = e.getOption("query").getAsString(); String option = e.getOption("query").getAsString();
slashLog(e, " With search \"" + option + "\"."); slashLog(e, "with search \"" + option + "\".");
WebSearch ws = WebSearch.instanceOf(); WebSearch ws = WebSearch.instanceOf();
SearchResult sr; SearchResult sr;
try { try {

View File

@ -38,7 +38,7 @@ public class InfoCommand extends CommandClass {
? e.getMember() ? e.getMember()
: e.getOption("user").getAsMember(); : e.getOption("user").getAsMember();
final var dTF = DateTimeFormatter.ofPattern("MM-dd-yyyy"); final var dTF = DateTimeFormatter.ofPattern("MM-dd-yyyy");
slashLog(e, " For user [" + member.getUser().getName() + ":" + member.getId() + "]."); slashLog(e, "for user [" + member.getUser().getName() + ":" + member.getId() + "].");
// Build embed // Build embed
EmbedBuilder eb1 = new EmbedBuilder() EmbedBuilder eb1 = new EmbedBuilder()
.setColor(EmbedUI.INFO) .setColor(EmbedUI.INFO)
@ -56,7 +56,7 @@ public class InfoCommand extends CommandClass {
// Setup variables // Setup variables
final var guild = e.getGuild(); final var guild = e.getGuild();
final var dTF2 = DateTimeFormatter.ofPattern("MM-dd-yyyy"); final var dTF2 = DateTimeFormatter.ofPattern("MM-dd-yyyy");
slashLog(e, " For guild [" + guild.getId() + ":" + guild.getName() + "]"); slashLog(e, "for guild [" + guild.getId() + ":" + guild.getName() + "].");
// Build Embed // Build Embed
EmbedBuilder eb2 = new EmbedBuilder() EmbedBuilder eb2 = new EmbedBuilder()
.setColor(EmbedUI.INFO) .setColor(EmbedUI.INFO)

View File

@ -63,7 +63,7 @@ public class SettingCommand extends CommandClass {
case "view" -> { case "view" -> {
e.deferReply().queue(); e.deferReply().queue();
String opt = e.getOption("name").getAsString(); String opt = e.getOption("name").getAsString();
slashLog(e, "With subcommand \"" + name + "\". Setting \"" + opt + "\"."); slashLog(e, "with subcommand \"" + e.getSubcommandName().toLowerCase() + "\" for setting \"" + opt + "\".");
EmbedBuilder eb1 = new EmbedBuilder() EmbedBuilder eb1 = new EmbedBuilder()
.setColor(EmbedUI.INFO) .setColor(EmbedUI.INFO)
.setTitle(opt) .setTitle(opt)
@ -76,7 +76,7 @@ public class SettingCommand extends CommandClass {
e.deferReply().queue(); e.deferReply().queue();
String opt1 = e.getOption("name").getAsString(); String opt1 = e.getOption("name").getAsString();
String opt2 = e.getOption("value").getAsString(); String opt2 = e.getOption("value").getAsString();
slashLog(e, "With subcommand \"" + name + "\". Setting \"" + opt1 + "\" to \"" + opt2 + "\"."); slashLog(e, "with subcommand \"" + e.getSubcommandName().toLowerCase() + "\" for setting \"" + opt1 + "\" to \"" + opt2 + "\".");
String response = server.setOptionByString(opt1, opt2); String response = server.setOptionByString(opt1, opt2);
slashResponse(e, response); slashResponse(e, response);
EmbedBuilder eb2 = new EmbedBuilder() EmbedBuilder eb2 = new EmbedBuilder()
@ -90,7 +90,7 @@ public class SettingCommand extends CommandClass {
case "clear" -> { case "clear" -> {
e.deferReply().queue(); e.deferReply().queue();
String opt3 = e.getOption("name").getAsString(); String opt3 = e.getOption("name").getAsString();
slashLog(e, "With subcommand \"" + name + "\". Setting \"" + opt3 + "\"."); slashLog(e, "with subcommand \"" + e.getSubcommandName().toLowerCase() + "\" for setting \"" + opt3 + "\".");
String response1 = server.resetOptionByString(opt3); String response1 = server.resetOptionByString(opt3);
slashResponse(e, response1); slashResponse(e, response1);
EmbedBuilder eb3 = new EmbedBuilder() EmbedBuilder eb3 = new EmbedBuilder()

View File

@ -21,6 +21,8 @@ import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
import static moe.oko.Kiafumi.Kiafumi.info; import static moe.oko.Kiafumi.Kiafumi.info;
import static moe.oko.Kiafumi.Kiafumi.debug;
import static moe.oko.Kiafumi.Kiafumi.error;
/** /**
* Main Listener * Main Listener
@ -59,6 +61,7 @@ public class MainListener extends ListenerAdapter {
*/ */
public void onMessageReceived(MessageReceivedEvent event) { public void onMessageReceived(MessageReceivedEvent event) {
if(event.getMessage().getMentionedUsers().contains(Kiafumi.JDA.getSelfUser())) { if(event.getMessage().getMentionedUsers().contains(Kiafumi.JDA.getSelfUser())) {
info("Sent about message in " + event.getGuild().getId());
var eb = new EmbedBuilder() var eb = new EmbedBuilder()
.setColor(EmbedUI.INFO) .setColor(EmbedUI.INFO)
.setTitle("Hi, i'm Kiafumi!") .setTitle("Hi, i'm Kiafumi!")
@ -111,13 +114,15 @@ public class MainListener extends ListenerAdapter {
try { try {
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(server.getJoinRole())).queue(); event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(server.getJoinRole())).queue();
} catch(Exception ex) { } catch(Exception ex) {
event.getGuild().getTextChannels().get(0).sendMessage("**Failed to apply welcome role to " + event.getMember().getEffectiveName() + ", as the role does not exist.**").queue(); error("Failed to apply welcome role to " + event.getMember().getEffectiveName() + ", as the role does not exist.");
} }
} }
if(server.isWelcomeEnabled()) { if(server.isWelcomeEnabled()) {
info("User [" + event.getUser().getName() + ":" + event.getUser().getId() + "] joined guild [" + event.getGuild().getName() + ':' + event.getGuild().getId() + "].");
// Fetch the welcome channel from settings.
var textChannel = event.getGuild().getTextChannelById(server.getWelcomeChannel()); var textChannel = event.getGuild().getTextChannelById(server.getWelcomeChannel());
if(textChannel == null) { if(textChannel == null) {
event.getGuild().getTextChannels().get(0).sendMessage("**Failed to send welcome message, as the welcome channel does not exist.**").queue(); error("Failed to send welcome message to guild " + event.getGuild().getId() + " as the welcome channel was not found.");
return; return;
} }
var dTF = DateTimeFormatter.ofPattern("MM-dd-yyyy"); var dTF = DateTimeFormatter.ofPattern("MM-dd-yyyy");
@ -128,16 +133,19 @@ public class MainListener extends ListenerAdapter {
+ event.getMember().getId() + ")", null, event.getUser().getAvatarUrl()).setFooter("User Joined").setTimestamp(OffsetDateTime.now()) + event.getMember().getId() + ")", null, event.getUser().getAvatarUrl()).setFooter("User Joined").setTimestamp(OffsetDateTime.now())
.setDescription(event.getMember().getAsMention() + " | **Joined Discord**: " + event.getMember().getTimeCreated().format(dTF)); .setDescription(event.getMember().getAsMention() + " | **Joined Discord**: " + event.getMember().getTimeCreated().format(dTF));
textChannel.sendMessageEmbeds(embedBuilder.build()).queue(); textChannel.sendMessageEmbeds(embedBuilder.build()).queue();
debug("Guild join message successfully sent.");
} }
} }
@Override @Override
public void onGuildMemberRemove(@NotNull GuildMemberRemoveEvent event) { public void onGuildMemberRemove(@NotNull GuildMemberRemoveEvent event) {
info("User [" + event.getUser().getName() + ":" + event.getUser().getId() + "] left guild [" + event.getGuild().getName() + ':' + event.getGuild().getId() + "].");
// Fetch the welcome channel from settings.
var server = Kiafumi.instance.getServerManager().getOrCreateServer(event.getGuild()); var server = Kiafumi.instance.getServerManager().getOrCreateServer(event.getGuild());
if(server.isWelcomeEnabled()) { if(server.isWelcomeEnabled()) {
var textChannel = event.getGuild().getTextChannelById(server.getWelcomeChannel()); var textChannel = event.getGuild().getTextChannelById(server.getWelcomeChannel());
if(textChannel == null) { if(textChannel == null) {
event.getGuild().getTextChannels().get(0).sendMessage("**Failed to send leave message, as the welcome channel does not exist.**").queue(); error("Failed to send leave message to guild " + event.getGuild().getId() + " as the welcome channel was not found.");
return; return;
} }
// Prepare embed. // Prepare embed.
@ -148,6 +156,7 @@ public class MainListener extends ListenerAdapter {
+ event.getMember().getId() + ")", null, event.getUser().getAvatarUrl()).setFooter("User Left").setTimestamp(OffsetDateTime.now()) + event.getMember().getId() + ")", null, event.getUser().getAvatarUrl()).setFooter("User Left").setTimestamp(OffsetDateTime.now())
.setDescription(event.getMember().getAsMention() + " | **Joined Server**: " + event.getMember().getTimeJoined().format(dTF)); .setDescription(event.getMember().getAsMention() + " | **Joined Server**: " + event.getMember().getTimeJoined().format(dTF));
textChannel.sendMessageEmbeds(embedBuilder.build()).queue(); textChannel.sendMessageEmbeds(embedBuilder.build()).queue();
debug("Guild leave message successfully sent.");
} }
} }
} }

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30"> <Configuration status="WARN" monitorInterval="30">
<Properties> <Properties>
<Property name="LOG_PATTERN">%d{HH:mm} %highlight{%-5level} %cyan{%logger{7}} - %m%n</Property> <Property name="LOG_PATTERN">%d{HH:mm} %highlight{%-5level} %cyan{%logger{11}} - %m%n</Property>
</Properties> </Properties>
<Appenders> <Appenders>