Search in sources :

Example 1 with PrivateChannel

use of net.dv8tion.jda.api.entities.PrivateChannel in project Minecord by Tisawesomeness.

the class MsgCommand method run.

public Result run(String[] args, MessageReceivedEvent e) {
    // Check for proper argument length
    if (args.length < 2) {
        return new Result(Outcome.WARNING, ":warning: Please specify a message.");
    }
    // Extract user
    User user = DiscordUtils.findUser(args[0]);
    if (user == null)
        return new Result(Outcome.ERROR, ":x: Not a valid user!");
    // Send the message
    String msg;
    try {
        PrivateChannel channel = user.openPrivateChannel().submit().get();
        msg = String.join(" ", ArrayUtils.remove(args, 0));
        channel.sendMessage(msg).queue();
    } catch (InterruptedException | ExecutionException ex) {
        ex.printStackTrace();
        return new Result(Outcome.ERROR, ":x: An exception occured.");
    }
    EmbedBuilder eb = new EmbedBuilder();
    eb.setAuthor(e.getAuthor().getName() + " (" + e.getAuthor().getId() + ")", null, e.getAuthor().getAvatarUrl());
    eb.setDescription("**Sent a DM to " + user.getName() + " (" + user.getId() + "):**\n" + msg);
    eb.setThumbnail(user.getAvatarUrl());
    MessageUtils.log(eb.build());
    return new Result(Outcome.SUCCESS);
}
Also used : PrivateChannel(net.dv8tion.jda.api.entities.PrivateChannel) EmbedBuilder(net.dv8tion.jda.api.EmbedBuilder) User(net.dv8tion.jda.api.entities.User) ExecutionException(java.util.concurrent.ExecutionException)

Example 2 with PrivateChannel

use of net.dv8tion.jda.api.entities.PrivateChannel in project JDA by DV8FromTheWorld.

the class TypingStartHandler method handleInternally.

@Override
protected Long handleInternally(DataObject content) {
    GuildImpl guild = null;
    if (!content.isNull("guild_id")) {
        long guildId = content.getUnsignedLong("guild_id");
        guild = (GuildImpl) getJDA().getGuildById(guildId);
        if (getJDA().getGuildSetupController().isLocked(guildId))
            return guildId;
        else if (guild == null)
            // Don't cache typing events
            return null;
    }
    final long channelId = content.getLong("channel_id");
    // TODO-v5-unified-channel-cache
    MessageChannel channel = getJDA().getTextChannelsView().get(channelId);
    if (channel == null)
        channel = getJDA().getNewsChannelView().get(channelId);
    if (channel == null)
        channel = getJDA().getPrivateChannelsView().get(channelId);
    if (channel == null)
        // We don't have the channel cached yet. We chose not to cache this event
        return null;
    // because that happen very often and could easily fill up the EventCache if
    // we, for some reason, never get the channel. Especially in an active channel.
    final long userId = content.getLong("user_id");
    User user;
    MemberImpl member = null;
    if (channel instanceof PrivateChannel)
        user = ((PrivateChannel) channel).getUser();
    else
        user = getJDA().getUsersView().get(userId);
    if (!content.isNull("member")) {
        // Try to load member for the typing event
        EntityBuilder entityBuilder = getJDA().getEntityBuilder();
        member = entityBuilder.createMember(guild, content.getObject("member"));
        entityBuilder.updateMemberCache(member);
        user = member.getUser();
    }
    if (user == null)
        // Just like in the comment above, if for some reason we don't have the user
        return null;
    // then we will just throw the event away.
    OffsetDateTime timestamp = Instant.ofEpochSecond(content.getInt("timestamp")).atOffset(ZoneOffset.UTC);
    getJDA().handleEvent(new UserTypingEvent(getJDA(), responseNumber, user, channel, timestamp, member));
    return null;
}
Also used : PrivateChannel(net.dv8tion.jda.api.entities.PrivateChannel) GuildImpl(net.dv8tion.jda.internal.entities.GuildImpl) UserTypingEvent(net.dv8tion.jda.api.events.user.UserTypingEvent) User(net.dv8tion.jda.api.entities.User) MessageChannel(net.dv8tion.jda.api.entities.MessageChannel) OffsetDateTime(java.time.OffsetDateTime) MemberImpl(net.dv8tion.jda.internal.entities.MemberImpl) EntityBuilder(net.dv8tion.jda.internal.entities.EntityBuilder)

