Skip to content

Commit

Permalink
Merge pull request #181 from beanbeanjuice/integration
Browse files Browse the repository at this point in the history
Ready for Release v2.2.1
  • Loading branch information
beanbeanjuice committed May 21, 2021
2 parents bb9a08c + c5ab135 commit 68fae8e
Show file tree
Hide file tree
Showing 11 changed files with 249 additions and 14 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,8 @@ As you can see, this was shown using the command `!!help order`. It shows each p
* `headpat` - Give head pats to someone!
* `cry` - Cry at someone!
* `dance` - Dance with someone!
* `dab` - Dab at someone!
* `bonk` - Bonk someone! Send them to `h o r n i` jail.
##### 5. **MUSIC**
* `play` - Play a song or playlist!
* `now-playing` - Show the current song playing.
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ task buildWithDependencies(type: Jar) {

group 'com.beanbeanjuice'
mainClassName = 'com.beanbeanjuice.main.CafeBot'
version 'v2.2.0'
version 'v2.2.1'

repositories {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildM

String title = CafeBot.getGeneralHelper().removeUnderscores(args.get(0));
String description = CafeBot.getGeneralHelper().removeUnderscores(args.get(1));
Integer minutes = Integer.parseInt(args.get(2));
ArrayList<String> arguments = convertToList(args.get(3));
ArrayList<String> arguments = convertToList(args.get(2));
Integer minutes = Integer.parseInt(args.get(3));

// Making sure the poll channel exists.
TextChannel pollChannel = CafeBot.getGuildHandler().getCustomGuild(event.getGuild()).getPollChannel();
Expand Down Expand Up @@ -161,16 +161,16 @@ public String getDescription() {

@Override
public String exampleUsage() {
return "`!!add-poll Red_or_Blue? Which_colour_is_the_best? 12 Red,Blue`";
return "`!!add-poll Red_or_Blue? Which_colour_is_the_best? Red,Blue 12`";
}

@Override
public Usage getUsage() {
Usage usage = new Usage();
usage.addUsage(CommandType.TEXT, "Poll Title", true);
usage.addUsage(CommandType.TEXT, "Poll Description", true);
usage.addUsage(CommandType.NUMBER, "Poll Duration (In Minutes)", true);
usage.addUsage(CommandType.TEXT, "Poll Arguments", true);
usage.addUsage(CommandType.NUMBER, "Poll Duration (In Minutes)", true);
return usage;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildM

String title = CafeBot.getGeneralHelper().removeUnderscores(args.get(0));
String description = CafeBot.getGeneralHelper().removeUnderscores(args.get(1));
int minutes = Integer.parseInt(args.get(2));
int winnerAmount = Integer.parseInt(args.get(3));
int winnerAmount = Integer.parseInt(args.get(2));
int minutes = Integer.parseInt(args.get(3));

// Check if the amount of raffles the server has is more than 3
if (CafeBot.getRaffleHandler().getRafflesForGuild(event.getGuild()).size()+1 > 3) {
Expand Down Expand Up @@ -119,16 +119,16 @@ public String getDescription() {

@Override
public String exampleUsage() {
return "`!!addraffle RTX_3080_Giveaway Do_you_want_to_win_an_rtx_3080? 30 2`";
return "`!!addraffle RTX_3080_Giveaway Do_you_want_to_win_an_rtx_3080? 2 30`";
}

@Override
public Usage getUsage() {
Usage usage = new Usage();
usage.addUsage(CommandType.TEXT, "Raffle Title", true);
usage.addUsage(CommandType.TEXT, "Raffle Description", true);
usage.addUsage(CommandType.NUMBER, "Raffle Timer (In Minutes)", true);
usage.addUsage(CommandType.NUMBER, "Raffle Winner Amount", true);
usage.addUsage(CommandType.NUMBER, "Raffle Timer (In Minutes)", true);
return usage;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
package com.beanbeanjuice.command.interaction;

import com.beanbeanjuice.main.CafeBot;
import com.beanbeanjuice.utility.command.CommandContext;
import com.beanbeanjuice.utility.command.ICommand;
import com.beanbeanjuice.utility.command.usage.Usage;
import com.beanbeanjuice.utility.command.usage.categories.CategoryType;
import com.beanbeanjuice.utility.command.usage.types.CommandType;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;

import java.util.ArrayList;

/**
* An {@link ICommand} used to bonk people.
*
* @author beanbeanjuice
*/
public class BonkCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
String url = CafeBot.getInteractionHandler().getBonkImage();
String sender = user.getName();

ArrayList<User> receivers = new ArrayList<>();
int count = 0;

if (!args.isEmpty()) {
while (CafeBot.getGeneralHelper().getUser(args.get(count)) != null) {
receivers.add(CafeBot.getGeneralHelper().getUser(args.get(count++)));
if (count == args.size()) {
break;
}
}
}

StringBuilder stringBuilder = new StringBuilder();
for (int i = count; i < args.size(); i++) {
stringBuilder.append(args.get(i));
if (i != args.size() - 1) {
stringBuilder.append(" ");
}
}

String message;

if (receivers.size() == 0) {
message = "**" + sender + "** *bonked* themselves! They sent themselves to ***__H O R N Y__*** jail. At least they're self aware.";
} else {
message = "**" + sender + "** *bonked* **" + CafeBot.getInteractionHandler().getReceiverString(receivers) + "**!";
}

if (stringBuilder.isEmpty()) {
event.getChannel().sendMessage(message).embed(CafeBot.getInteractionHandler().actionEmbed(url)).queue();
} else {
event.getChannel().sendMessage(message).embed(CafeBot.getInteractionHandler().actionWithDescriptionEmbed(url, stringBuilder.toString())).queue();
}
}

@Override
public String getName() {
return "bonk";
}

@Override
public ArrayList<String> getAliases() {
return new ArrayList<>();
}

@Override
public String getDescription() {
return "Bonk someone!";
}

@Override
public String exampleUsage() {
return "`!!bonk @beanbeanjuice` or `!!bonk @beanbeanjuice :O`";
}

@Override
public Usage getUsage() {
Usage usage = new Usage();
usage.addUsage(CommandType.SENTENCE, "Users + Extra Message", false);
return usage;
}

@Override
public CategoryType getCategoryType() {
return CategoryType.INTERACTION;
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
package com.beanbeanjuice.command.interaction;

import com.beanbeanjuice.main.CafeBot;
import com.beanbeanjuice.utility.command.CommandContext;
import com.beanbeanjuice.utility.command.ICommand;
import com.beanbeanjuice.utility.command.usage.Usage;
import com.beanbeanjuice.utility.command.usage.categories.CategoryType;
import com.beanbeanjuice.utility.command.usage.types.CommandType;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;

import java.util.ArrayList;

/**
* An {@link ICommand} used for dabbing at people.
*
* @author beanbeanjuice
*/
public class DabCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
String url = CafeBot.getInteractionHandler().getDabImage();
String sender = user.getName();

ArrayList<User> receivers = new ArrayList<>();
int count = 0;

if (!args.isEmpty()) {
while (CafeBot.getGeneralHelper().getUser(args.get(count)) != null) {
receivers.add(CafeBot.getGeneralHelper().getUser(args.get(count++)));
if (count == args.size()) {
break;
}
}
}

StringBuilder stringBuilder = new StringBuilder();
for (int i = count; i < args.size(); i++) {
stringBuilder.append(args.get(i));
if (i != args.size() - 1) {
stringBuilder.append(" ");
}
}

String message;

if (receivers.size() == 0) {
message = "**" + sender + "** *dabbed*! That's... so cringey...";
} else {
message = "**" + sender + "** *dabbed* at **" + CafeBot.getInteractionHandler().getReceiverString(receivers) + "**.";
}

if (stringBuilder.isEmpty()) {
event.getChannel().sendMessage(message).embed(CafeBot.getInteractionHandler().actionEmbed(url)).queue();
} else {
event.getChannel().sendMessage(message).embed(CafeBot.getInteractionHandler().actionWithDescriptionEmbed(url, stringBuilder.toString())).queue();
}
}

@Override
public String getName() {
return "dab";
}

@Override
public ArrayList<String> getAliases() {
return new ArrayList<>();
}

@Override
public String getDescription() {
return "Dab at someone!";
}

@Override
public String exampleUsage() {
return "`!!dab @beanbeanjuice` or `!!dab @beanbeanjuice :O`";
}

@Override
public Usage getUsage() {
Usage usage = new Usage();
usage.addUsage(CommandType.SENTENCE, "Users + Extra Message", false);
return usage;
}

@Override
public CategoryType getCategoryType() {
return CategoryType.INTERACTION;
}

}
8 changes: 5 additions & 3 deletions src/main/java/com/beanbeanjuice/main/CafeBot.java
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,9 @@ public static void main(String[] args) throws LoginException, InterruptedExcepti
new YellCommand(),
new HeadPatCommand(),
new CryCommand(),
new DanceCommand()
new DanceCommand(),
new DabCommand(),
new BonkCommand()
);

// Music Commands
Expand Down Expand Up @@ -401,8 +403,8 @@ public static void connectToSpotifyAPI() {
try {
final ClientCredentials clientCredentials = clientCredentialsRequest.execute();
spotifyApi.setAccessToken(clientCredentials.getAccessToken());
logManager.log(CafeBot.class, LogLevel.INFO, "Spotify Access Token Expires In: " + clientCredentials.getExpiresIn());
logManager.log(CafeBot.class, LogLevel.OKAY, "Successfully connected to the Spotify API!");
logManager.log(CafeBot.class, LogLevel.INFO, "Spotify Access Token Expires In: `" + clientCredentials.getExpiresIn() + "` Seconds", true, false);
logManager.log(CafeBot.class, LogLevel.OKAY, "Successfully connected to the Spotify API!", true, false);
} catch (IOException | SpotifyWebApiException | ParseException e) {
logManager.log(CafeBot.class, LogLevel.ERROR, e.getMessage());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -440,6 +440,9 @@ public String getCryImage() {
return arrayList.get(CafeBot.getGeneralHelper().getRandomNumber(0, arrayList.size()));
}

/**
* @return A random dance image.
*/
public String getDanceImage() {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dances/1.gif");
Expand All @@ -457,6 +460,46 @@ public String getDanceImage() {
return arrayList.get(CafeBot.getGeneralHelper().getRandomNumber(0, arrayList.size()));
}

/**
* @return A random dab image.
*/
public String getDabImage() {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/1.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/2.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/3.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/4.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/5.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/6.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/7.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/8.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/9.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/10.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/dabs/11.gif");
return arrayList.get(CafeBot.getGeneralHelper().getRandomNumber(0, arrayList.size()));
}

/**
* @return A random bonk image.
*/
public String getBonkImage() {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/1.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/2.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/3.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/4.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/5.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/6.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/7.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/8.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/9.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/10.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/11.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/12.gif");
arrayList.add("http://cdn.beanbeanjuice.com/images/cafeBot/interaction/bonks/13.gif");
return arrayList.get(CafeBot.getGeneralHelper().getRandomNumber(0, arrayList.size()));
}

/**
* Gets the receivers {@link String} for the Interaction Commands.
* @param receivers The {@link ArrayList<User>} to be used as the receivers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ public void queue(AudioTrack track) {
if (inVoiceChannel) {
if (!this.player.startTrack(track, true)) {
this.queue.offer(track);
unshuffledQueue.offer(track.makeClone());
playlistRepeatQueue.offer(track.makeClone());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public void run() {
}
}

String title = message.getEmbeds().get(0).getAuthor().getName();
String title = message.getEmbeds().get(0).getTitle();
String pollDescription = message.getEmbeds().get(0).getDescription();

message.editMessage(pollEmbed(title, pollDescription, highestReactions)).queue();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public void run() {
winners = potentialUsers;
}

String title = message.getEmbeds().get(0).getAuthor().getName();
String title = message.getEmbeds().get(0).getTitle();
String description = message.getEmbeds().get(0).getFields().get(0).getValue();

message.editMessage(winnerEmbed(title, description, winners)).queue();
Expand Down

0 comments on commit 68fae8e

Please sign in to comment.