|
11 | 11 | import net.dv8tion.jda.api.JDABuilder;
|
12 | 12 | import net.dv8tion.jda.api.interactions.commands.OptionType;
|
13 | 13 | import net.dv8tion.jda.api.interactions.commands.build.CommandData;
|
| 14 | +import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; |
14 | 15 | import pl.minecon724.bitbot.commands.Commands;
|
| 16 | +import pl.minecon724.bitbot.commands.GiveawayCommand; |
15 | 17 | import pl.minecon724.bitbot.listeners.EventReady;
|
16 | 18 | import pl.minecon724.bitbot.utils.EcoManager;
|
17 | 19 | import pl.minecon724.bitbot.utils.StatusChange;
|
18 | 20 |
|
19 | 21 | public class BitBot {
|
20 | 22 | static EcoManager ecoMan;
|
| 23 | + static GiveawayCommand giveaway; |
21 | 24 |
|
22 | 25 | public static void main(String[] args) throws LoginException, ClassNotFoundException, SQLException {
|
| 26 | + giveaway = new GiveawayCommand(args[2]); |
23 | 27 | //ecoMan = new EcoManager(args[1]);
|
24 | 28 | JDA jda = JDABuilder.createDefault(args[0]).build();
|
25 | 29 | jda.addEventListener(new EventReady());
|
26 |
| - jda.addEventListener(new Commands()); |
| 30 | + jda.addEventListener(new Commands(giveaway)); |
27 | 31 | jda.upsertCommand("help", "Show all commands");
|
28 | 32 | CommandData exchangeCmd = new CommandData("exchange", "Exchange assets");
|
29 | 33 | exchangeCmd.addOption(OptionType.STRING, "From", "Asset you want to sell");
|
30 | 34 | exchangeCmd.addOption(OptionType.STRING, "To", "Asset you want to buy");
|
31 | 35 | exchangeCmd.addOption(OptionType.INTEGER, "Quantity", "Quantity of the asset you want to SELL");
|
32 | 36 | jda.upsertCommand(exchangeCmd);
|
33 | 37 | CommandData marketCmd = new CommandData("market", "View market");
|
34 |
| - marketCmd.addOption(OptionType.STRING, "Asset", "Detailed asset info"); |
| 38 | + marketCmd.addOption(OptionType.STRING, "Asset", "Detailed asset info", false); |
| 39 | + jda.upsertCommand(marketCmd); |
| 40 | + jda.upsertCommand("money", "Check account balance"); |
| 41 | + CommandData giveawayCmd = new CommandData("giveaway", "Giveaway commands"); |
| 42 | + SubcommandData gStart = new SubcommandData("start", "Start a giveaway"); |
| 43 | + gStart.addOption(OptionType.INTEGER, "winners", "winner count"); |
| 44 | + gStart.addOption(OptionType.INTEGER, "minutes", "d"); |
| 45 | + gStart.addOption(OptionType.STRING, "prize", "g"); |
| 46 | + giveawayCmd.addSubcommands(gStart); |
| 47 | + SubcommandData gReroll = new SubcommandData("reroll", "Reroll winner"); |
| 48 | + gReroll.addOption(OptionType.INTEGER, "message id", "Giveaway message id"); |
| 49 | + giveawayCmd.addSubcommands(gReroll); |
| 50 | + SubcommandData gEnd = new SubcommandData("end", "End giveaway"); |
| 51 | + gEnd.addOption(OptionType.INTEGER, "message id", "Giveaway message id"); |
| 52 | + giveawayCmd.addSubcommands(gEnd); |
35 | 53 | final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
|
36 | 54 | scheduler.scheduleAtFixedRate(new StatusChange(jda), 0l, 1l, TimeUnit.MINUTES);
|
| 55 | + scheduler.scheduleAtFixedRate(giveaway.new refresh(), 0l, 1l, TimeUnit.MINUTES); |
37 | 56 | }
|
38 | 57 | }
|
0 commit comments