Example 3 with PrivateChannel

use of net.dv8tion.jda.api.entities.PrivateChannel in project Lauren by Yuhtin.

the class LootGeneratorTask method startRunnable.

public void startRunnable() {
    logger.info("Registered LootGeneratorTask");
    val allowedChannels = Arrays.asList(700673056414367825L, 704342124732350645L);
    val embed = new EmbedBuilder();
    embed.setAuthor("Loot Radiante", null, "https://cdn.discordapp.com/emojis/724759930653114399.png?v=1");
    val guild = jda.getGuilds().get(0);
    embed.setFooter("© ^Aincrad™ servidor de jogos", guild.getIconUrl());
    embed.setThumbnail("https://www.pcguia.pt/wp-content/uploads/2019/11/lootbox.jpg");
    embed.setColor(Color.ORANGE);
    val arrow = "   <:seta:771540348157689886>";
    embed.setDescription("Você encontrou uma **lootbox**, seja o primeiro a reajir\n" + "no ícone abaixo para garantir prêmios aleatórios\n" + "\n" + " \uD83C\uDFC6 Prêmios:\n" + arrow + " Experiência **(Garantido)**\n" + arrow + " Pontos de Patente\n" + arrow + " Dinheiro\n" + arrow + " Boost de XP\n" + arrow + " Cargo Sortudo");
    TaskHelper.runTaskTimerAsync(new TimerTask() {

        @Override
        public void run() {
            logger.info("Running LootGeneratorTask");
            if (new Random().nextInt(100) > 10)
                return;
            val value = new Random().nextInt(allowedChannels.size());
            val channelID = allowedChannels.get(value);
            val channel = guild.getTextChannelById(channelID);
            if (channel == null) {
                logger.warning("Can't select a random channel to drop a loot");
                return;
            }
            logger.info("Dropped loot on channel " + channel.getName());
            val message = channel.sendMessageEmbeds(embed.build()).complete();
            message.addReaction(":radiante:771541052590915585").queue();
            eventWaiter.waitForEvent(MessageReactionAddEvent.class, event -> !event.getMember().getUser().isBot() && event.getMessageIdLong() == message.getIdLong(), event -> {
                message.clearReactions().queue();
                var nickname = event.getMember().getNickname();
                if (nickname == null)
                    nickname = event.getMember().getEffectiveName();
                message.delete().queue();
                val privateChannel = event.getUser().openPrivateChannel().complete();
                if (privateChannel != null) {
                    privateChannel.sendMessage("<:felizpakas:742373250037710918> " + "Parabéns **" + nickname + "**, você capturou uma lootbox, você pode abrir ela mais tarde " + "usando `/lootbox`").queue();
                }
                val player = playerController.get(event.getUserIdLong());
                player.setLootBoxes(player.getLootBoxes() + 1);
                logger.info("The player " + event.getUser().getAsTag() + " getted the drop");
            }, 90, TimeUnit.SECONDS, () -> {
                message.delete().queue();
                channel.sendMessage("<a:tchau:751941650728747140> " + "Infelizmente acabou o tempo e ninguém coletou o loot.").queue(m -> m.delete().queueAfter(5, TimeUnit.SECONDS));
            });
        }
    }, 25, 60, TimeUnit.MINUTES);
}
Also used : lombok.val(lombok.val) Message(net.dv8tion.jda.api.entities.Message) lombok.var(lombok.var) Arrays(java.util.Arrays) JDA(net.dv8tion.jda.api.JDA) TaskHelper(com.yuhtin.lauren.utils.TaskHelper) lombok.val(lombok.val) Random(java.util.Random) EmbedBuilder(net.dv8tion.jda.api.EmbedBuilder) TextChannel(net.dv8tion.jda.api.entities.TextChannel) MessageReactionAddEvent(net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent) PrivateChannel(net.dv8tion.jda.api.entities.PrivateChannel) Player(com.yuhtin.lauren.core.player.Player) java.awt(java.awt) TimeUnit(java.util.concurrent.TimeUnit) UserUtil(com.yuhtin.lauren.utils.UserUtil) EventWaiter(com.yuhtin.lauren.models.objects.EventWaiter) Logger(com.yuhtin.lauren.core.logger.Logger) AllArgsConstructor(lombok.AllArgsConstructor) TimerTask(java.util.TimerTask) PlayerController(com.yuhtin.lauren.core.player.controller.PlayerController) EmbedBuilder(net.dv8tion.jda.api.EmbedBuilder) MessageReactionAddEvent(net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent) TimerTask(java.util.TimerTask) Random(java.util.Random) lombok.var(lombok.var)

