Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.billysucks.workerbot.event;
- import me.billysucks.workerbot.WorkerBot;
- import me.billysucks.workerbot.misc.BuyStuff;
- import me.billysucks.workerbot.misc.Workers;
- import me.billysucks.workerbot.util.MySQL;
- import net.dv8tion.jda.core.EmbedBuilder;
- import net.dv8tion.jda.core.entities.*;
- import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
- import net.dv8tion.jda.core.events.message.react.MessageReactionAddEvent;
- import net.dv8tion.jda.core.hooks.ListenerAdapter;
- import org.w3c.dom.Text;
- import java.util.HashMap;
- import java.util.List;
- import java.util.StringJoiner;
- public class MessageResponder extends ListenerAdapter {
- private WorkerBot workerBot;
- public MessageResponder(WorkerBot workerBot){
- this.workerBot = workerBot;
- }
- public void onMessageReceived(MessageReceivedEvent event) {
- String message = event.getMessage().getContent();
- if (message.startsWith("]setchannel")) {
- workerBot.getCommandHandler().SetChannel(event.getTextChannel(),event.getGuild().getId(),event.getAuthor());
- }
- //---------------------------------------------------------------------\\
- if(message.startsWith("]unsetchannel")){
- workerBot.getCommandHandler().UnSetChannel(event.getTextChannel(),event.getGuild().getId(), event.getAuthor());
- }
- if (getDefaultChannel(event.getGuild().getId()) == null || event.getTextChannel().toString().equals(getDefaultChannel(event.getGuild().getId()))) {
- if (!event.getAuthor().isBot()) {
- if(message.startsWith("]help")){
- String[] messageArr = message.split(" ");
- User user = event.getAuthor();
- if (!user.hasPrivateChannel()) {
- user.openPrivateChannel().queue(channel -> {
- if (messageArr.length>1){
- workerBot.getCommandHandler().Help(channel, messageArr[1]);
- }else {
- workerBot.getCommandHandler().Help(channel, null);
- }
- });
- }
- }
- //---------------------------------------------------------------------\\
- if (message.startsWith("]cash")){
- ShowBalance(event.getTextChannel(),event.getAuthor());
- }
- //---------------------------------------------------------------------\\
- if (message.startsWith("]workers")){
- ShowWorkers(event.getTextChannel(),event.getAuthor());
- }
- //---------------------------------------------------------------------\\
- if (message.startsWith("]buy")) {
- String[] messageArr = message.split(" ");
- if (messageArr.length>1) {
- if (messageArr[1].equalsIgnoreCase("worker")) {
- if (messageArr.length > 2) {
- if (messageArr[2] != null) {
- try {
- int num = Integer.parseInt(messageArr[2]);
- String user_id = event.getMessage().getAuthor().getId();
- double userCash = workerBot.getUserInteraction().getUserCash(user_id);
- int userWorkers = workerBot.getUserInteraction().getUserBasicWorkers(user_id);
- double totalCost = 0;
- double currentCost = 100 + (userWorkers * 10);
- if (num>0) {
- for (int i = 0; i < num; i++) {
- totalCost += currentCost;
- currentCost += 10;
- }
- User user = event.getAuthor();
- Message msg = event.getTextChannel().sendMessage(user.getAsMention() + "\nThis amount of workers will cost: $" + totalCost + "\nAre you sure you want to buy this amount of workers?").complete();
- TextChannel channel = event.getTextChannel();
- Message orgMessage = event.getMessage();
- Emote tick = WorkerBot.getDiscord().getEmoteById("374332134837452803");
- Emote cross = WorkerBot.getDiscord().getEmoteById("374337406071209990");
- msg.addReaction(tick).queue();
- msg.addReaction(cross).queue();
- BuyStuff buyStuff = new BuyStuff(user_id, user, orgMessage, msg, totalCost, userCash, channel, num);
- WorkerBot.BuyStuffList.add(buyStuff);
- }else
- event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\nYou cannot enter this number!").queue();
- }catch (NumberFormatException e){
- System.out.println(e);
- event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\nYou cannot enter this number!").queue();
- }
- }
- } else {ShowStore(event.getTextChannel(), event.getMessage().getAuthor());}
- } else {ShowStore(event.getTextChannel(), event.getMessage().getAuthor());}
- } else {ShowStore(event.getTextChannel(), event.getMessage().getAuthor());}
- }
- }
- }
- }
- public void onMessageReactionAdd(MessageReactionAddEvent reaction){
- try {
- BuyStuff buyStuff = null;
- for (BuyStuff stuff1 : WorkerBot.BuyStuffList) {
- if (stuff1.getUser_id().equalsIgnoreCase(reaction.getUser().getId())) {
- buyStuff = stuff1;
- }
- }
- if(buyStuff == null)
- return;
- if (reaction.getReactionEmote().getId().equals("374332134837452803")) {
- if (buyStuff.getTotalCost() > buyStuff.getUserCash()) {
- buyStuff.getChannel().sendMessage(buyStuff.getUser().getAsMention() + "\nYou do not have enough money for that!").queue();
- } else {
- workerBot.getUserInteraction().giveUserWorkers(buyStuff.getUser_id(), buyStuff.getNum());
- workerBot.getUserInteraction().giveUserCash(buyStuff.getUser_id(), -buyStuff.getTotalCost());
- if (buyStuff.getNum() > 1) {
- buyStuff.getChannel().sendMessage(buyStuff.getUser().getAsMention() + "\nYou bought " + buyStuff.getNum() + " workers!").queue();
- buyStuff.getMessage().delete().queue();
- buyStuff.getOrgMessage().delete().queue();
- }
- else if (buyStuff.getNum() == 1) {
- buyStuff.getChannel().sendMessage(buyStuff.getUser().getAsMention() + "\nYou bought 1 worker!").queue();
- buyStuff.getMessage().delete().queue();
- buyStuff.getOrgMessage().delete().queue();
- }
- }
- }else if (reaction.getReactionEmote().getId().equals("374337406071209990")){
- buyStuff.getMessage().delete().queue();
- buyStuff.getOrgMessage().delete().queue();
- }
- WorkerBot.BuyStuffList.remove(WorkerBot.BuyStuffList);
- }catch (Exception e){
- System.out.println(e);
- }
- }
- public void ShowBalance(TextChannel channel, User user){
- String user_id = user.getId();
- String cash = Double.toString(workerBot.getUserInteraction().getUserCash(user_id));
- String cashMade = Double.toString(workerBot.getUserInteraction().getUserCashMade(user_id));
- EmbedBuilder embed = new EmbedBuilder();
- embed.setColor(WorkerBot.getColor("#2ECC40"));
- embed.setTitle("Welcome to the Worker Bank!");
- embed.setDescription(user.getAsMention());
- embed.addField("Balance", "$" + cash, true);
- embed.addField("Income", "$" + cashMade + " per " + Workers.seconds + " seconds", true);
- channel.sendMessage(embed.build()).queue();
- }
- public void ShowStore(TextChannel channel, User user){
- String user_id = user.getId();
- String cash = Double.toString(workerBot.getUserInteraction().getUserCash(user_id));
- EmbedBuilder embed = new EmbedBuilder();
- embed.setColor(WorkerBot.getColor("#39CCCC"));
- embed.setTitle("Welcome to the Worker Store!");
- embed.setDescription(user.getAsMention());
- embed.addField("Balance", "$" + cash,false);
- StringJoiner worker_types = new StringJoiner("\n");
- StringJoiner worker_costs = new StringJoiner("\n");
- HashMap<String, Double> workers = WorkerBot.getUserInteraction().getUserWorkerCosts(user_id);
- HashMap<String, String> worker_typesMap = WorkerBot.getUserInteraction().getWorkerTypes();
- for (int i = 0; i < workers.size(); i++){
- worker_types.add(worker_typesMap.get(Integer.toString(i)));
- worker_costs.add("$" + Double.toString(workers.get(worker_typesMap.get(Integer.toString(i)))) + " each");
- }
- embed.addField("Item", worker_types.toString(), true);
- embed.addField("Price", worker_costs.toString(), true);
- channel.sendMessage(embed.build()).queue();
- }
- public void ShowWorkers(TextChannel channel, User user){
- EmbedBuilder embed = new EmbedBuilder();
- embed.setColor(WorkerBot.getColor("#0074D9"));
- embed.setTitle("These are your workers!");
- embed.setDescription(user.getAsMention());
- StringJoiner worker_types = new StringJoiner("\n");
- StringJoiner worker_amount = new StringJoiner("\n");
- List<HashMap<String, String>> user_workers = WorkerBot.getUserInteraction().getUserWorkers(user.getId());
- for (int i = 0; i < user_workers.get(0).size(); i++){
- worker_types.add(user_workers.get(0).get(Integer.toString(i)));
- worker_amount.add(user_workers.get(1).get(Integer.toString(i)));
- }
- embed.addField("Worker Type", worker_types.toString(), true);
- embed.addField("Amount", worker_amount.toString(), true);
- channel.sendMessage(embed.build()).queue();
- }
- public String getDefaultChannel(String server_id){
- String defaultChannel = null;
- List<HashMap<String,Object>> result = workerBot.getMySQL().find("SELECT * FROM servers WHERE server_id = ?",server_id);
- if (result.size()>0 && result.get(0).get("default_channel") != null){
- defaultChannel = result.get(0).get("default_channel").toString();
- return defaultChannel;
- }else
- return defaultChannel;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement