From d79e80d422176b64fd60cd0067e58741f8c984d7 Mon Sep 17 00:00:00 2001 From: Nilstrieb Date: Tue, 19 Jan 2021 21:39:27 +0100 Subject: [PATCH] nicer embeds --- .../com/github/nilstrieb/cofig/Config.java | 15 +++++++++++++++ .../commands/fun/DepartureCommand.java | 4 ++-- .../nilstrieb/commands/fun/QuoteCommand.java | 4 ++-- .../nilstrieb/commands/handler/Command.java | 19 ++++++++++++++++--- .../commands/info/InviteCommand.java | 12 +++++------- 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/github/nilstrieb/cofig/Config.java b/src/main/java/com/github/nilstrieb/cofig/Config.java index 033c07c..87efd6d 100644 --- a/src/main/java/com/github/nilstrieb/cofig/Config.java +++ b/src/main/java/com/github/nilstrieb/cofig/Config.java @@ -1,9 +1,12 @@ package com.github.nilstrieb.cofig; import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.Event; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import java.awt.*; +import java.util.Objects; public class Config { public static final String PREFIX = "kil "; @@ -17,4 +20,16 @@ public class Config { builder.setColor(Config.DEFAULT_COLOR); return builder; } + + public static EmbedBuilder getDefaultEmbed(MessageReceivedEvent event) { + User killua = event.getJDA().getUserById(Config.THIS_ID); + Objects.requireNonNull(killua, "user killua not found"); + + + EmbedBuilder builder = new EmbedBuilder(); + builder.setColor(Config.DEFAULT_COLOR). + setThumbnail(killua.getAvatarUrl()) + .setFooter("KilluaBot"); + return builder; + } } diff --git a/src/main/java/com/github/nilstrieb/commands/fun/DepartureCommand.java b/src/main/java/com/github/nilstrieb/commands/fun/DepartureCommand.java index 8cb6ad0..84b9bbe 100644 --- a/src/main/java/com/github/nilstrieb/commands/fun/DepartureCommand.java +++ b/src/main/java/com/github/nilstrieb/commands/fun/DepartureCommand.java @@ -23,13 +23,13 @@ public class DepartureCommand extends Command { @Override public void called(MessageReceivedEvent event, String args) { - final EmbedBuilder latinBuilder = Config.getDefaultEmbed(); + final EmbedBuilder latinBuilder = Config.getDefaultEmbed(event); latinBuilder.setTitle("DEPARTURE - GALNERYUS") .addField("Youtube Link: ", "[Here](" + DepartureSong.DEPARTURE_YOUTUBE_LINK + ")", false) .addField("Spotify Link: ", "[Here](" + DepartureSong.DEPARTURE_SPOTIFY_LINK + ")", false) .addField("LYRICS (Romanized)", "", false); - final EmbedBuilder japaneseBuilder = Config.getDefaultEmbed(); + final EmbedBuilder japaneseBuilder = Config.getDefaultEmbed(event); japaneseBuilder.setTitle("DEPARTURE - GALNERYUS") .addField("Youtube Link: ", "[Here](" + DepartureSong.DEPARTURE_YOUTUBE_LINK + ")", false) .addField("Spotify Link: ", "[Here](" + DepartureSong.DEPARTURE_SPOTIFY_LINK + ")", false) diff --git a/src/main/java/com/github/nilstrieb/commands/fun/QuoteCommand.java b/src/main/java/com/github/nilstrieb/commands/fun/QuoteCommand.java index d8b7936..670a249 100644 --- a/src/main/java/com/github/nilstrieb/commands/fun/QuoteCommand.java +++ b/src/main/java/com/github/nilstrieb/commands/fun/QuoteCommand.java @@ -11,7 +11,7 @@ public class QuoteCommand extends Command { @Override public void called(MessageReceivedEvent event, String args) { - reply(event, KilluaQuotes.getRandomQuote()); - deleteMsg(event); + replyEmbed(event, "Killuas Quotes", KilluaQuotes.getRandomQuote()); } + } diff --git a/src/main/java/com/github/nilstrieb/commands/handler/Command.java b/src/main/java/com/github/nilstrieb/commands/handler/Command.java index 5d62d2b..ae6a8cc 100644 --- a/src/main/java/com/github/nilstrieb/commands/handler/Command.java +++ b/src/main/java/com/github/nilstrieb/commands/handler/Command.java @@ -1,9 +1,13 @@ package com.github.nilstrieb.commands.handler; +import com.github.nilstrieb.cofig.Config; +import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.events.Event; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import java.util.Objects; import java.util.Timer; import java.util.TimerTask; @@ -18,7 +22,7 @@ public abstract class Command { public abstract void called(MessageReceivedEvent event, String args); - protected void reply(MessageReceivedEvent event, String message){ + protected void reply(MessageReceivedEvent event, String message) { event.getTextChannel().sendMessage(message).queue(); } @@ -27,7 +31,16 @@ public abstract class Command { event.getTextChannel().sendMessage(embed).queue(); } - protected void deleteMsg(MessageReceivedEvent event, long delay){ + protected void replyEmbed(MessageReceivedEvent event, String fieldTitle, String fieldContent) { + + EmbedBuilder builder = Config.getDefaultEmbed(event); + builder.addField(fieldTitle, fieldContent, false); + + event.getTextChannel().sendMessage(builder.build()).queue(); + + } + + protected void deleteMsg(MessageReceivedEvent event, long delay) { new Timer().schedule( new TimerTask() { @Override @@ -38,7 +51,7 @@ public abstract class Command { ); } - protected void deleteMsg(MessageReceivedEvent event){ + protected void deleteMsg(MessageReceivedEvent event) { event.getMessage().delete().queue(); } } diff --git a/src/main/java/com/github/nilstrieb/commands/info/InviteCommand.java b/src/main/java/com/github/nilstrieb/commands/info/InviteCommand.java index 4d693ad..362b332 100644 --- a/src/main/java/com/github/nilstrieb/commands/info/InviteCommand.java +++ b/src/main/java/com/github/nilstrieb/commands/info/InviteCommand.java @@ -22,15 +22,13 @@ public class InviteCommand extends Command { public void called(MessageReceivedEvent event, String args) { User nils = event.getJDA().getUserById(Config.NILS_ID); - User killua = event.getJDA().getUserById(Config.THIS_ID); Objects.requireNonNull(nils, "user nils not found"); - Objects.requireNonNull(killua, "user killua not found"); - EmbedBuilder builder = Config.getDefaultEmbed(); - builder.setFooter("This bot was made by " + nils.getAsTag()) - .setTitle("Invite me!") - .setThumbnail(killua.getAvatarUrl()) - .addField("", "[Invite]" + INVITE_LINK, true); + EmbedBuilder builder = Config.getDefaultEmbed(event); + builder.setTitle("Invite Killua to your server!") + .addField("Invite Link", "[Invite]" + INVITE_LINK, true) + .setFooter("This bot was made by " + nils.getAsTag()); + reply(event, builder.build()); } }