mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-06 17:22:29 +00:00
[AB-xxx] adding paginators to emote stats
adding handling for emotes which are only provided as ID to command inputs removing message commands from emote statistic related commands
This commit is contained in:
@@ -14,6 +14,7 @@ import dev.sheldan.abstracto.core.templating.model.EmbedFooter;
|
||||
import dev.sheldan.abstracto.core.templating.model.MessageToSend;
|
||||
import dev.sheldan.abstracto.core.templating.service.TemplateService;
|
||||
import dev.sheldan.abstracto.core.templating.service.TemplateServiceBean;
|
||||
import dev.sheldan.abstracto.core.utils.CompletableFutureList;
|
||||
import dev.sheldan.abstracto.core.utils.FutureUtils;
|
||||
import dev.sheldan.abstracto.scheduling.model.JobParameters;
|
||||
import dev.sheldan.abstracto.scheduling.service.SchedulerService;
|
||||
@@ -23,6 +24,7 @@ import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel;
|
||||
import net.dv8tion.jda.api.interactions.InteractionHook;
|
||||
import net.dv8tion.jda.api.interactions.callbacks.IReplyCallback;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -138,6 +140,16 @@ public class PaginatorServiceBean implements PaginatorService {
|
||||
.thenAccept(message -> self.setupButtonPayloads(message, setup, serverId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Void> sendPaginatorToInteraction(String templateKey, Object model, InteractionHook interactionHook) {
|
||||
Long serverId = interactionHook.getInteraction().getGuild().getIdLong();
|
||||
PaginatorSetup setup = getPaginatorSetup(templateKey, model, interactionHook.getInteraction().getUser().getIdLong(), serverId);
|
||||
CompletableFutureList<Message> futures =
|
||||
new CompletableFutureList<>(interactionService.sendMessageToInteraction(setup.getMessageToSend(), interactionHook));
|
||||
return futures
|
||||
.getMainFuture().thenAccept(aVoid -> self.setupButtonPayloads(futures.getFutures().get(0).join(), setup, serverId));
|
||||
}
|
||||
|
||||
private void setupFooters(PaginatorConfiguration configuration, Long serverId) {
|
||||
for (int i = 0; i < configuration.getEmbedConfigs().size(); i++) {
|
||||
PaginatorFooterModel paginatorModel = PaginatorFooterModel
|
||||
|
||||
Reference in New Issue
Block a user