mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-24 13:44:33 +00:00
[AB-203] restructuring listeners to use more common code and common interfaces for listeners and models
restructuring entity listener to be async and added models fixing usage of repository save method adding interface dependencies to bundle dependency management
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
package dev.sheldan.abstracto.core.command.exception;
|
||||
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
|
||||
public class ChannelGroupNotFoundByIdException extends AbstractoRunTimeException {
|
||||
|
||||
public ChannelGroupNotFoundByIdException() {
|
||||
super("Channel group not found by ID");
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.execution;
|
||||
|
||||
public interface ResultAware {
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.execution.result;
|
||||
|
||||
public interface ExecutionResult {
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.execution.result;
|
||||
|
||||
public enum MessageReceivedListenerResult implements ExecutionResult {
|
||||
IGNORED, PROCESSED, DELETED
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
public interface AbstractoListener<M extends ListenerModel, R extends ListenerExecutionResult> {
|
||||
R execute(M model);
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.execution.result.ExecutionResult;
|
||||
import net.dv8tion.jda.api.events.Event;
|
||||
|
||||
public interface Consumable {
|
||||
default boolean shouldConsume(Event event, ExecutionResult result) { return false; }
|
||||
default boolean shouldConsume(Event event, ConsumableListenerResult result) { return false; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
|
||||
public enum ConsumableListenerResult implements ListenerExecutionResult {
|
||||
IGNORED, PROCESSED, DELETED
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
public enum DefaultListenerResult implements ListenerExecutionResult {
|
||||
PROCESSED, IGNORED
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
|
||||
public interface FeatureAwareListener<T extends FeatureAwareListenerModel, R extends ListenerExecutionResult> extends AbstractoListener<T, R>, FeatureAware {
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
public interface FeatureAwareListenerModel extends ListenerModel {
|
||||
Long getServerId();
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
public interface ListenerExecutionResult {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
public interface ListenerModel {
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package dev.sheldan.abstracto.core.listener;
|
||||
|
||||
import org.springframework.core.task.TaskExecutor;
|
||||
|
||||
public interface ListenerService {
|
||||
<T extends FeatureAwareListenerModel, R extends ListenerExecutionResult> void executeFeatureAwareListener(FeatureAwareListener<T, R> listener, T model);
|
||||
<T extends FeatureAwareListenerModel, R extends ListenerExecutionResult> void executeFeatureAwareListener(FeatureAwareListener<T, R> listener, T model, TaskExecutor executor);
|
||||
<T extends ListenerModel, R extends ListenerExecutionResult> void executeListener(AbstractoListener<T, R> listener, T model);
|
||||
<T extends ListenerModel, R extends ListenerExecutionResult> void executeListener(AbstractoListener<T, R> listener, T model, TaskExecutor executor);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.AbstractoListener;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.models.listener.AChannelCreatedListenerModel;
|
||||
|
||||
public interface AsyncAChannelCreatedListener extends AbstractoListener<AChannelCreatedListenerModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.AbstractoListener;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.models.listener.AChannelDeletedListenerModel;
|
||||
|
||||
public interface AsyncAChannelDeletedListener extends AbstractoListener<AChannelDeletedListenerModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.AbstractoListener;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.models.listener.ARoleCreatedListenerModel;
|
||||
|
||||
public interface AsyncARoleCreatedListener extends AbstractoListener<ARoleCreatedListenerModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.AbstractoListener;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.models.listener.ARoleDeletedListenerModel;
|
||||
|
||||
public interface AsyncARoleDeletedListener extends AbstractoListener<ARoleDeletedListenerModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.AbstractoListener;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.models.listener.ServerCreatedListenerModel;
|
||||
|
||||
public interface AsyncServerCreatedListener extends AbstractoListener<ServerCreatedListenerModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedEmote;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.EmoteCreatedModel;
|
||||
|
||||
public interface AsyncEmoteCreatedListener extends FeatureAware, Prioritized {
|
||||
void emoteCreated(CachedEmote createdEmote);
|
||||
public interface AsyncEmoteCreatedListener extends FeatureAwareListener<EmoteCreatedModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedEmote;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.EmoteDeletedModel;
|
||||
|
||||
public interface AsyncEmoteDeletedListener extends FeatureAware, Prioritized {
|
||||
void emoteDeleted(CachedEmote deletedEmote);
|
||||
public interface AsyncEmoteDeletedListener extends FeatureAwareListener<EmoteDeletedModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.EmoteNameUpdatedModel;
|
||||
|
||||
public interface AsyncEmoteNameUpdatedListener extends FeatureAwareListener<EmoteNameUpdatedModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedEmote;
|
||||
|
||||
public interface AsyncEmoteUpdatedListener extends FeatureAware, Prioritized {
|
||||
void emoteUpdated(CachedEmote updatedEmote, String oldValue, String newValue);
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MemberJoinModel;
|
||||
|
||||
public interface AsyncJoinListener extends FeatureAware {
|
||||
void execute(ServerUser joiningUser);
|
||||
public interface AsyncJoinListener extends FeatureAwareListener<MemberJoinModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MemberLeaveModel;
|
||||
|
||||
public interface AsyncLeaveListener extends FeatureAware {
|
||||
void execute(ServerUser serverUser);
|
||||
public interface AsyncLeaveListener extends FeatureAwareListener<MemberLeaveModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MessageDeletedModel;
|
||||
|
||||
public interface AsyncMessageDeletedListener extends FeatureAware {
|
||||
void execute(CachedMessage messageBefore);
|
||||
public interface AsyncMessageDeletedListener extends FeatureAwareListener<MessageDeletedModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.GuildMessageEmbedEventModel;
|
||||
|
||||
public interface AsyncMessageEmbeddedListener extends FeatureAware {
|
||||
void execute(GuildMessageEmbedEventModel eventModel);
|
||||
public interface AsyncMessageEmbeddedListener extends FeatureAwareListener<GuildMessageEmbedEventModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MessageReceivedModel;
|
||||
|
||||
public interface AsyncMessageReceivedListener extends FeatureAware {
|
||||
void execute(CachedMessage message);
|
||||
public interface AsyncMessageReceivedListener extends FeatureAwareListener<MessageReceivedModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MessageTextUpdatedModel;
|
||||
|
||||
public interface AsyncMessageTextUpdatedListener extends FeatureAware {
|
||||
void execute(CachedMessage messageBefore, CachedMessage messageAfter);
|
||||
public interface AsyncMessageTextUpdatedListener extends FeatureAwareListener<MessageTextUpdatedModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedReactions;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.ReactionAddedModel;
|
||||
|
||||
public interface AsyncReactionAddedListener extends FeatureAware {
|
||||
void executeReactionAdded(CachedMessage message, CachedReactions addedReaction, ServerUser userAdding);
|
||||
public interface AsyncReactionAddedListener extends FeatureAwareListener<ReactionAddedModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.ReactionClearedModel;
|
||||
|
||||
public interface AsyncReactionClearedListener extends FeatureAware {
|
||||
void executeReactionCleared(CachedMessage message);
|
||||
public interface AsyncReactionClearedListener extends FeatureAwareListener<ReactionClearedModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedReactions;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.ReactionRemovedModel;
|
||||
|
||||
public interface AsyncReactionRemovedListener extends FeatureAware {
|
||||
void executeReactionRemoved(CachedMessage message, CachedReactions removedReaction, ServerUser userRemoving);
|
||||
public interface AsyncReactionRemovedListener extends FeatureAwareListener<ReactionRemovedModel, DefaultListenerResult> {
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.RoleCreatedModel;
|
||||
|
||||
public interface AsyncRoleCreatedListener extends FeatureAwareListener<RoleCreatedModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.RoleDeletedModel;
|
||||
|
||||
public interface AsyncRoleDeletedListener extends FeatureAwareListener<RoleDeletedModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.TextChannelCreatedModel;
|
||||
|
||||
public interface AsyncTextChannelCreatedListener extends FeatureAwareListener<TextChannelCreatedModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.async.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.TextChannelDeletedModel;
|
||||
|
||||
public interface AsyncTextChannelDeletedListener extends FeatureAwareListener<TextChannelDeletedModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.AbstractoListener;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.models.listener.ChannelGroupCreatedListenerModel;
|
||||
|
||||
public interface AsyncChannelGroupCreatedListener extends AbstractoListener<ChannelGroupCreatedListenerModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.AbstractoListener;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.models.listener.ChannelGroupDeletedListenerModel;
|
||||
|
||||
public interface AsyncChannelGroupDeletedListener extends AbstractoListener<ChannelGroupDeletedListenerModel, DefaultListenerResult> {
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||
|
||||
public interface ChannelGroupCreatedListener {
|
||||
void channelGroupCreated(AChannelGroup channelGroup);
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AChannelGroup;
|
||||
|
||||
public interface ChannelGroupDeletedListener {
|
||||
void channelGroupDeleted(AChannelGroup channelGroup);
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.entity;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
|
||||
public interface ServerConfigListener {
|
||||
void updateServerConfig(AServer server);
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import net.dv8tion.jda.api.entities.Emote;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.EmoteCreatedModel;
|
||||
|
||||
public interface EmoteCreatedListener extends FeatureAware, Prioritized {
|
||||
void emoteCreated(Emote createdEmote);
|
||||
public interface EmoteCreatedListener extends FeatureAwareListener<EmoteCreatedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import net.dv8tion.jda.api.entities.Emote;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.EmoteDeletedModel;
|
||||
|
||||
public interface EmoteDeletedListener extends FeatureAware, Prioritized {
|
||||
void emoteDeleted(Emote deletedEmote);
|
||||
public interface EmoteDeletedListener extends FeatureAwareListener<EmoteDeletedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import net.dv8tion.jda.api.entities.Emote;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.EmoteNameUpdatedModel;
|
||||
|
||||
public interface EmoteUpdatedListener extends FeatureAware, Prioritized {
|
||||
void emoteUpdated(Emote updatedEmote, String oldValue, String newValue);
|
||||
public interface EmoteUpdatedListener extends FeatureAwareListener<EmoteNameUpdatedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import net.dv8tion.jda.api.entities.Guild;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MemberJoinModel;
|
||||
|
||||
public interface JoinListener extends FeatureAware, Prioritized {
|
||||
void execute(Member member, Guild guild, AUserInAServer aUserInAServer);
|
||||
public interface JoinListener extends FeatureAwareListener<MemberJoinModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import net.dv8tion.jda.api.entities.Guild;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MemberLeaveModel;
|
||||
|
||||
public interface LeaveListener extends FeatureAware, Prioritized {
|
||||
void execute(Member member, Guild guild);
|
||||
public interface LeaveListener extends FeatureAwareListener<MemberLeaveModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.AServerAChannelAUser;
|
||||
import dev.sheldan.abstracto.core.models.GuildChannelMember;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MessageDeletedModel;
|
||||
|
||||
public interface MessageDeletedListener extends FeatureAware, Prioritized {
|
||||
void execute(CachedMessage messageBefore, AServerAChannelAUser authorUser, GuildChannelMember authorMember);
|
||||
public interface MessageDeletedListener extends FeatureAwareListener<MessageDeletedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.GuildMessageEmbedEventModel;
|
||||
|
||||
public interface MessageEmbeddedListener extends FeatureAware, Prioritized {
|
||||
void execute(GuildMessageEmbedEventModel eventModel);
|
||||
public interface MessageEmbeddedListener extends FeatureAwareListener<GuildMessageEmbedEventModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.execution.result.MessageReceivedListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.ConsumableListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.Consumable;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MessageReceivedModel;
|
||||
|
||||
public interface MessageReceivedListener extends FeatureAware, Prioritized, Consumable {
|
||||
MessageReceivedListenerResult execute(Message message);
|
||||
public interface MessageReceivedListener extends FeatureAwareListener<MessageReceivedModel, ConsumableListenerResult>, Prioritized, Consumable {
|
||||
}
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.MessageTextUpdatedModel;
|
||||
|
||||
public interface MessageTextUpdatedListener extends FeatureAware, Prioritized {
|
||||
void execute(CachedMessage messageBefore, Message messageAfter);
|
||||
public interface MessageTextUpdatedListener extends FeatureAwareListener<MessageTextUpdatedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import net.dv8tion.jda.api.events.message.guild.react.GuildMessageReactionAddEvent;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.ReactionAddedModel;
|
||||
|
||||
public interface ReactionAddedListener extends FeatureAware, Prioritized {
|
||||
void executeReactionAdded(CachedMessage message, GuildMessageReactionAddEvent event, ServerUser serverUser);
|
||||
public interface ReactionAddedListener extends FeatureAwareListener<ReactionAddedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.ReactionClearedModel;
|
||||
|
||||
public interface ReactionClearedListener extends FeatureAware, Prioritized {
|
||||
void executeReactionCleared(CachedMessage message);
|
||||
public interface ReactionClearedListener extends FeatureAwareListener<ReactionClearedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.FeatureAware;
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import net.dv8tion.jda.api.events.message.guild.react.GuildMessageReactionRemoveEvent;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.ReactionRemovedModel;
|
||||
|
||||
public interface ReactionRemovedListener extends FeatureAware, Prioritized {
|
||||
void executeReactionRemoved(CachedMessage message, GuildMessageReactionRemoveEvent reaction, ServerUser serverUser);
|
||||
public interface ReactionRemovedListener extends FeatureAwareListener<ReactionRemovedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.RoleCreatedModel;
|
||||
|
||||
public interface RoleCreatedListener extends FeatureAwareListener<RoleCreatedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.RoleDeletedModel;
|
||||
|
||||
public interface RoleDeletedListener extends FeatureAwareListener<RoleDeletedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.TextChannelCreatedModel;
|
||||
|
||||
public interface TextChannelCreatedListener extends FeatureAwareListener<TextChannelCreatedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.sheldan.abstracto.core.listener.sync.jda;
|
||||
|
||||
import dev.sheldan.abstracto.core.Prioritized;
|
||||
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListener;
|
||||
import dev.sheldan.abstracto.core.models.listener.TextChannelDeletedModel;
|
||||
|
||||
public interface TextChannelDeletedListener extends FeatureAwareListener<TextChannelDeletedModel, DefaultListenerResult>, Prioritized {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.ListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class AChannelCreatedListenerModel implements ListenerModel {
|
||||
private Long channelId;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.ListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class AChannelDeletedListenerModel implements ListenerModel {
|
||||
private Long channelId;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.ListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ARoleCreatedListenerModel implements ListenerModel {
|
||||
private Long roleId;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.ListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ARoleDeletedListenerModel implements ListenerModel {
|
||||
private Long roleId;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.ListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ChannelGroupCreatedListenerModel implements ListenerModel {
|
||||
private Long channelGroupId;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.ListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ChannelGroupDeletedListenerModel implements ListenerModel {
|
||||
private Long channelGroupId;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Emote;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class EmoteCreatedModel implements FeatureAwareListenerModel {
|
||||
|
||||
private Emote emote;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return emote.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Emote;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class EmoteDeletedModel implements FeatureAwareListenerModel {
|
||||
private Emote emote;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return emote.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Emote;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class EmoteNameUpdatedModel implements FeatureAwareListenerModel {
|
||||
|
||||
private Emote emote;
|
||||
private String newValue;
|
||||
private String oldValue;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return emote.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@@ -11,7 +12,7 @@ import java.util.List;
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class GuildMessageEmbedEventModel {
|
||||
public class GuildMessageEmbedEventModel implements FeatureAwareListenerModel {
|
||||
@Builder.Default
|
||||
private List<MessageEmbed> embeds = new ArrayList<>();
|
||||
private Long messageId;
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class MemberJoinModel implements FeatureAwareListenerModel {
|
||||
private ServerUser joiningUser;
|
||||
private Member member;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return joiningUser.getServerId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class MemberLeaveModel implements FeatureAwareListenerModel {
|
||||
private ServerUser leavingUser;
|
||||
private Member member;
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return leavingUser.getServerId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class MessageDeletedModel implements FeatureAwareListenerModel {
|
||||
|
||||
private CachedMessage cachedMessage;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return cachedMessage.getServerId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class MessageReceivedModel implements FeatureAwareListenerModel {
|
||||
private Message message;
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return message.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class MessageTextUpdatedModel implements FeatureAwareListenerModel {
|
||||
|
||||
private CachedMessage before;
|
||||
private Message after;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return before.getServerId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
import net.dv8tion.jda.api.entities.MessageReaction;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ReactionAddedModel implements FeatureAwareListenerModel {
|
||||
private CachedMessage message;
|
||||
private MessageReaction reaction;
|
||||
private ServerUser userReacting;
|
||||
private Member memberReacting;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return userReacting.getServerId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.TextChannel;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ReactionClearedModel implements FeatureAwareListenerModel {
|
||||
private CachedMessage message;
|
||||
private TextChannel channel;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return channel.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
import net.dv8tion.jda.api.entities.MessageReaction;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ReactionRemovedModel implements FeatureAwareListenerModel {
|
||||
private CachedMessage message;
|
||||
private MessageReaction reaction;
|
||||
private ServerUser userRemoving;
|
||||
private Member memberRemoving;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return userRemoving.getServerId();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Role;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class RoleCreatedModel implements FeatureAwareListenerModel {
|
||||
private Role role;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return role.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Role;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class RoleDeletedModel implements FeatureAwareListenerModel {
|
||||
private Role role;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return role.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.ListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class ServerCreatedListenerModel implements ListenerModel {
|
||||
private Long serverId;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.TextChannel;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class TextChannelCreatedModel implements FeatureAwareListenerModel {
|
||||
private TextChannel channel;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return channel.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.sheldan.abstracto.core.models.listener;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.FeatureAwareListenerModel;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.TextChannel;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class TextChannelDeletedModel implements FeatureAwareListenerModel {
|
||||
private TextChannel channel;
|
||||
|
||||
@Override
|
||||
public Long getServerId() {
|
||||
return channel.getGuild().getIdLong();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
|
||||
public interface ExecutorService {
|
||||
ThreadPoolTaskExecutor setupExecutorFor(String listenerName);
|
||||
}
|
||||
@@ -12,6 +12,8 @@ import java.util.concurrent.CompletableFuture;
|
||||
|
||||
public interface ReactionService {
|
||||
CompletableFuture<Void> removeReactionFromMessage(CachedReaction reaction, CachedMessage cachedMessage);
|
||||
CompletableFuture<Void> removeReactionFromMessage(MessageReaction reaction, CachedMessage cachedMessage, User user);
|
||||
CompletableFuture<Void> removeReactionFromMessage(MessageReaction reaction, CachedMessage cachedMessage);
|
||||
CompletableFuture<Void> removeReactionFromMessage(CachedReaction reaction, Message message);
|
||||
void addReactionToMessage(String emoteKey, Long serverId, Message message);
|
||||
void addDefaultReactionToMessage(String unicode, Message message);
|
||||
@@ -31,6 +33,8 @@ public interface ReactionService {
|
||||
CompletableFuture<Void> removeReaction(Message message, CachedEmote cachedEmote, User user);
|
||||
CompletableFuture<Void> removeReaction(CachedMessage message, CachedEmote cachedEmote, ServerUser user);
|
||||
CompletableFuture<Void> removeReactionFromMessageWithFuture(AEmote emote, Message message);
|
||||
CompletableFuture<Void> removeReactionFromMessageWithFuture(MessageReaction.ReactionEmote emote, Message message);
|
||||
CompletableFuture<Void> removeReactionFromMessageWithFuture(MessageReaction.ReactionEmote emote, Message message, User user);
|
||||
CompletableFuture<Void> clearReactionFromMessageWithFuture(AEmote emote, Message message);
|
||||
CompletableFuture<Void> clearReaction(Message message, String key);
|
||||
CompletableFuture<Void> clearReaction(Message message, Emote emote);
|
||||
|
||||
@@ -13,6 +13,8 @@ public interface ChannelGroupManagementService {
|
||||
boolean doesChannelGroupExist(String name, AServer server);
|
||||
void deleteChannelGroup(String name, AServer server);
|
||||
AChannelGroup addChannelToChannelGroup(AChannelGroup channelGroup, AChannel channel);
|
||||
Optional<AChannelGroup> findChannelGroupByIdOptional(Long channelGroupId);
|
||||
AChannelGroup findChannelGroupById(Long channelGroupId);
|
||||
void removeChannelFromChannelGroup(AChannelGroup channelGroup, AChannel channel);
|
||||
AChannelGroup findByNameAndServer(String name, AServer server);
|
||||
Optional<AChannelGroup> findByNameAndServerOptional(String name, AServer server);
|
||||
|
||||
@@ -10,4 +10,5 @@ public interface RoleManagementService {
|
||||
Optional<ARole> findRoleOptional(Long id);
|
||||
ARole findRole(Long id);
|
||||
void markDeleted(ARole role);
|
||||
void markDeleted(Long roleId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user