Example 4 with PrivateChannel

use of net.dv8tion.jda.api.entities.PrivateChannel in project dDiscordBot by DenizenScript.

the class DiscordMessageModifiedScriptEvent method getContext.

@Override
public ObjectTag getContext(String name) {
    switch(name) {
        case "channel":
            return new DiscordChannelTag(botID, getEvent().getChannel());
        case "group":
            if (getEvent().isFromGuild()) {
                return new DiscordGroupTag(botID, getEvent().getGuild());
            }
            break;
        case "new_message":
            return new DiscordMessageTag(botID, getEvent().getMessage());
        case "old_message_valid":
            return new ElementTag(oldMessage != null);
        case "old_message":
            return oldMessage == null ? null : new DiscordMessageTag(botID, oldMessage);
        case "old_no_mention_message":
        case "old_formatted_message":
            DenizenDiscordBot.oldMessageContexts.warn((TagContext) null);
            return null;
        case "message":
            DenizenDiscordBot.oldMessageContexts.warn((TagContext) null);
            return new ElementTag(getEvent().getMessage().getContentRaw());
        case "message_id":
            DenizenDiscordBot.oldMessageContexts.warn((TagContext) null);
            return new ElementTag(getEvent().getMessage().getId());
        case "no_mention_message":
            DenizenDiscordBot.oldMessageContexts.warn((TagContext) null);
            return new ElementTag(DiscordMessageTag.stripMentions(getEvent().getMessage().getContentRaw()));
        case "formatted_message":
            DenizenDiscordBot.oldMessageContexts.warn((TagContext) null);
            return new ElementTag(getEvent().getMessage().getContentDisplay());
        case "author":
            DenizenDiscordBot.oldMessageContexts.warn((TagContext) null);
            return new DiscordUserTag(botID, getEvent().getMessage().getAuthor());
        case "mentions":
            DenizenDiscordBot.oldMessageContexts.warn((TagContext) null);
            ListTag list = new ListTag();
            for (User user : getEvent().getMessage().getMentionedUsers()) {
                list.addObject(new DiscordUserTag(botID, user));
            }
            return list;
        case "is_direct":
            DenizenDiscordBot.oldMessageContexts.warn((TagContext) null);
            return new ElementTag(getEvent().getChannel() instanceof PrivateChannel);
    }
    return super.getContext(name);
}
Also used : PrivateChannel(net.dv8tion.jda.api.entities.PrivateChannel) DiscordUserTag(com.denizenscript.ddiscordbot.objects.DiscordUserTag) User(net.dv8tion.jda.api.entities.User) DiscordChannelTag(com.denizenscript.ddiscordbot.objects.DiscordChannelTag) DiscordGroupTag(com.denizenscript.ddiscordbot.objects.DiscordGroupTag) DiscordMessageTag(com.denizenscript.ddiscordbot.objects.DiscordMessageTag) ElementTag(com.denizenscript.denizencore.objects.core.ElementTag) ListTag(com.denizenscript.denizencore.objects.core.ListTag)

Example 5 with PrivateChannel

use of net.dv8tion.jda.api.entities.PrivateChannel in project Discord-Core-Bot-Apple by demodude4u.

the class DiscordBot method startUp.

