mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-12 19:18:42 +00:00
[AB-139] changing the places at which there might be an uncached member object
fixing integer validator fixing syncing roles not working if the role did not change in the database fixing warn id being flipped fixing star stats model
This commit is contained in:
@@ -21,12 +21,19 @@ public class MinIntegerValueValidator implements ParameterValidator {
|
||||
if(value == null) {
|
||||
throw new IllegalArgumentException("Object to validate must not be null");
|
||||
}
|
||||
if(!(value instanceof Long)) {
|
||||
boolean isLong = value instanceof Long;
|
||||
boolean isInteger = value instanceof Integer;
|
||||
if(!isLong && !isInteger) {
|
||||
throw new ValidatorConfigException("Incorrect value passed to max value validator.");
|
||||
}
|
||||
SingleNumberValidatorParam param = (SingleNumberValidatorParam) getParameters().get(0);
|
||||
Long longValue = (Long) value;
|
||||
return longValue >= param.getNumber();
|
||||
if(isLong) {
|
||||
Long longValue = (Long) value;
|
||||
return longValue >= param.getNumber();
|
||||
} else {
|
||||
Integer integerValue = (Integer) value;
|
||||
return integerValue >= param.getNumber();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,8 +3,12 @@ package dev.sheldan.abstracto.core.command.handler;
|
||||
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
public interface CommandParameterHandler {
|
||||
boolean handles(Class clazz);
|
||||
Object handle(String input, CommandParameterIterators iterators, Class clazz, Message context);
|
||||
default boolean async() { return false; }
|
||||
default Object handle(String input, CommandParameterIterators iterators, Class clazz, Message context) { return new Object();}
|
||||
default CompletableFuture handleAsync(String input, CommandParameterIterators iterators, Class clazz, Message context) { return CompletableFuture.completedFuture(null); }
|
||||
Integer getPriority();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package dev.sheldan.abstracto.core.models;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class FutureMemberPair {
|
||||
private CompletableFuture<Member> firstMember;
|
||||
private CompletableFuture<Member> secondMember;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package dev.sheldan.abstracto.core.models;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class MemberPair {
|
||||
private Member firstMember;
|
||||
private Member secondMember;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package dev.sheldan.abstracto.core.models;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ServerChannelMessageUser {
|
||||
private Long serverId;
|
||||
private Long channelId;
|
||||
private Long messageId;
|
||||
private Long userId;
|
||||
}
|
||||
@@ -18,10 +18,13 @@ public interface BotService {
|
||||
void login() throws LoginException;
|
||||
JDA getInstance();
|
||||
GuildChannelMember getServerChannelUser(Long serverId, Long channelId, Long userId);
|
||||
CompletableFuture<GuildChannelMember> getServerChannelUserAsync(Long serverId, Long channelId, Long userId);
|
||||
Member getMemberInServer(Long serverId, Long memberId);
|
||||
CompletableFuture<Member> getMemberInServerAsync(Long serverId, Long memberId);
|
||||
boolean isUserInGuild(AUserInAServer aUserInAServer);
|
||||
boolean isUserInGuild(Guild guild, AUserInAServer aUserInAServer);
|
||||
Member getMemberInServer(AUserInAServer aUserInAServer);
|
||||
CompletableFuture<Member> getMemberInServerAsync(AUserInAServer aUserInAServer);
|
||||
Member getMemberInServer(AServer server, AUser member);
|
||||
CompletableFuture<Void> deleteMessage(Long serverId, Long channelId, Long messageId);
|
||||
CompletableFuture<Void> deleteMessage(Long channelId, Long messageId);
|
||||
@@ -32,7 +35,7 @@ public interface BotService {
|
||||
TextChannel getTextChannelFromServer(Guild serverId, Long textChannelId);
|
||||
Optional<TextChannel> getTextChannelFromServerOptional(Long serverId, Long textChannelId);
|
||||
TextChannel getTextChannelFromServer(Long serverId, Long textChannelId);
|
||||
Optional<Guild> getGuildById(Long serverId);
|
||||
Guild getGuildByIdNullable(Long serverId);
|
||||
Optional<Guild> getGuildByIdOptional(Long serverId);
|
||||
Guild getGuildById(Long serverId);
|
||||
Member getBotInGuild(AServer server);
|
||||
}
|
||||
|
||||
@@ -16,10 +16,10 @@ public interface MessageService {
|
||||
CompletableFuture<Void> addReactionToMessageWithFuture(AEmote emote, Long serverId, Message message);
|
||||
CompletableFuture<Void> addReactionToMessageWithFuture(AEmote emote, Guild guild, Message message);
|
||||
CompletableFuture<Void> addReactionToMessageWithFuture(Long emoteId, Long serverId, Message message);
|
||||
CompletableFuture<Void> removeReactionFromMessageWithFuture(AEmote emote, Long serverId, Message message);
|
||||
CompletableFuture<Void> removeReactionFromMessageWithFuture(AEmote emote, Message message);
|
||||
CompletableFuture<Void> clearReactionFromMessageWithFuture(AEmote emote, Message message);
|
||||
CompletableFuture<Void> removeReactionFromMessageWithFuture(Integer emoteId, Long serverId, Message message);
|
||||
CompletableFuture<Void> clearReactionFromMessageWithFuture(Integer emoteId, Long serverId, Message message);
|
||||
CompletableFuture<Void> removeReactionFromMessageWithFuture(Integer emoteId, Message message);
|
||||
CompletableFuture<Void> clearReactionFromMessageWithFuture(Integer emoteId, Message message);
|
||||
CompletableFuture<Void> removeReactionFromMessageWithFuture(AEmote emote, Long serverId, Long channelId, Long messageId);
|
||||
CompletableFuture<Void> removeReactionOfUserFromMessageWithFuture(AEmote emote, Long serverId, Long channelId, Long messageId, Long userId);
|
||||
CompletableFuture<Void> removeReactionOfUserFromMessageWithFuture(AEmote emote, Long serverId, Long channelId, Long messageId, Member member);
|
||||
|
||||
@@ -12,10 +12,12 @@ import java.util.concurrent.CompletableFuture;
|
||||
public interface RoleService {
|
||||
void addRoleToUser(AUserInAServer aUserInAServer, ARole role);
|
||||
CompletableFuture<Void> addRoleToUserFuture(AUserInAServer aUserInAServer, ARole role);
|
||||
CompletableFuture<Void> addRoleToMemberFuture(Member member, Long roleId);
|
||||
void addRoleToMember(Member member, ARole role);
|
||||
CompletableFuture<Void> addRoleToMemberFuture(Member member, ARole role);
|
||||
void removeRoleFromMember(Member member, ARole role);
|
||||
CompletableFuture<Void> removeRoleFromMemberFuture(Member member, ARole role);
|
||||
CompletableFuture<Void> removeRoleFromMemberAsync(Member member, ARole role);
|
||||
CompletableFuture<Void> removeRoleFromMemberAsync(Member member, Long roleId);
|
||||
void removeRoleFromUser(AUserInAServer aUserInAServer, ARole role);
|
||||
CompletableFuture<Void> removeRoleFromUserFuture(AUserInAServer aUserInAServer, ARole role);
|
||||
void markDeleted(Role role, AServer server);
|
||||
@@ -25,6 +27,7 @@ public interface RoleService {
|
||||
boolean hasAnyOfTheRoles(Member member, List<ARole> roles);
|
||||
boolean memberHasRole(Member member, Role role);
|
||||
boolean memberHasRole(Member member, ARole role);
|
||||
boolean memberHasRole(Member member, Long roleId);
|
||||
boolean isRoleInServer(ARole role);
|
||||
boolean canBotInteractWithRole(ARole role);
|
||||
ARole getFakeRoleFromRole(Role role);
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.FullUserInServer;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
|
||||
public interface UserInServerService {
|
||||
FullUserInServer getFullUser(AUserInAServer aUserInAServer);
|
||||
}
|
||||
@@ -11,4 +11,8 @@ public class FutureUtils {
|
||||
public static <T> CompletableFuture<Void> toSingleFutureGeneric(List<CompletableFuture<T>> futures) {
|
||||
return CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
|
||||
}
|
||||
|
||||
public static CompletableFuture<Void> toSingleFuture(List<CompletableFuture> futures) {
|
||||
return CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user