package bluebot.commands.misc; import bluebot.MainBot; import bluebot.utils.Command; import net.dv8tion.jda.core.EmbedBuilder; import net.dv8tion.jda.core.entities.Message; import net.dv8tion.jda.core.events.message.MessageReceivedEvent; import java.awt.*; import java.util.List; /** * @file QuickPollCommand.java * @author Blue * @version 0.1 * @brief Creates a poll with user question */ public class QuickPollCommand implements Command { private final String HELP = "The command `qpoll` creates a poll with simple vote options.\n\nUsage : `!qpoll the poll question/subject`"; @Override public boolean called(String[] args, MessageReceivedEvent event) { if(args.length == 0 || args[0].equals("help")) { return false; } else return true; } @Override public void action(String[] args, MessageReceivedEvent event) { String query = ""; for (String arg : args) { query += arg + " "; } EmbedBuilder builder = new EmbedBuilder(); builder.setColor(Color.decode(MainBot.getConfig().getEmbedColor())); builder.setAuthor(event.getAuthor().getName() + "#" + event.getAuthor().getDiscriminator() + " created a poll", null, event.getAuthor().getAvatarUrl()); builder.addField("", ":grey_question: Question : " + "**" + query + "**", false); builder.setFooter("Vote by adding a reaction below !", null); event.getMessage().delete().queue(); event.getTextChannel().sendMessage(builder.build()).queue(); //Now retrieves the last message from BlueBot to add reactions List<Message> history = event.getTextChannel().getHistory().retrievePast(10).complete(); //arbitrary ammount for (Message msg : history) { if(msg.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) { msg.addReaction("\uD83D\uDC4D").queue(); msg.addReaction("\ud83d\udc4e").queue(); msg.addReaction("\uD83E\uDD37").queue(); break; } } } @Override public String help() { return HELP; } @Override public void executed(boolean success, MessageReceivedEvent event) { if(!success) { event.getTextChannel().sendMessage(help()).queue(); } } }