Compare commits

...

3 Commits

Author SHA1 Message Date
BodgeMaster 3f36573c19 handle per-user question contingent 2022-02-22 18:50:34 +01:00
BodgeMaster e885b18cc5 dummy function 2022-02-22 18:50:19 +01:00
BodgeMaster 0de1cf9a67 updated the initial message the QuizHandler sends and removed useless passing of the Discord API object 2022-02-22 18:27:10 +01:00
3 changed files with 22 additions and 22 deletions

View File

@ -35,7 +35,7 @@ public class Main {
event.getChannel().sendMessage("Pong!\nHacky the quiz bot has been running since "+startupTime);
}
if (event.getMessageContent().equalsIgnoreCase("!trivia")) {
QuizHandlers.add(new QuizHandler(api, event.getMessageAuthor().asUser().get()));
QuizHandlers.add(new QuizHandler(event.getMessageAuthor().asUser().get()));
}
});

View File

@ -61,6 +61,9 @@ public class QuizBackend {
//TODO: user aware random question picker
//TODO: function to determine whether a user should get more questions
public static boolean shouldGetMoreQuestions(String discordUserID) {
return false;
}
//TODO: function to get a users score

View File

@ -1,31 +1,28 @@
package linux.general.hackyquizbot;
import org.javacord.api.DiscordApi;
import org.javacord.api.entity.user.User;
import org.javacord.api.entity.message.embed.EmbedBuilder;
//TODO: find a better name for this class
import linux.general.hackyquizbot.QuizBackend.Question;
public class QuizHandler {
private DiscordApi api;
private User user;
public QuizHandler(DiscordApi api, User user) {
this.api = api;
private Question lastQuestion;
public QuizHandler(User user) {
this.user = user;
user.sendMessage("Hi! Im Hacky.\nThis is a test.");
}
public void sendMessage(String question, String[] options) {
String desc = new String();
for(String option: options) {
desc += option + "\n";
if (QuizBackend.shouldGetMoreQuestions(user.getIdAsString())) {
user.sendMessage("Hi! I'm Hacky.\n"
+ "I will be sending you a bunch of multiple-choice questions. "
+ "You can answer by selecting one or more of the reactions on the message and confirm your selection by selecting the :white_check_mark: reaction."
+ " Please contact @BodgeMaster#0344 if there are any issues.\n"
+ "\n"
+ "Select the :white_check_mark: reaction to continue.");
//TODO: add white question mark reaction
//TODO: add reaction handler (preferably to channel?)
} else {
user.sendMessage(
"You have already had the maximum amount of questions that you can get with the current question set.");
}
EmbedBuilder embed = new EmbedBuilder()
.setTitle(question)
.setDescription(desc);
this.user.sendMessage(embed);
}
}