Leave and GuildLeave

This commit is contained in:
GregTCLTK 2019-11-24 18:27:59 +01:00
parent 9bc4d897a5
commit a53c049059
No known key found for this signature in database
GPG key ID: A91BADE5C070FF67
4 changed files with 107 additions and 6 deletions

View file

@ -11,7 +11,6 @@ import com.bbn.hadder.commands.music.*;
import com.bbn.hadder.core.*;
import com.bbn.hadder.listener.*;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.managers.AudioManager;
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder;
import net.dv8tion.jda.api.sharding.ShardManager;
@ -21,7 +20,6 @@ import java.util.List;
public class Hadder {
public static ShardManager shardManager;
public static AudioManager audioManager;
public static void main(String[] args) {
startBot();
@ -76,6 +74,8 @@ public class Hadder {
new AvatarCommand(),
new EvalCommand(),
new JoinCommand(),
new LeaveCommand(),
new GuildLeaveCommand(),
new LinkCommand()), config, helpCommand);
builder.addEventListeners(
@ -87,7 +87,6 @@ public class Hadder {
new LinkListener(rethink),
new RulesListener(rethink));
try {
shardManager = builder.build();
} catch (LoginException e) {

View file

@ -6,9 +6,9 @@ package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.AudioPlayerSendHandler;
import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.VoiceChannel;
import net.dv8tion.jda.api.managers.AudioManager;
@ -21,8 +21,16 @@ public class JoinCommand implements Command {
AudioManager audioManager = event.getGuild().getAudioManager();
if(!audioManager.isAttemptingToConnect()) {
VoiceChannel vc = event.getMember().getVoiceState().getChannel();
audioManager.setSendingHandler(new AudioPlayerSendHandler());
audioManager.openAudioConnection(vc);
if (vc.getMemberPermissionOverrides().contains(Permission.VOICE_CONNECT)) {
event.getGuild().getAudioManager().openAudioConnection(vc);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Successfully connected"))
.setDescription("I successfully connected to " + vc.getName() + ".")
.build()).queue();
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
}
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder)

View file

@ -0,0 +1,46 @@
package com.bbn.hadder.commands.music;
/*
* @author Skidder / GregTCLTK
*/
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
public class LeaveCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
if (event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
event.getGuild().getAudioManager().closeAudioConnection();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Successfully disconnected")
.setDescription("I successfully disconnected from the Voice Channel"))
.build()).queue();
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder)
.setTitle("Not connected")
.setDescription("I'm currently in no Voice Channel on this Guild")
.build()).queue();
}
}
@Override
public String[] labels() {
return new String[]{"leave"};
}
@Override
public String description() {
return "Leaves a voice channel";
}
@Override
public String usage() {
return "";
}
}

View file

@ -0,0 +1,48 @@
package com.bbn.hadder.commands.owner;
/*
* @author Skidder / GregTCLTK
*/
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Guild;
public class GuildLeaveCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
if (args.length > 0) {
Guild guild = event.getJDA().getGuildById(args[0]);
guild.leave().queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Successfully left")
.setDescription("I successfully left " + guild.getName()))
.build()).queue();
} else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
}
} else {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
}
}
@Override
public String[] labels() {
return new String[]{"guildleave"};
}
@Override
public String description() {
return "Quit from a guild";
}
@Override
public String usage() {
return "<Guild-ID>";
}
}