@Override
protected void startUp() throws Exception {
    info.addTechnology("[DCBA](https://github.com/demodude4u/Discord-Core-Bot-Apple)", Optional.empty(), "Discord Core Bot Apple");
    info.addTechnology("[JDA](https://github.com/DV8FromTheWorld/JDA)", Optional.of("5.0 alpha"), "Java Discord API");
    if (configJson.has("command_prefix")) {
        setCommandPrefix(Optional.of(configJson.getString("command_prefix")));
    }
    JDABuilder builder = // 
    JDABuilder.createDefault(configJson.getString("bot_token")).setEnableShutdownHook(// 
    false).addEventListeners(new ListenerAdapter() {

        @Override
        public void onCommandAutoCompleteInteraction(CommandAutoCompleteInteractionEvent event) {
            SlashCommandDefinition commandDefinition = commandSlash.get(event.getCommandPath());
            Optional<AutoCompleteHandler> autoCompleteHandler = commandDefinition.getAutoCompleteHandler();
            if (autoCompleteHandler.isPresent()) {
                AutoCompleteEvent autoCompleteEvent = new AutoCompleteEvent(event);
                autoCompleteHandler.get().handleAutoComplete(autoCompleteEvent);
            }
        }

        @Override
        public void onMessageContextInteraction(MessageContextInteractionEvent event) {
            MessageCommandDefinition commandDefinition = commandMessage.get(event.getName());
            boolean ephemeral = commandDefinition.hasRestriction(CommandRestriction.EPHEMERAL);
            CommandReporting reporting = createReporting(event);
            InteractionHook hook = event.deferReply(ephemeral).complete();
            MessageCommandEvent commandEvent = new MessageCommandEvent(event, reporting, hook, ephemeral);
            commandService.submit(() -> {
                try {
                    commandDefinition.getHandler().handleCommand(commandEvent);
                } catch (Exception e) {
                    reporting.addException(e);
                } finally {
                    if (!commandDefinition.hasRestriction(CommandRestriction.NO_REPORTING)) {
                        submitReport(reporting);
                    }
                    if (!reporting.getExceptions().isEmpty()) {
                        commandEvent.replyEmbed(new EmbedBuilder().setColor(Color.red).appendDescription("Sorry, there was a problem completing your request.\n" + reporting.getExceptions().stream().map(e -> "`" + e.getMessage() + "`").distinct().collect(Collectors.joining("\n"))).build());
                    }
                    if (!commandEvent.hasReplied()) {
                        hook.deleteOriginal().complete();
                    }
                }
            });
        }

        @Override
        public void onMessageDelete(MessageDeleteEvent event) {
            if (textWatcher.isPresent()) {
                textWatcher.get().deletedMessage(event);
            }
        }

        @Override
        public void onMessageReactionAdd(MessageReactionAddEvent event) {
            if (reactionWatcher.isPresent()) {
                reactionWatcher.get().seenReaction(event);
            }
        }

        @Override
        public void onMessageReactionRemove(MessageReactionRemoveEvent event) {
            if (reactionWatcher.isPresent()) {
                reactionWatcher.get().seenReactionRemoved(event);
            }
        }

        @Override
        public void onMessageReactionRemoveAll(MessageReactionRemoveAllEvent event) {
            if (reactionWatcher.isPresent()) {
                reactionWatcher.get().seenAllReactionRemoved(event);
            }
        }

        @Override
        public void onMessageReceived(MessageReceivedEvent event) {
            if (textWatcher.isPresent()) {
                textWatcher.get().seenMessage(event);
            }
            Message message = event.getMessage();
            MessageChannel channel = message.getChannel();
            String rawContent = message.getContentRaw().trim();
            String mentionMe = "<@!" + event.getJDA().getSelfUser().getId() + ">";
            // String mentionMe = event.getJDA().getSelfUser().getAsMention();
            boolean isPrivateChannel = channel instanceof PrivateChannel;
            if (isPrivateChannel && ignorePrivateChannels) {
                return;
            }
            boolean startsWithMentionMe = message.getMentionedUsers().stream().anyMatch(u -> u.getIdLong() == event.getJDA().getSelfUser().getIdLong()) && rawContent.startsWith(mentionMe);
            if (startsWithMentionMe) {
                rawContent = rawContent.substring(mentionMe.length()).trim();
            }
            Optional<String> effectivePrefix = getOldCommandPrefix(event);
            boolean startsWithCommandPrefix = effectivePrefix.isPresent() && rawContent.startsWith(effectivePrefix.get());
            if (startsWithCommandPrefix) {
                rawContent = rawContent.substring(effectivePrefix.get().length()).trim();
            }
            if (!event.getAuthor().isBot() && (isPrivateChannel || startsWithMentionMe || startsWithCommandPrefix)) {
                String[] split = rawContent.split("\\s+");
                if (split.length > 0) {
                    String command = split[0];
                    SlashCommandDefinition commandDefinition = commandLegacy.get(command.toLowerCase());
                    if (commandDefinition != null) {
                        boolean isPermitted = checkPermitted(channel, event.getMember(), commandDefinition);
                        if (isPermitted) {
                            event.getChannel().sendMessageEmbeds(new EmbedBuilder().appendDescription("Please use /" + commandDefinition.getPath().replace("/", " ")).build()).complete();
                        }
                    }
                }
            }
        }

        @Override
        public void onMessageUpdate(MessageUpdateEvent event) {
            if (textWatcher.isPresent()) {
                textWatcher.get().editedMessage(event);
            }
        }

        @Override
        public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
            SlashCommandDefinition commandDefinition = commandSlash.get(event.getCommandPath());
            boolean ephemeral = commandDefinition.hasRestriction(CommandRestriction.EPHEMERAL);
            CommandReporting reporting = createReporting(event);
            InteractionHook hook = event.deferReply(ephemeral).complete();
            SlashCommandEvent commandEvent = new SlashCommandEvent(event, reporting, hook, ephemeral);
            commandService.submit(() -> {
                try {
                    commandDefinition.getHandler().handleCommand(commandEvent);
                } catch (Exception e) {
                    System.err.println("Uncaught Exception!");
                    e.printStackTrace();
                    reporting.addException(e);
                } finally {
                    if (!commandDefinition.hasRestriction(CommandRestriction.NO_REPORTING)) {
                        submitReport(reporting);
                    }
                    if (!reporting.getExceptions().isEmpty()) {
                        commandEvent.replyEmbed(new EmbedBuilder().setColor(Color.red).appendDescription("Sorry, there was a problem completing your request.\n" + reporting.getExceptions().stream().map(e -> "`" + e.getMessage() + "`").distinct().collect(Collectors.joining("\n"))).build());
                    }
                    if (!commandEvent.hasReplied()) {
                        hook.deleteOriginal().complete();
                    }
                }
            });
        }
    });
    if (customSetup != null) {
        builder = customSetup.apply(builder);
    }
    jda = builder.build().awaitReady();
    jda.setRequiredScopes("bot", "applications.commands");
    reportingUserID = Optional.ofNullable(configJson.optString("reporting_user_id", null));
    reportingChannelID = Optional.ofNullable(configJson.optString("reporting_channel_id", null));
    if (configJson.has("debug_guild_commands")) {
        String guildId = configJson.getString("debug_guild_commands");
        Guild guild = jda.getGuildById(guildId);
        CommandListUpdateAction updateCommands = guild.updateCommands();
        buildUpdateCommands(updateCommands);
        updateCommands.queue();
    }
    CommandListUpdateAction updateCommands = jda.updateCommands();
    buildUpdateCommands(updateCommands);
    updateCommands.queue();
}
Also used : Color(java.awt.Color) OptionType(net.dv8tion.jda.api.interactions.commands.OptionType) Arrays(java.util.Arrays) Permission(net.dv8tion.jda.api.Permission) MessageUpdateEvent(net.dv8tion.jda.api.events.message.MessageUpdateEvent) Scanner(java.util.Scanner) Member(net.dv8tion.jda.api.entities.Member) TextChannel(net.dv8tion.jda.api.entities.TextChannel) ChannelType(net.dv8tion.jda.api.entities.ChannelType) CommandInteractionPayload(net.dv8tion.jda.api.interactions.commands.CommandInteractionPayload) JSONException(org.json.JSONException) JSONObject(org.json.JSONObject) Guild(net.dv8tion.jda.api.entities.Guild) Map(java.util.Map) OptionMapping(net.dv8tion.jda.api.interactions.commands.OptionMapping) PrintWriter(java.io.PrintWriter) Message(net.dv8tion.jda.api.entities.Message) SubcommandData(net.dv8tion.jda.api.interactions.commands.build.SubcommandData) SlashCommandInteractionEvent(net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent) CommandAutoCompleteInteractionEvent(net.dv8tion.jda.api.events.interaction.command.CommandAutoCompleteInteractionEvent) Instant(java.time.Instant) MessageReactionAddEvent(net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent) Collectors(java.util.stream.Collectors) Executors(java.util.concurrent.Executors) SlashCommandData(net.dv8tion.jda.api.interactions.commands.build.SlashCommandData) List(java.util.List) MessageReactionRemoveAllEvent(net.dv8tion.jda.api.events.message.react.MessageReactionRemoveAllEvent) MessageDeleteEvent(net.dv8tion.jda.api.events.message.MessageDeleteEvent) Entry(java.util.Map.Entry) Optional(java.util.Optional) CommandListUpdateAction(net.dv8tion.jda.api.requests.restaction.CommandListUpdateAction) MessageReceivedEvent(net.dv8tion.jda.api.events.message.MessageReceivedEvent) MessageChannel(net.dv8tion.jda.api.entities.MessageChannel) MessageReactionRemoveEvent(net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent) JDA(net.dv8tion.jda.api.JDA) MessageContextInteractionEvent(net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionEvent) LocalDateTime(java.time.LocalDateTime) Function(java.util.function.Function) PrivateChannel(net.dv8tion.jda.api.entities.PrivateChannel) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) JDABuilder(net.dv8tion.jda.api.JDABuilder) AbstractIdleService(com.google.common.util.concurrent.AbstractIdleService) SubcommandGroupData(net.dv8tion.jda.api.interactions.commands.build.SubcommandGroupData) ExecutorService(java.util.concurrent.ExecutorService) StringWriter(java.io.StringWriter) ListenerAdapter(net.dv8tion.jda.api.hooks.ListenerAdapter) IOException(java.io.IOException) FileInputStream(java.io.FileInputStream) EmbedBuilder(net.dv8tion.jda.api.EmbedBuilder) CommandData(net.dv8tion.jda.api.interactions.commands.build.CommandData) Commands(net.dv8tion.jda.api.interactions.commands.build.Commands) ChronoUnit(java.time.temporal.ChronoUnit) InteractionHook(net.dv8tion.jda.api.interactions.InteractionHook) MessageEmbed(net.dv8tion.jda.api.entities.MessageEmbed) PrivateChannel(net.dv8tion.jda.api.entities.PrivateChannel) MessageReactionRemoveEvent(net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent) Message(net.dv8tion.jda.api.entities.Message) JDABuilder(net.dv8tion.jda.api.JDABuilder) MessageUpdateEvent(net.dv8tion.jda.api.events.message.MessageUpdateEvent) Guild(net.dv8tion.jda.api.entities.Guild) CommandAutoCompleteInteractionEvent(net.dv8tion.jda.api.events.interaction.command.CommandAutoCompleteInteractionEvent) MessageReceivedEvent(net.dv8tion.jda.api.events.message.MessageReceivedEvent) SlashCommandInteractionEvent(net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent) MessageReactionRemoveAllEvent(net.dv8tion.jda.api.events.message.react.MessageReactionRemoveAllEvent) MessageReactionAddEvent(net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent) Optional(java.util.Optional) CommandListUpdateAction(net.dv8tion.jda.api.requests.restaction.CommandListUpdateAction) JSONException(org.json.JSONException) IOException(java.io.IOException) ListenerAdapter(net.dv8tion.jda.api.hooks.ListenerAdapter) EmbedBuilder(net.dv8tion.jda.api.EmbedBuilder) InteractionHook(net.dv8tion.jda.api.interactions.InteractionHook) MessageChannel(net.dv8tion.jda.api.entities.MessageChannel) MessageContextInteractionEvent(net.dv8tion.jda.api.events.interaction.command.MessageContextInteractionEvent) MessageDeleteEvent(net.dv8tion.jda.api.events.message.MessageDeleteEvent)

