use of net.dv8tion.jda.core.entities.Guild in project Ardent by adamint.
the class Prefix method setupSubcommands.
@Override
public void setupSubcommands() {
subcommands.add(new Subcommand("View the prefix of your server!", "view", "view") {
@Override
public void onCall(Guild guild, MessageChannel channel, User user, Message message, String[] args) throws Exception {
sendTranslatedMessage("The prefix for this server is **{0}**.".replace("{0}", GuildUtils.getPrefix(guild)), channel, user);
}
});
subcommands.add(new Subcommand("Change the prefix of your server.", "change", "change") {
@Override
public void onCall(Guild guild, MessageChannel channel, User user, Message message, String[] args) throws Exception {
if (args.length > 2) {
if (guild.getMember(user).hasPermission(Permission.MANAGE_SERVER)) {
String newPrefix = message.getRawContent().replace(GuildUtils.getPrefix(guild) + args[0] + " " + "" + args[1] + " ", "").replace(" ", "");
if (newPrefix.length() == message.getRawContent().length()) {
newPrefix = message.getRawContent().replace("/" + args[0] + " " + args[1] + " ", "");
}
if (!newPrefix.contains(" ") && !newPrefix.contains("$")) {
GuildUtils.updatePrefix(newPrefix, guild);
r.db("data").table("guilds").filter(row -> row.g("guild_id").eq(guild.getId())).update(r.hashMap("prefix", newPrefix)).run(connection);
sendTranslatedMessage("Successfully updated the prefix, {0}!".replace("{0}", newPrefix), channel, user);
} else
sendTranslatedMessage("Your supplied prefix contained invalid characters!", channel, user);
} else {
sendTranslatedMessage("You need ```Manage Server``` permissions.", channel, user);
}
} else {
sendTranslatedMessage("You must include a prefix as your third argument!", channel, user);
}
}
});
}
use of net.dv8tion.jda.core.entities.Guild in project MantaroBot by Mantaro.
the class TrackScheduler method onTrackSchedulerStop.
private void onTrackSchedulerStop() {
getVoteStop().clear();
Guild g = getGuild();
if (g == null)
return;
AudioManager m = g.getAudioManager();
if (m == null)
return;
m.closeAudioConnection();
AudioTrackContext previousTrack;
try {
previousTrack = getPreviousTrack();
if (previousTrack != null && previousTrack.getRequestedChannel() != null && previousTrack.getRequestedChannel().canTalk())
previousTrack.getRequestedChannel().sendMessage(":mega: Finished playing queue! Hope you enjoyed it.").queue(message -> message.delete().queueAfter(20, TimeUnit.SECONDS));
}//fuck
catch (Exception ignored) {
}
}
use of net.dv8tion.jda.core.entities.Guild in project MantaroBot by Mantaro.
the class VoiceLeave method run.
@Override
public void run() {
MantaroBot.getInstance().getAudioManager().getMusicManagers().forEach((guildId, manager) -> {
try {
Guild guild = MantaroBot.getInstance().getGuildById(guildId);
if (guild == null)
return;
GuildVoiceState voiceState = guild.getSelfMember().getVoiceState();
if (voiceState == null)
return;
if (voiceState.inVoiceChannel()) {
TextChannel channel = guild.getPublicChannel();
if (channel != null) {
if (channel.canTalk()) {
VoiceChannel voiceChannel = voiceState.getChannel();
AudioPlayer player = manager.getAudioPlayer();
GuildMusicManager mm = MantaroBot.getInstance().getAudioManager().getMusicManager(guild);
if (player == null || mm == null || voiceChannel == null)
return;
if (mm.getTrackScheduler().getCurrentTrack().getRequestedChannel() != null) {
channel = mm.getTrackScheduler().getCurrentTrack().getRequestedChannel();
}
if (voiceState.isGuildMuted()) {
channel.sendMessage(EmoteReference.SAD + "Pausing player because I got muted :(").queue();
player.setPaused(true);
}
if (voiceChannel.getMembers().size() == 1) {
channel.sendMessage(EmoteReference.THINKING + "I decided to leave **" + voiceChannel.getName() + "** " + "because I was left all " + "alone :<").queue();
if (mm.getTrackScheduler().getAudioPlayer().getPlayingTrack() != null) {
mm.getTrackScheduler().getAudioPlayer().getPlayingTrack().stop();
mm.getTrackScheduler().getQueue().clear();
mm.getTrackScheduler().next(true);
} else {
guild.getAudioManager().closeAudioConnection();
}
}
}
}
}
} catch (Exception ignored) {
}
});
}
use of net.dv8tion.jda.core.entities.Guild in project Ardent by adamint.
the class Leave method onLeave.
@SubscribeEvent
public void onLeave(GuildLeaveEvent event) {
botLeaveEvents.add(Instant.now());
Guild guild = event.getGuild();
Shard shard = GuildUtils.getShard(guild);
String id = guild.getId();
Ardent.cleverbots.remove(id);
shard.botPrefixData.remove(guild);
}
use of net.dv8tion.jda.core.entities.Guild in project Ardent by adamint.
the class Leave method onUserLeave.
@SubscribeEvent
public void onUserLeave(GuildMemberLeaveEvent event) throws SQLException {
userLeaveEvents.add(Instant.now());
Guild guild = event.getGuild();
Member left = event.getMember();
Triplet<String, String, String> automessageSettings = Automessage.getMessagesAndChannel(guild);
String channelId = automessageSettings.getA();
String leave = automessageSettings.getC();
if (channelId != null && leave != null) {
TextChannel channel = guild.getTextChannelById(channelId);
if (channel != null) {
try {
leave = leave.replace("{user}", left.getUser().getName()).replace("{servername}", guild.getName()).replace("{amtusers}", String.valueOf(guild.getMembers().size()));
channel.sendMessage(leave).queue();
} catch (PermissionException ex) {
}
}
}
}
Aggregations