public static void autoDeleteMessage(Message message, long delay) { message.delete().queueAfter(delay, TimeUnit.MILLISECONDS); }
private RestAction<Void> deleteMessages(CommandMessage context, List<Message> messages) { if (messages.size() == 1) { return messages.get(0).delete(); } return context.getChannel().deleteMessages(messages); } }
private boolean sendMustBeBotAdminMessage(@Nonnull Message message) { return runMessageCheck(message, () -> { MessageFactory.makeError(message, ":warning: You must be a bot administrator to use this command!") .queue(newMessage -> newMessage.delete().queueAfter(45, TimeUnit.SECONDS), RestActionUtil.ignore); return false; }); } }
public AuditableRestAction<Void> delete() { return canDelete() ? message.delete() : new AuditableRestAction.EmptyRestAction<>(getJDA()); }
@Deprecated public void onWebSocketClose(AudioPlayer player, int code, String reason, boolean byRemote) { queue.clear(); if (manager.getLastActiveMessage() == null) { return; } CommandMessage context = manager.getLastActiveMessage(); context.makeWarning(context.i18nRaw("music.internal.endedDueToWebSocketClose")) .queue(queueMessage -> { queueMessage.delete().queueAfter(45, TimeUnit.SECONDS, null, RestActionUtil.ignore); }); service.submit(() -> handleEndOfQueueWithLastActiveMessage(false)); } }
private void sendNoMessagesMessage(CommandMessage context, Set<Long> userIds, int toDelete) { PlaceholderMessage message; if (userIds == null) { message = context.makeSuccess(context.i18n("nothingToDelete") ); } else { List<String> users = new ArrayList<>(); for (Long userId : userIds) { users.add(String.format("<@%s>", userId)); } message = context.makeSuccess(context.i18n("nothingToDeleteBy")) .set("users", String.join(", ", users)) .set("number", toDelete); } message.queue(successMessage -> successMessage.delete().queueAfter(8, TimeUnit.SECONDS, null, RestActionUtil.ignore)); }
private void delete(Message message) { if (message.getTextChannel().getGuild().getSelfMember() .getPermissions(message.getTextChannel()).contains(Permission.MESSAGE_MANAGE)) message.delete().queue(); }
public static void sendMessageToChannel(String channel, String message, long deleteTime) { if (!isValidChannel(channel)) return; message = translateEmojis(message, MagiBridge.jda.getTextChannelById(channel).getGuild()); if (message.isEmpty()) return; MagiBridge.jda.getTextChannelById(channel).sendMessage(message.replaceAll("&([0-9a-fA-FlLkKrR])", "")) .queue(m -> m.delete().queueAfter(deleteTime, TimeUnit.SECONDS)); }
@Override public boolean onCommand(CommandMessage context, String[] args) { GuildMusicManager musicManager = AudioHandler.getDefaultAudioHandler().getGuildAudioPlayer(context.getGuild()); if (!musicManager.isReady() || musicManager.getScheduler().getQueue().isEmpty()) { return sendErrorMessage(context, context.i18n("error", generateCommandPrefix(context.getMessage()))); } List<AudioTrackContainer> queue = new ArrayList<>(); musicManager.getScheduler().getQueue().drainTo(queue); Collections.shuffle(queue); musicManager.getScheduler().getQueue().addAll(queue); context.makeSuccess(context.i18n("success")) .set("amount", NumberUtil.formatNicely(queue.size())) .queue(message -> message.delete().queueAfter(5, TimeUnit.MINUTES, null, RestActionUtil.ignore)); return true; } }
private boolean sendNoPlaylistsForGuildMessage(CommandMessage context) { context.makeInfo(context.i18n("noPlaylists")) .set("command", generateCommandTrigger(context.getMessage()) + " <name> create") .setTitle(":musical_note: Music Playlists") .queue(message -> message.delete().queueAfter(1, TimeUnit.MINUTES, null, RestActionUtil.ignore)); return false; }
private void sendTagInformationMessage(MessageReceivedEvent event) { String author = "**Senither#0001**"; if (event.getMessage().getChannelType().isGuild() && event.getGuild().getMemberById(88739639380172800L) != null) { author = "<@88739639380172800>"; } MessageFactory.makeEmbeddedMessage(event.getMessage().getChannel(), Color.decode("#E91E63"), String.format(mentionMessage, avaire.getSelfUser().getName(), author, CommandHandler.getLazyCommand("help").getCommand().generateCommandTrigger(event.getMessage()), AppInfo.getAppInfo().version )) .setFooter("This message will be automatically deleted in one minute.") .queue(message -> message.delete().queueAfter(1, TimeUnit.MINUTES, null, RestActionUtil.ignore)); }
private void handleCommandIndication(CommandMessage context) { if (!context.getGuild().getSelfMember().hasPermission(context.getChannel(), Permission.MESSAGE_MANAGE)) { context.getChannel().sendTyping().queue(); return; } context.getMessage().delete().queue(null, error -> { context.getChannel().sendTyping().queue(); }); }
boolean loadSongFromSession(CommandMessage context, String[] args) { int songIndex = NumberUtil.parseInt(args[0], 1) - 1; AudioSession session = AudioHandler.getDefaultAudioHandler().getAudioSession(context); int index = NumberUtil.getBetween(songIndex, 0, session.getSongs().getTracks().size() - 1); AudioTrack track = session.getSongs().getTracks().get(index); Metrics.tracksLoaded.inc(); musicSuccess(context, false).accept( new TrackResponse(AudioHandler.getDefaultAudioHandler().getGuildAudioPlayer(context.getGuild()), track, track.getInfo().uri ) ); AudioHandler.getDefaultAudioHandler().play(context, AudioHandler.getDefaultAudioHandler().getGuildAudioPlayer(context.getGuild()), track); if (session.getMessage() != null) { session.getMessage().delete().queue(null, RestActionUtil.ignore); } AudioHandler.getDefaultAudioHandler().removeAudioSession(context); return false; }
private void sendPlaylistResponse(CommandMessage context, TrackResponse response) { AudioPlaylist playlist = (AudioPlaylist) response.getAudioItem(); context.makeSuccess(context.i18n("addedSongsFromPlaylist")) .set("songs", NumberUtil.formatNicely(playlist.getTracks().size())) .set("title", playlist.getName()) .set("url", response.getTrackUrl()) .set("queueSize", NumberUtil.formatNicely( AudioHandler.getDefaultAudioHandler().getQueueSize(response.getMusicManager()) )) .queue(message -> { if (context.getGuildTransformer() != null && context.getGuildTransformer().isMusicMessages()) { message.delete().queueAfter(30, TimeUnit.SECONDS, null, RestActionUtil.ignore); } }); }
private boolean sendErrorMessageAndDeleteMessage(CommandMessage context, String error, long deleteIn, TimeUnit unit) { PlaceholderMessage placeholderMessage = context.makeError(error) .setTitle(getName()) .addField("Usage", generateUsageInstructions(context.getMessage()), false) .addField("Example Usage", generateExampleUsage(context.getMessage()), false); Category category = CategoryHandler.fromCommand(this); if (category != null) { placeholderMessage.setFooter("Command category: " + category.getName()); } placeholderMessage.queue(message -> { if (deleteIn <= 0) { return; } message.delete().queueAfter(deleteIn, unit, null, RestActionUtil.ignore); }); return false; }
private boolean sendSongWithSixSongs(CommandMessage context, GuildMusicManager musicManager) { PlaceholderMessage queueMessage = context.makeSuccess( buildTrackDescription(context, musicManager.getPlayer(), musicManager.getScheduler()) ) .setTitle(musicManager.getPlayer().isPaused() ? context.i18n("paused") : context.i18n("playing")) .addField( context.i18n("songsInQueue") + " - " + buildQueueLength(musicManager), buildSongsInQueue(context, musicManager.getScheduler()), false ); if (!musicManager.getScheduler().getQueue().isEmpty()) { queueMessage.setFooter(context.i18n("moreSongs", generateCommandTrigger(context.getMessage()))); } queueMessage.queue(message -> message.delete().queueAfter(3, TimeUnit.MINUTES, null, RestActionUtil.ignore)); return true; }
private void sendTrackResponse(CommandMessage context, TrackResponse response) { AudioTrack track = (AudioTrack) response.getAudioItem(); context.makeSuccess(context.i18n("addedSong")) .set("title", track.getInfo().title) .set("url", track.getInfo().uri) .set("queueSize", NumberUtil.formatNicely( AudioHandler.getDefaultAudioHandler().getQueueSize(response.getMusicManager()) )) .queue(message -> { if (context.getGuildTransformer() != null && context.getGuildTransformer().isMusicMessages()) { message.delete().queueAfter(30, TimeUnit.SECONDS, null, RestActionUtil.ignore); } }); }
public void skipTrack(CommandMessage context) { GuildMusicManager musicManager = getGuildAudioPlayer(context.getGuild()); if (musicManager.getScheduler().getAudioTrackContainer() != null) { AudioTrackContainer container = musicManager.getScheduler().getAudioTrackContainer(); context.makeInfo(context.i18nRaw("music.internal.songWasSkipped")) .set("title", container.getAudioTrack().getInfo().title) .set("url", container.getAudioTrack().getInfo().uri) .set("author", container.getRequester().getAsMention()) .queue(success -> success.delete().queueAfter(30, TimeUnit.SECONDS, null, RestActionUtil.ignore)); } musicManager.getScheduler().nextTrack(); }
@Override public boolean onCommand(CommandMessage context, String[] args) { GuildMusicManager musicManager = AudioHandler.getDefaultAudioHandler().getGuildAudioPlayer(context.getGuild()); if (!musicManager.isReady() || musicManager.getPlayer().getPlayingTrack() == null) { return sendErrorMessage(context, context.i18n("error", generateCommandPrefix(context.getMessage()))); } if (!musicManager.canPreformSpecialAction(this, context, "loop queue")) { return false; } musicManager.setRepeatQueue(!musicManager.isRepeatQueue()); context.makeSuccess(context.i18n("success")) .set("status", musicManager.isRepeatQueue() ? context.i18n("enabled") : context.i18n("disabled")) .queue(message -> message.delete().queueAfter(5, TimeUnit.MINUTES, null, RestActionUtil.ignore)); return true; } }