Aggregations

PrivateChannel (net.dv8tion.jda.api.entities.PrivateChannel)13 User (net.dv8tion.jda.api.entities.User)5 EmbedBuilder (net.dv8tion.jda.api.EmbedBuilder)4 Message (net.dv8tion.jda.api.entities.Message)4 Arrays (java.util.Arrays)3 JDA (net.dv8tion.jda.api.JDA)3 TextChannel (net.dv8tion.jda.api.entities.TextChannel)3 MessageReactionAddEvent (net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent)3 DiscordChannelTag (com.denizenscript.ddiscordbot.objects.DiscordChannelTag)2 DiscordGroupTag (com.denizenscript.ddiscordbot.objects.DiscordGroupTag)2 DiscordMessageTag (com.denizenscript.ddiscordbot.objects.DiscordMessageTag)2 DiscordUserTag (com.denizenscript.ddiscordbot.objects.DiscordUserTag)2 ElementTag (com.denizenscript.denizencore.objects.core.ElementTag)2 ListTag (com.denizenscript.denizencore.objects.core.ListTag)2 Ban (com.gamebuster19901.excite.bot.audit.ban.Ban)2 Logger (com.yuhtin.lauren.core.logger.Logger)2 Player (com.yuhtin.lauren.core.player.Player)2 PlayerController (com.yuhtin.lauren.core.player.controller.PlayerController)2 EventWaiter (com.yuhtin.lauren.models.objects.EventWaiter)2 TaskHelper (com.yuhtin.lauren.utils.TaskHelper)2