oh you can use complete();

This commit is contained in:
nora 2021-01-25 15:05:32 +01:00
parent 01f7cd11f0
commit ef2bc3ea71
11 changed files with 65 additions and 72 deletions

View file

@ -4,7 +4,6 @@ import com.github.nilstrieb.util.trivia.TriviaQuestionData;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.Event;
import java.awt.*; import java.awt.*;
import java.io.File; import java.io.File;
@ -14,7 +13,7 @@ public class Config {
public static final String NORMAL_PREFIX = "kil "; public static final String NORMAL_PREFIX = "kil ";
public static final String L_PREFIX = "k "; public static final String L_PREFIX = "k ";
public static final String PREFIX = L_PREFIX; public static final String PREFIX = NORMAL_PREFIX;
public static final Color DEFAULT_COLOR = new Color(229, 201, 255); public static final Color DEFAULT_COLOR = new Color(229, 201, 255);
@ -29,11 +28,13 @@ public class Config {
static { static {
try { try {
JSON_PATH_JAR = new File(TriviaQuestionData.class.getProtectionDomain().getCodeSource() JSON_PATH_JAR = new File(TriviaQuestionData.class.getProtectionDomain().getCodeSource()
.getLocation().toURI()).getPath().replaceAll("(.*\\\\).*?\\.jar", "$1") + "trivia_questions.json";; .getLocation().toURI()).getPath().replaceAll("(.*\\\\).*?\\.jar", "$1") + "trivia_questions.json";
;
} catch (URISyntaxException e) { } catch (URISyntaxException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
private static final String JSON_PATH_INTELLIJ = "trivia_questions.json"; private static final String JSON_PATH_INTELLIJ = "trivia_questions.json";
public static final String JSON_PATH = JSON_PATH_JAR; public static final String JSON_PATH = JSON_PATH_JAR;
@ -43,24 +44,16 @@ public class Config {
Config.jda = jda; Config.jda = jda;
} }
public static EmbedBuilder getDefaultEmbed(Event event) { public static EmbedBuilder getDefaultEmbed() {
User killua = jda.getUserById(THIS_ID); User killua = jda.getUserById(THIS_ID);
if (killua == null) { if (killua == null) {
event.getJDA().retrieveUserById(THIS_ID).queue(user -> { killua = jda.retrieveUserById(THIS_ID).complete();
System.out.println("[Config 43] " + user.getAsTag() + " successfully retrieved.");
});
System.err.println("[Config 45] This bot user not cached. Retrieving user...");
EmbedBuilder builder = new EmbedBuilder();
builder.setColor(Config.DEFAULT_COLOR)
.setFooter("KilluaBot");
return builder;
} else {
EmbedBuilder builder = new EmbedBuilder();
builder.setColor(Config.DEFAULT_COLOR).
setThumbnail(killua.getAvatarUrl())
.setFooter("KilluaBot");
return builder;
} }
EmbedBuilder builder = new EmbedBuilder();
builder.setColor(Config.DEFAULT_COLOR).
setThumbnail(killua.getAvatarUrl())
.setFooter("KilluaBot");
return builder;
} }
} }

View file

@ -4,7 +4,6 @@ import com.github.nilstrieb.cofig.Config;
import com.github.nilstrieb.commands.handler.Command; import com.github.nilstrieb.commands.handler.Command;
import com.github.nilstrieb.util.DepartureSong; import com.github.nilstrieb.util.DepartureSong;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
public class DepartureCommand extends Command { public class DepartureCommand extends Command {
public DepartureCommand() { public DepartureCommand() {
@ -14,13 +13,13 @@ public class DepartureCommand extends Command {
@Override @Override
public void called(String args) { public void called(String args) {
final EmbedBuilder latinBuilder = Config.getDefaultEmbed(event); final EmbedBuilder latinBuilder = Config.getDefaultEmbed();
latinBuilder.setTitle("DEPARTURE - GALNERYUS") latinBuilder.setTitle("DEPARTURE - GALNERYUS")
.addField("Youtube Link: ", "[Here](" + DepartureSong.DEPARTURE_YOUTUBE_LINK + ")", false) .addField("Youtube Link: ", "[Here](" + DepartureSong.DEPARTURE_YOUTUBE_LINK + ")", false)
.addField("Spotify Link: ", "[Here](" + DepartureSong.DEPARTURE_SPOTIFY_LINK + ")", false) .addField("Spotify Link: ", "[Here](" + DepartureSong.DEPARTURE_SPOTIFY_LINK + ")", false)
.addField("LYRICS (Romanized)", "", false); .addField("LYRICS (Romanized)", "", false);
final EmbedBuilder japaneseBuilder = Config.getDefaultEmbed(event); final EmbedBuilder japaneseBuilder = Config.getDefaultEmbed();
japaneseBuilder.setTitle("DEPARTURE - GALNERYUS") japaneseBuilder.setTitle("DEPARTURE - GALNERYUS")
.addField("Youtube Link: ", "[Here](" + DepartureSong.DEPARTURE_YOUTUBE_LINK + ")", false) .addField("Youtube Link: ", "[Here](" + DepartureSong.DEPARTURE_YOUTUBE_LINK + ")", false)
.addField("Spotify Link: ", "[Here](" + DepartureSong.DEPARTURE_SPOTIFY_LINK + ")", false) .addField("Spotify Link: ", "[Here](" + DepartureSong.DEPARTURE_SPOTIFY_LINK + ")", false)

View file

@ -20,7 +20,7 @@ public class QuoteCommand extends Command {
if (args.startsWith("all")) { if (args.startsWith("all")) {
reply(getQuotesEmbed(event)); reply(getQuotesEmbed(event));
} else { } else {
EmbedBuilder builder = Config.getDefaultEmbed(event) EmbedBuilder builder = Config.getDefaultEmbed()
.addField("Killuas Quotes", KilluaQuotes.getRandomQuote(), false); .addField("Killuas Quotes", KilluaQuotes.getRandomQuote(), false);
reply(builder.build()); reply(builder.build());
@ -33,7 +33,7 @@ public class QuoteCommand extends Command {
String[] quotes = KilluaQuotes.getAllQuotes(); String[] quotes = KilluaQuotes.getAllQuotes();
quotesEmbed = new MessageEmbed[quotes.length]; quotesEmbed = new MessageEmbed[quotes.length];
for (int i = 0; i < quotes.length; i++) { for (int i = 0; i < quotes.length; i++) {
quotesEmbed[i] = Config.getDefaultEmbed(event) quotesEmbed[i] = Config.getDefaultEmbed()
.addField("Killuas Quotes", quotes[i], false) .addField("Killuas Quotes", quotes[i], false)
.setFooter("Killua Quotes - " + (i + 1) + "/" + quotes.length).build(); .setFooter("Killua Quotes - " + (i + 1) + "/" + quotes.length).build();
} }

View file

@ -20,7 +20,7 @@ public class TriviaApproval extends ReactionAdapter {
public TriviaApproval(MessageReceivedEvent event, TriviaQuestion question) { public TriviaApproval(MessageReceivedEvent event, TriviaQuestion question) {
this.question = question; this.question = question;
EmbedBuilder builder = Config.getDefaultEmbed(event) EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle("TRIVIA QUESTION APPROVAL") .setTitle("TRIVIA QUESTION APPROVAL")
.addField("Question:", question.getQuestion(), false); .addField("Question:", question.getQuestion(), false);
for (int i = 0; i < question.getAnswers().length; i++) { for (int i = 0; i < question.getAnswers().length; i++) {

View file

@ -7,7 +7,6 @@ import com.github.nilstrieb.util.ConsoleColors;
import com.github.nilstrieb.util.trivia.TriviaQuestion; import com.github.nilstrieb.util.trivia.TriviaQuestion;
import com.github.nilstrieb.util.trivia.TriviaQuestionData; import com.github.nilstrieb.util.trivia.TriviaQuestionData;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
public class TriviaCommand extends Command { public class TriviaCommand extends Command {
@ -48,7 +47,7 @@ public class TriviaCommand extends Command {
for (int i = 0; i < question.getAnswers().length; i++) { for (int i = 0; i < question.getAnswers().length; i++) {
answers.append(i).append(". ").append(question.getAnswers()[i]).append("\n"); answers.append(i).append(". ").append(question.getAnswers()[i]).append("\n");
} }
EmbedBuilder builder = Config.getDefaultEmbed(event) EmbedBuilder builder = Config.getDefaultEmbed()
.addField(question.getQuestion(), answers.toString(), false); .addField(question.getQuestion(), answers.toString(), false);
reply(builder.build()); reply(builder.build());
@ -88,7 +87,7 @@ public class TriviaCommand extends Command {
} }
} }
EmbedBuilder builder = Config.getDefaultEmbed(event) EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle(answer) .setTitle(answer)
.setThumbnail(null) .setThumbnail(null)
.addField("Correct answer", correctAnswer, false); .addField("Correct answer", correctAnswer, false);

View file

@ -46,7 +46,7 @@ public class CommandHandler {
} }
public static EmbedBuilder getHelpList(Event event) { public static EmbedBuilder getHelpList(Event event) {
EmbedBuilder builder = Config.getDefaultEmbed(event); EmbedBuilder builder = Config.getDefaultEmbed();
builder.setTitle("Killua help"); builder.setTitle("Killua help");
for (Command s : commands.values()) { for (Command s : commands.values()) {
builder.addField(s.getName(), s.getDescription(), false); builder.addField(s.getName(), s.getDescription(), false);
@ -65,7 +65,7 @@ public class CommandHandler {
EmbedBuilder builder = null; EmbedBuilder builder = null;
for (Command value : commands.values()) { for (Command value : commands.values()) {
if (i % MAX_PAGE_LENGTH == 0) { if (i % MAX_PAGE_LENGTH == 0) {
builder = Config.getDefaultEmbed(event); builder = Config.getDefaultEmbed();
builder.setTitle("Killua help"); builder.setTitle("Killua help");
builders[j] = builder; builders[j] = builder;
j++; j++;
@ -85,7 +85,7 @@ public class CommandHandler {
public static MessageEmbed getCommandHelp(Event event, String command) { public static MessageEmbed getCommandHelp(Event event, String command) {
Command cmd = commands.get(command); Command cmd = commands.get(command);
if (cmd != null) { if (cmd != null) {
EmbedBuilder builder = Config.getDefaultEmbed(event) EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle("Killua help: " + cmd.getName()) .setTitle("Killua help: " + cmd.getName())
.addField("Name", cmd.getName(), true) .addField("Name", cmd.getName(), true)
.addField("Description", cmd.getDescription(), true) .addField("Description", cmd.getDescription(), true)

View file

@ -4,9 +4,7 @@ import com.github.nilstrieb.cofig.Config;
import com.github.nilstrieb.commands.handler.Command; import com.github.nilstrieb.commands.handler.Command;
import com.github.nilstrieb.util.trivia.TriviaQuestionData; import com.github.nilstrieb.util.trivia.TriviaQuestionData;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.MessageBuilder;
import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import java.io.File; import java.io.File;
import java.net.URISyntaxException; import java.net.URISyntaxException;
@ -24,7 +22,7 @@ public class EvalCommand extends Command {
} else if (event.getAuthor().getIdLong() == Config.NILS_ID || event.getAuthor().getIdLong() == Config.YUKI_ID) { } else if (event.getAuthor().getIdLong() == Config.NILS_ID || event.getAuthor().getIdLong() == Config.YUKI_ID) {
if (args.startsWith("help")) { if (args.startsWith("help")) {
EmbedBuilder builder = Config.getDefaultEmbed(event) EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle("Bot Admin only") .setTitle("Bot Admin only")
.addField("shutdown", "shutdown the bot", false) .addField("shutdown", "shutdown the bot", false)
.addField("triviadump", "Get JSON", false) .addField("triviadump", "Get JSON", false)

View file

@ -3,7 +3,7 @@ package com.github.nilstrieb.commands.info;
import com.github.nilstrieb.cofig.Config; import com.github.nilstrieb.cofig.Config;
import com.github.nilstrieb.commands.handler.Command; import com.github.nilstrieb.commands.handler.Command;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.entities.User;
public class InviteCommand extends Command { public class InviteCommand extends Command {
@ -17,13 +17,16 @@ public class InviteCommand extends Command {
@Override @Override
public void called(String args) { public void called(String args) {
event.getJDA().retrieveUserById(Config.NILS_ID).queue(nils -> { User nils = event.getJDA().getUserById(Config.NILS_ID);
EmbedBuilder builder = Config.getDefaultEmbed(event) if(nils == null){
.setTitle("Invite Killua to your server!") nils = event.getJDA().retrieveUserById(Config.NILS_ID).complete();
.addField("Invite link", "[Invite]" + INVITE_LINK, true) }
.setFooter("This bot was made by " + nils.getAsTag(), nils.getAvatarUrl());
reply(builder.build()); EmbedBuilder builder = Config.getDefaultEmbed()
}); .setTitle("Invite Killua to your server!")
.addField("Invite link", "[Invite]" + INVITE_LINK, true)
.setFooter("This bot was made by " + nils.getAsTag(), nils.getAvatarUrl());
reply(builder.build());
} }

View file

@ -3,6 +3,7 @@ package com.github.nilstrieb.commands.info;
import com.github.nilstrieb.cofig.Config; import com.github.nilstrieb.cofig.Config;
import com.github.nilstrieb.commands.handler.Command; import com.github.nilstrieb.commands.handler.Command;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.User;
public class ToukaCommand extends Command { public class ToukaCommand extends Command {
@ -16,16 +17,15 @@ public class ToukaCommand extends Command {
@Override @Override
public void called(String args) { public void called(String args) {
event.getJDA().retrieveUserById(Config.YUKI_ID).queue(yuki -> { User yuki = event.getJDA().retrieveUserById(Config.YUKI_ID).complete();
event.getJDA().retrieveUserById(783720725848129566L).queue(touka -> { User touka = event.getJDA().retrieveUserById(783720725848129566L).complete();
EmbedBuilder builder = Config.getDefaultEmbed(event)
.setTitle("Invite the Touka bot") EmbedBuilder builder = Config.getDefaultEmbed()
.setFooter("The Touka bot was made by " + yuki.getAsTag(), yuki.getAvatarUrl()) .setTitle("Invite the Touka bot")
.setThumbnail(touka.getAvatarUrl()) .setFooter("The Touka bot was made by " + yuki.getAsTag(), yuki.getAvatarUrl())
.addField("Invite link", "[Invite]" + TOUKA_INVITE, false); .setThumbnail(touka.getAvatarUrl())
reply(builder.build()); .addField("Invite link", "[Invite]" + TOUKA_INVITE, false);
}); reply(builder.build());
});
} }

View file

@ -1,6 +1,7 @@
package com.github.nilstrieb.commands.util; package com.github.nilstrieb.commands.util;
import com.github.nilstrieb.commands.handler.Command; import com.github.nilstrieb.commands.handler.Command;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Icon; import net.dv8tion.jda.api.entities.Icon;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
@ -27,29 +28,29 @@ public class EmoteAddCommand extends Command {
@Override @Override
public void called(String args) { public void called(String args) {
List<Message.Attachment> attachments = event.getMessage().getAttachments(); List<Message.Attachment> attachments = event.getMessage().getAttachments();
event.getGuild().retrieveMember(event.getAuthor()).queue(member -> { Member author = event.getGuild().retrieveMember(event.getAuthor()).complete();
if(!member.getPermissions().contains(Permission.MANAGE_EMOTES)) {
reply("You don't have the permissions to do that.");
} else if (attachments.size() == 0 || !attachments.get(0).isImage()) {
reply("No image attached");
} else if (args.length() < 3) {
reply("Name must be at least 3 characters: " + args);
} else {
try {
Message.Attachment image = attachments.get(0);
byte[] bytes = readImage(image);
if (bytes.length > MAX_EMOTE_SIZE) { if(!author.getPermissions().contains(Permission.MANAGE_EMOTES)) {
bytes = resizeImage(bytes, image.getFileExtension(), DEFAULT_SIZE); reply("You don't have the permissions to do that.");
} } else if (attachments.size() == 0 || !attachments.get(0).isImage()) {
reply("No image attached");
} else if (args.length() < 3) {
reply("Name must be at least 3 characters: " + args);
} else {
try {
Message.Attachment image = attachments.get(0);
byte[] bytes = readImage(image);
Icon icon = Icon.from(bytes); if (bytes.length > MAX_EMOTE_SIZE) {
event.getGuild().createEmote(args, icon).queue(emote -> reply("Successfully added emote: " + emote.getAsMention())); bytes = resizeImage(bytes, image.getFileExtension(), DEFAULT_SIZE);
} catch (IOException e) {
reply("Error while reading image. Please try again.");
} }
Icon icon = Icon.from(bytes);
event.getGuild().createEmote(args, icon).queue(emote -> reply("Successfully added emote: " + emote.getAsMention()));
} catch (IOException e) {
reply("Error while reading image. Please try again.");
} }
}); }
} }
private byte[] readImage(Message.Attachment image) throws IOException { private byte[] readImage(Message.Attachment image) throws IOException {

View file

@ -30,7 +30,7 @@ import java.util.Scanner;
public class Main { public class Main {
public static void main(String[] args) throws LoginException { public static void main(String[] args) throws LoginException {
JDABuilder builder = JDABuilder.createDefault(Secrets.L_TOKEN); JDABuilder builder = JDABuilder.createDefault(Secrets.TOKEN);
builder.setCompression(Compression.ZLIB); builder.setCompression(Compression.ZLIB);
builder.setActivity(Activity.watching("over Gon")); builder.setActivity(Activity.watching("over Gon"));