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.JDA;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.Event;
import java.awt.*;
import java.io.File;
@ -14,7 +13,7 @@ public class Config {
public static final String NORMAL_PREFIX = "kil ";
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);
@ -29,11 +28,13 @@ public class Config {
static {
try {
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) {
e.printStackTrace();
}
}
private static final String JSON_PATH_INTELLIJ = "trivia_questions.json";
public static final String JSON_PATH = JSON_PATH_JAR;
@ -43,24 +44,16 @@ public class Config {
Config.jda = jda;
}
public static EmbedBuilder getDefaultEmbed(Event event) {
public static EmbedBuilder getDefaultEmbed() {
User killua = jda.getUserById(THIS_ID);
if (killua == null) {
event.getJDA().retrieveUserById(THIS_ID).queue(user -> {
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;
killua = jda.retrieveUserById(THIS_ID).complete();
}
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.util.DepartureSong;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
public class DepartureCommand extends Command {
public DepartureCommand() {
@ -14,13 +13,13 @@ public class DepartureCommand extends Command {
@Override
public void called(String args) {
final EmbedBuilder latinBuilder = Config.getDefaultEmbed(event);
final EmbedBuilder latinBuilder = Config.getDefaultEmbed();
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(event);
final EmbedBuilder japaneseBuilder = Config.getDefaultEmbed();
japaneseBuilder.setTitle("DEPARTURE - GALNERYUS")
.addField("Youtube Link: ", "[Here](" + DepartureSong.DEPARTURE_YOUTUBE_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")) {
reply(getQuotesEmbed(event));
} else {
EmbedBuilder builder = Config.getDefaultEmbed(event)
EmbedBuilder builder = Config.getDefaultEmbed()
.addField("Killuas Quotes", KilluaQuotes.getRandomQuote(), false);
reply(builder.build());
@ -33,7 +33,7 @@ public class QuoteCommand extends Command {
String[] quotes = KilluaQuotes.getAllQuotes();
quotesEmbed = new MessageEmbed[quotes.length];
for (int i = 0; i < quotes.length; i++) {
quotesEmbed[i] = Config.getDefaultEmbed(event)
quotesEmbed[i] = Config.getDefaultEmbed()
.addField("Killuas Quotes", quotes[i], false)
.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) {
this.question = question;
EmbedBuilder builder = Config.getDefaultEmbed(event)
EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle("TRIVIA QUESTION APPROVAL")
.addField("Question:", question.getQuestion(), false);
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.TriviaQuestionData;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
public class TriviaCommand extends Command {
@ -48,7 +47,7 @@ public class TriviaCommand extends Command {
for (int i = 0; i < question.getAnswers().length; i++) {
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);
reply(builder.build());
@ -88,7 +87,7 @@ public class TriviaCommand extends Command {
}
}
EmbedBuilder builder = Config.getDefaultEmbed(event)
EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle(answer)
.setThumbnail(null)
.addField("Correct answer", correctAnswer, false);

View file

@ -46,7 +46,7 @@ public class CommandHandler {
}
public static EmbedBuilder getHelpList(Event event) {
EmbedBuilder builder = Config.getDefaultEmbed(event);
EmbedBuilder builder = Config.getDefaultEmbed();
builder.setTitle("Killua help");
for (Command s : commands.values()) {
builder.addField(s.getName(), s.getDescription(), false);
@ -65,7 +65,7 @@ public class CommandHandler {
EmbedBuilder builder = null;
for (Command value : commands.values()) {
if (i % MAX_PAGE_LENGTH == 0) {
builder = Config.getDefaultEmbed(event);
builder = Config.getDefaultEmbed();
builder.setTitle("Killua help");
builders[j] = builder;
j++;
@ -85,7 +85,7 @@ public class CommandHandler {
public static MessageEmbed getCommandHelp(Event event, String command) {
Command cmd = commands.get(command);
if (cmd != null) {
EmbedBuilder builder = Config.getDefaultEmbed(event)
EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle("Killua help: " + cmd.getName())
.addField("Name", cmd.getName(), 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.util.trivia.TriviaQuestionData;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.MessageBuilder;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import java.io.File;
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) {
if (args.startsWith("help")) {
EmbedBuilder builder = Config.getDefaultEmbed(event)
EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle("Bot Admin only")
.addField("shutdown", "shutdown the bot", 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.commands.handler.Command;
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 {
@ -17,13 +17,16 @@ public class InviteCommand extends Command {
@Override
public void called(String args) {
event.getJDA().retrieveUserById(Config.NILS_ID).queue(nils -> {
EmbedBuilder builder = Config.getDefaultEmbed(event)
.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());
});
User nils = event.getJDA().getUserById(Config.NILS_ID);
if(nils == null){
nils = event.getJDA().retrieveUserById(Config.NILS_ID).complete();
}
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.commands.handler.Command;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.User;
public class ToukaCommand extends Command {
@ -16,16 +17,15 @@ public class ToukaCommand extends Command {
@Override
public void called(String args) {
event.getJDA().retrieveUserById(Config.YUKI_ID).queue(yuki -> {
event.getJDA().retrieveUserById(783720725848129566L).queue(touka -> {
EmbedBuilder builder = Config.getDefaultEmbed(event)
.setTitle("Invite the Touka bot")
.setFooter("The Touka bot was made by " + yuki.getAsTag(), yuki.getAvatarUrl())
.setThumbnail(touka.getAvatarUrl())
.addField("Invite link", "[Invite]" + TOUKA_INVITE, false);
reply(builder.build());
});
});
User yuki = event.getJDA().retrieveUserById(Config.YUKI_ID).complete();
User touka = event.getJDA().retrieveUserById(783720725848129566L).complete();
EmbedBuilder builder = Config.getDefaultEmbed()
.setTitle("Invite the Touka bot")
.setFooter("The Touka bot was made by " + yuki.getAsTag(), yuki.getAvatarUrl())
.setThumbnail(touka.getAvatarUrl())
.addField("Invite link", "[Invite]" + TOUKA_INVITE, false);
reply(builder.build());
}

View file

@ -1,6 +1,7 @@
package com.github.nilstrieb.commands.util;
import com.github.nilstrieb.commands.handler.Command;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Icon;
import net.dv8tion.jda.api.entities.Member;
@ -27,29 +28,29 @@ public class EmoteAddCommand extends Command {
@Override
public void called(String args) {
List<Message.Attachment> attachments = event.getMessage().getAttachments();
event.getGuild().retrieveMember(event.getAuthor()).queue(member -> {
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);
Member author = event.getGuild().retrieveMember(event.getAuthor()).complete();
if (bytes.length > MAX_EMOTE_SIZE) {
bytes = resizeImage(bytes, image.getFileExtension(), DEFAULT_SIZE);
}
if(!author.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);
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.");
if (bytes.length > MAX_EMOTE_SIZE) {
bytes = resizeImage(bytes, image.getFileExtension(), DEFAULT_SIZE);
}
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 {

View file

@ -30,7 +30,7 @@ import java.util.Scanner;
public class Main {
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.setActivity(Activity.watching("over Gon"));