nicer embeds

This commit is contained in:
nora 2021-01-19 21:39:27 +01:00
parent c0e2e3afcf
commit d79e80d422
5 changed files with 40 additions and 14 deletions

View file

@ -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;
}
}

View file

@ -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)

View file

@ -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());
}
}

View file

@ -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();
}
}

View file

@ -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());
}
}