Skip to content

Commit

Permalink
Merge pull request #215 from beanbeanjuice/integration
Browse files Browse the repository at this point in the history
Ready for Release v2.3.2
  • Loading branch information
beanbeanjuice committed May 27, 2021
2 parents 075ce0d + 609fc7a commit 244d2a1
Show file tree
Hide file tree
Showing 27 changed files with 397 additions and 89 deletions.
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -180,6 +180,8 @@ As you can see, this was shown using the command `!!help order`. It shows each p
* `dance` - Dance with someone!
* `dab` - Dab at someone!
* `bonk` - Bonk someone! Send them to `h o r n i` jail.
* `sleep` - Sleep! (Or sleep with someone...)
* `die` - Just straight up die.
##### 6. **MUSIC**
* `play` - Play a song or playlist!
* `now-playing` - Show the current song playing.
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Expand Up @@ -17,7 +17,7 @@ task buildWithDependencies(type: Jar) {

group 'com.beanbeanjuice'
mainClassName = 'com.beanbeanjuice.main.CafeBot'
version 'v2.3.1'
version 'v2.3.2'

repositories {

Expand Down
Expand Up @@ -95,6 +95,7 @@ private MessageEmbed serveSingleEmbed(@NotNull String word, @NotNull Double tipF
embedBuilder.addField("Tip From Serving", CafeBot.getServeHandler().roundDouble(tipFromWord).toString(), true);
embedBuilder.addField("Current Balance", CafeBot.getServeHandler().roundDouble(currentBalance).toString(), true);
embedBuilder.addField("Time Until Next Serving", CafeBot.getServeHandler().getMinutesUntilCanServe().toString(), true);
embedBuilder.setColor(CafeBot.getGeneralHelper().getRandomColor());
return embedBuilder.build();
}

Expand All @@ -105,6 +106,7 @@ private MessageEmbed serveSomeoneEmbed(@NotNull String word, @NotNull Double tip
embedBuilder.addField("Tip From Serving", CafeBot.getServeHandler().roundDouble(tipFromWord).toString(), true);
embedBuilder.addField("Current Balance", CafeBot.getServeHandler().roundDouble(currentBalance).toString(), true);
embedBuilder.addField("Time Until Next Serving", CafeBot.getServeHandler().getMinutesUntilCanServe().toString(), true);
embedBuilder.setColor(CafeBot.getGeneralHelper().getRandomColor());
return embedBuilder.build();
}

Expand Down
Expand Up @@ -51,7 +51,7 @@ public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildM
Integer minutes = Integer.parseInt(args.get(3));

// Making sure the poll channel exists.
TextChannel pollChannel = CafeBot.getGuildHandler().getCustomGuild(event.getGuild()).getPollChannel();
TextChannel pollChannel = ctx.getCustomGuild().getPollChannel();
if (pollChannel == null) {
event.getChannel().sendMessage(CafeBot.getGeneralHelper().errorEmbed(
"No Poll Channel",
Expand Down
Expand Up @@ -46,7 +46,7 @@ public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildM
return;
}

TextChannel raffleChannel = CafeBot.getGuildHandler().getCustomGuild(event.getGuild()).getRaffleChannel();
TextChannel raffleChannel = ctx.getCustomGuild().getRaffleChannel();

if (raffleChannel == null) {
event.getChannel().sendMessage(CafeBot.getGeneralHelper().errorEmbed(
Expand Down
16 changes: 14 additions & 2 deletions src/main/java/com/beanbeanjuice/command/games/DiceRollCommand.java
Expand Up @@ -20,10 +20,20 @@ public class DiceRollCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
System.out.println(Integer.parseInt(args.get(0)));

int number = Integer.parseInt(args.get(0));

if (number < 6) {
event.getChannel().sendMessage(CafeBot.getGeneralHelper().errorEmbed(
"Number Too Low",
"You must choose a number that is greater than 6!"
)).queue();
return;
}

event.getChannel().sendMessage(CafeBot.getGeneralHelper().successEmbed(
"Dice Roll!",
"You rolled a `" + CafeBot.getGeneralHelper().getRandomNumber(1, Integer.parseInt(args.get(0)) + 1) + "`."
"You rolled a `" + CafeBot.getGeneralHelper().getRandomNumber(1, number + 1) + "`."
)).queue();
}

Expand All @@ -36,8 +46,10 @@ public String getName() {
public ArrayList<String> getAliases() {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("diceroll");
arrayList.add("roll-dice");
arrayList.add("roll");
arrayList.add("dice");
arrayList.add("dr");
return arrayList;
}

Expand Down
@@ -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 to die.
*
* @author beanbeanjuice
*/
public class DieCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
String url = CafeBot.getInteractionHandler().getDieImage();
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 + "** *died*! SOMEONE HELP!";
} else {
message = "**" + sender + "** *died* with **" + 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 "die";
}

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

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

@Override
public String exampleUsage() {
return "`!!die @beanbeanjuice` or `!!die @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;
}

}
@@ -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 to sleep.
*
* @author beanbeanjuice
*/
public class SleepCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
String url = CafeBot.getInteractionHandler().getSleepImage();
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 + "** is *sleeping*! Anyone wanna join? *wink wink*";
} else {
message = "**" + sender + "** is *sleeping* with **" + CafeBot.getInteractionHandler().getReceiverString(receivers) + "**. :O";
}

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 "sleep";
}

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

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

@Override
public String exampleUsage() {
return "`!!sleep @beanbeanjuice` or `!!sleep @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;
}

}
Expand Up @@ -30,7 +30,7 @@ public class NowPlayingCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
CafeBot.getGuildHandler().getCustomGuild(event.getGuild()).setLastMusicChannel(event.getChannel());
ctx.getCustomGuild().setLastMusicChannel(event.getChannel());

final Member self = ctx.getSelfMember();
final GuildVoiceState selfVoiceState = self.getVoiceState();
Expand Down
Expand Up @@ -22,7 +22,7 @@ public class PauseCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
CafeBot.getGuildHandler().getCustomGuild(event.getGuild()).setLastMusicChannel(event.getChannel());
ctx.getCustomGuild().setLastMusicChannel(event.getChannel());

Member self = ctx.getSelfMember();
GuildVoiceState selfVoiceState = self.getVoiceState();
Expand Down
28 changes: 14 additions & 14 deletions src/main/java/com/beanbeanjuice/command/music/PlayCommand.java
Expand Up @@ -41,7 +41,7 @@ public class PlayCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
CafeBot.getGuildHandler().getCustomGuild(event.getGuild()).setLastMusicChannel(event.getChannel());
ctx.getCustomGuild().setLastMusicChannel(event.getChannel());

final TextChannel channel = event.getChannel();
final Member self = ctx.getSelfMember();
Expand All @@ -63,10 +63,18 @@ public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildM
ctx.getGuild().getAudioManager().openAudioConnection(event.getMember().getVoiceState().getChannel());

// Start listening for the audio connection.
CafeBot.getGuildHandler().getCustomGuild(event.getGuild().getId()).startAudioChecking();
} else if (!event.getMember().getVoiceState().getChannel().equals(selfVoiceState.getChannel())) {
event.getChannel().sendMessage(userMustBeInSameVoiceChannelEmbed()).queue();
return;
ctx.getCustomGuild().startAudioChecking();
} else {

try {
if (!event.getMember().getVoiceState().getChannel().equals(selfVoiceState.getChannel())) {
event.getChannel().sendMessage(userMustBeInSameVoiceChannelEmbed()).queue();
return;
}
} catch (NullPointerException e) {
event.getChannel().sendMessage(userMustBeInVoiceChannelEmbed()).queue();
return;
}
}

String link = String.join(" ", args);
Expand Down Expand Up @@ -228,15 +236,7 @@ private MessageEmbed loadedPlaylist() {
@NotNull
private MessageEmbed userMustBeInSameVoiceChannelEmbed() {
EmbedBuilder embedBuilder = new EmbedBuilder();
embedBuilder.setDescription("Sorry, you must be in a voice channel to use this command.");
embedBuilder.setColor(Color.red);
return embedBuilder.build();
}

@NotNull
private MessageEmbed botMustBeInVoiceChannelEmbed() {
EmbedBuilder embedBuilder = new EmbedBuilder();
embedBuilder.setDescription("I'm not currently in a voice channel.");
embedBuilder.setDescription("Sorry, you must be in the same voice channel to use this command.");
embedBuilder.setColor(Color.red);
return embedBuilder.build();
}
Expand Down
Expand Up @@ -29,7 +29,7 @@ public class QueueCommand implements ICommand {

@Override
public void handle(CommandContext ctx, ArrayList<String> args, User user, GuildMessageReceivedEvent event) {
CafeBot.getGuildHandler().getCustomGuild(event.getGuild()).setLastMusicChannel(event.getChannel());
ctx.getCustomGuild().setLastMusicChannel(event.getChannel());

GuildMusicManager musicManager = PlayerManager.getInstance().getMusicManager(ctx.getGuild());
BlockingQueue<AudioTrack> queue = musicManager.scheduler.queue;
Expand Down

0 comments on commit 244d2a1

Please sign in to comment.