@Override protected Route.CompiledRoute finalizeRoute() { Route.CompiledRoute route = super.finalizeRoute(); final String limit = String.valueOf(this.getLimit()); final Message last = this.last; route = route.withQueryParams("limit", limit); if (last != null) route = route.withQueryParams("before", last.getId()); return route; }
@Override protected Route.CompiledRoute finalizeRoute() { Route.CompiledRoute route = super.finalizeRoute(); String limit, before, everyone, role; limit = String.valueOf(super.getLimit()); before = last != null ? last.getId() : null; everyone = String.valueOf(isEveryone); role = String.valueOf(isRole); route = route.withQueryParams("limit", limit, "roles", role, "everyone", everyone); if (guild != null) route = route.withQueryParams("guild_id", guild.getId()); if (before != null) route = route.withQueryParams("before", before); return route; }
return getHistoryBefore(message.getId(), limit);
return getHistoryAfter(message.getId(), limit);
return getHistoryAround(message.getId(), limit);
public static void finishNow(UUID uuid, Guild guild) { VoteGroup group = groupMap.get(uuid + guild.getId()); String message = group.getVoteMessage().getId(); groupMap.remove(uuid + guild.getId()); runnableMap.get(uuid + guild.getId()).run(group.won()); runnableMap.remove(uuid + guild.getId()); Scheduler.cancelTask("Votes-" + message); group.getVoteMessage().getChannel().deleteMessageById(group.getVoteMessage().getId()).queue(); } }
public boolean addVote(Vote vote, User user) { if (allowedUsers != null && voteMessage != null && !allowedUsers.contains(user.getIdLong())) return false; if (!users.contains(user.getIdLong())) { if (vote == Vote.NO) noVotes++; else yesVotes++; if (allowedUsers.size() == totalVotes()) { VoteUtil.finishNow(id, Getters.getGuildById(voteMessage.getId())); return true; } users.add(user.getIdLong()); if (voteMessage != null) { votesEmbed.clearFields(); votesEmbed.addField("Yes", String.valueOf(yesVotes), true); votesEmbed.addField("No", String.valueOf(noVotes), true); voteMessage.editMessage(votesEmbed.build()).queue(); } return true; } else return false; }
@Override public void run() { voteRunnable.run(group.won()); groupMap.remove(group.getMessageDesc() + channel.getGuild().getId()); runnableMap.remove(group.getMessageDesc() + channel.getGuild().getId()); channel.deleteMessageById(voteMessage.getId()).queue(); }
if (reactions.where("message_id", event.getMessage().getId()).isEmpty()) { return; avaire.getDatabase().newQueryBuilder(Constants.REACTION_ROLES_TABLE_NAME) .where("guild_id", event.getGuild().getId()) .where("message_id", event.getMessage().getId()) .update(statement -> { statement.set("snippet", finalMessageContent.substring( } catch (SQLException e) { log.error("Failed to update the reaction role message with a message ID of {}, error: {}", event.getMessage().getId(), e.getMessage(), e );
private static void handleSuccessConsumer(TextChannel channel, Message message, ButtonGroup buttonGroup) { if (!channel.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_ADD_REACTION)) { MessageUtils.sendErrorMessage("We don't have permission to add reactions to messages so buttons have been " + "disabled", channel); return; } if (!channel.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_MANAGE)) { MessageUtils.sendErrorMessage("We don't have permission to manage reactions so you won't be getting the best experience with buttons", channel); } for (ButtonGroup.Button button : buttonGroup.getButtons()) { button.addReaction(message); } buttonMessages.put(message.getId(), buttonGroup); }
/** * Message fields: * - Message ID * - Author ID * - Channel ID * - Guild ID * - Raw Content * - Timestamp (Epoch seconds) * * @param message The message to serialise * @return The serialised message */ public static String getRedisMessageJson(Message message) { return FlareBot.GSON.toJson(new RedisMessage( message.getId(), message.getAuthor().getId(), message.getChannel().getId(), message.getGuild().getId(), message.getContentRaw(), message.getCreationTime().toInstant().toEpochMilli() )); }
if (playerGames.containsKey(player.getId()) && playerGames.get(player.getId()).couldAddReactions()) { bot.out.sendAsyncMessage(channel, gameMessage, msg -> { reactionMessages.put(msg.getId(), player.getId()); for (String reaction : playerGames.get(player.getId()).getReactions()) { msg.addReaction(Misc.numberToEmote(Integer.parseInt(reaction))).complete();
public void editBlocking(Message msg, String newContent) { if (!msg.getChannelType().equals(ChannelType.TEXT)) { return; } TextChannel channel = botInstance.getJda().getTextChannelById(msg.getTextChannel().getId()); if (channel == null) { return; } botInstance.queue.add(channel.editMessageById(msg.getId(), newContent)); }
for (Message msg : history.getRetrievedHistory()) { if (msg.getCreationTime().plusWeeks(2).isBefore(OffsetDateTime.now())) break outer; if (msg.getId().equals(message.getId())) continue; if ((targetUser != null && msg.getAuthor().getId().equals(targetUser.getId())) || targetUser == null) { toDelete.add(msg); if (toDelete.size() == 0) break; if (toDelete.size() == 1) { channel.deleteMessageById(toDelete.get(0).getId()).complete(); break;
/** * 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())); } } }
statement.set("guild_id", message.getGuild().getId()); statement.set("channel_id", message.getChannel().getId()); statement.set("message_id", message.getId()); statement.set("roles", AvaIre.gson.toJson(reactionTransformer.getRoles())); statement.set("snippet", finalMessageContent.substring(
.update(statement -> { statement.set("response", message, true); statement.set("response_id", responseMessage.getId()); }); } catch (SQLException ignored) {
message -> { OModerationCase modCase = CModerationCase.findById(caseId); modCase.messageId = message.getId(); CModerationCase.update(modCase); });
private static void logActionToTheDatabase(AvaIre avaire, Guild guild, ModlogAction action, Message message, int modlogCase) { try { avaire.getDatabase().newQueryBuilder(Constants.LOG_TABLE_NAME) .useAsync(true) .insert(statement -> { statement.set("modlogCase", modlogCase); statement.set("type", action.getType().getId()); statement.set("guild_id", guild.getId()); statement.set("user_id", action.getModerator().getId()); if (action.getTarget() != null) { statement.set("target_id", action.getTarget().getId()); } if (message != null) { statement.set("message_id", message.getId()); } statement.set("reason", formatReason(null, action.getMessage()), true); }); } catch (SQLException ignored) { // } }
group.setVoteMessage(voteMessage); new FlareBotTask("Votes-" + voteMessage.getId()){