public JDA getJDA() { return message.getJDA(); }
private String parseContent(String content) { String[] parts = content.split(" "); if (!isMentionableCommand()) { return String.join(" ", Arrays.copyOfRange(parts, 1, parts.length)); } int nameSize = (isGuildMessage() ? message.getGuild().getSelfMember().getEffectiveName() : message.getJDA().getSelfUser().getName() ).split(" ").length + 1; return String.join(" ", Arrays.copyOfRange(parts, nameSize, parts.length)); }
private VoiceConnectStatus canConnectToChannel(Message message, VoiceChannel channel) { List<Permission> permissions = message.getGuild().getMember(message.getJDA().getSelfUser()).getPermissions(channel); if (!permissions.contains(Permission.VOICE_CONNECT)) { return VoiceConnectStatus.MISSING_PERMISSIONS; } if (channel.getUserLimit() > 0 && !permissions.contains(Permission.VOICE_MOVE_OTHERS) && channel.getUserLimit() <= channel.getMembers().size()) { return VoiceConnectStatus.USER_LIMIT; } return null; }
public static void deleteMessage(@Nonnull Message message, int delay, TimeUnit timeUnit) { if (message.getJDA().getSelfUser().getId().equals(message.getAuthor().getId())) { handleDeleteMessage(message, delay, timeUnit); } else if (message.getGuild() != null && message.getGuild().getSelfMember().hasPermission(message.getTextChannel(), Permission.MESSAGE_MANAGE)) { handleDeleteMessage(message, delay, timeUnit); } }
case ALL: if ((hasManageMessages || (msg.getAuthor() != null && msg.getAuthor().getId().equals(msg.getJDA().getSelfUser().getId())))) { messagesToDelete.add(msg); deletedCount++; case COMMANDS: if ((msg.getContentRaw().startsWith(cmdPrefix) && hasManageMessages) || (msg.getAuthor() == null || msg.getAuthor().getId().equals(msg.getJDA().getSelfUser().getId()))) { messagesToDelete.add(msg); deletedCount++;
/** * Retrieves the message again before deleting it * Mostly for delayed deletion * * @param messageToDelete the message to delete */ public void saveDelete(Message messageToDelete) { if (messageToDelete != null && botInstance.getJda() == messageToDelete.getJDA()) { TextChannel channel = botInstance.getJda().getTextChannelById(messageToDelete.getChannel().getId()); if (channel != null && PermissionUtil.checkPermission(channel, channel.getGuild().getSelfMember(), Permission.MESSAGE_HISTORY)) { botInstance.queue.add(channel.deleteMessageById(messageToDelete.getId())); } } }
.replace("%channel%", generateChannel(message)) .replace("%message%", message.getContentRaw()) .replace("%shard%", message.getJDA().getShardInfo().getShardString()) ); MDC.putCloseable(SentryConstants.SENTRY_MDC_TAG_SHARD, message.getJDA().getShardInfo().getShardString()); MDC.putCloseable(SentryConstants.SENTRY_MDC_TAG_CHANNEL, message.getChannel().getId()); MDC.putCloseable(SentryConstants.SENTRY_MDC_TAG_AUTHOR, message.getAuthor().getId());
@Override public CommandReactionListener<Game2048> getReactionListener(long userId, Game2048 game) { CommandReactionListener<Game2048> listener = new CommandReactionListener<>(userId, game); listener.setExpiresIn(TimeUnit.MINUTES, 5); for (String reaction : game.getReactions()) { listener.registerReaction(Emojibet.getEmojiFor(reaction), message -> { Game2048Turn turn = new Game2048Turn(); turn.parseInput(reaction); if (!game.isValidMove(message.getJDA().getUserById(userId), turn)) { message.editMessage(game.toString() + "\n" + Templates.playmode_not_a_valid_move.format()).complete(); } else { game.playTurn(message.getJDA().getUserById(userId), turn); message.editMessage(game.toString()).complete(); } if (game.getGameState().equals(GameState.OVER)) { listener.disable(); message.clearReactions().complete(); } }); } return listener; }
private void displayMessage(DiscordBot bot, TextChannel channel, OReactionRoleKey key) { if (key.channelId > 0 && key.messageId > 0) { TextChannel tchan = channel.getGuild().getTextChannelById(key.channelId); if (tchan != null && tchan.canTalk()) { tchan.deleteMessageById(key.messageId).queue(); } } List<OReactionRoleMessage> reactions = CReactionRole.getReactionsForKey(key.id); channel.sendMessage(buildMessage(channel, key, reactions)).queue(message -> { key.messageId = message.getIdLong(); key.channelId = channel.getIdLong(); CReactionRole.update(key); bot.roleReactionHandler.initGuild(message.getGuild().getIdLong(), true); for (OReactionRoleMessage reaction : reactions) { if (reaction.isNormalEmote) { message.addReaction(reaction.emoji).queue(); } else { message.addReaction(message.getJDA().getEmoteById(reaction.emoji)).queue(); } } }); } }