mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-21 21:41:30 +00:00
[AB-277] adding report mechanism via reactions
This commit is contained in:
@@ -331,6 +331,18 @@ public class ChannelServiceBean implements ChannelService {
|
||||
return removeFieldFromMessage(channel, messageId, index, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Message> editFieldValueInMessage(MessageChannel channel, Long messageId, Integer index, String newValue) {
|
||||
return retrieveMessageInChannel(channel, messageId).thenCompose(message -> {
|
||||
EmbedBuilder embedBuilder = new EmbedBuilder(message.getEmbeds().get(index));
|
||||
MessageEmbed.Field existingField = embedBuilder.getFields().get(index);
|
||||
MessageEmbed.Field newField = new MessageEmbed.Field(existingField.getName(), newValue, existingField.isInline());
|
||||
embedBuilder.getFields().set(index, newField);
|
||||
log.debug("Updating field with index {} from message {}.", index, messageId);
|
||||
return editEmbedMessageInAChannel(embedBuilder.build(), channel, messageId);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public CompletableFuture<Message> removeFieldFromMessage(MessageChannel channel, Long messageId, Integer index, Integer embedIndex) {
|
||||
return retrieveMessageInChannel(channel, messageId).thenCompose(message -> {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.models;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.utils.MessageUtils;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -26,4 +27,13 @@ public class ServerChannelMessage {
|
||||
.messageId(message.getIdLong())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static ServerChannelMessage fromCachedMessage(CachedMessage cachedMessage) {
|
||||
return ServerChannelMessage
|
||||
.builder()
|
||||
.serverId(cachedMessage.getServerId())
|
||||
.channelId(cachedMessage.getChannelId())
|
||||
.messageId(cachedMessage.getMessageId())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ public interface ChannelService {
|
||||
CompletableFuture<Message> editTextMessageInAChannel(String text, MessageEmbed messageEmbed, MessageChannel channel, Long messageId);
|
||||
List<CompletableFuture<Message>> editMessagesInAChannelFuture(MessageToSend messageToSend, MessageChannel channel, List<Long> messageIds);
|
||||
CompletableFuture<Message> removeFieldFromMessage(MessageChannel channel, Long messageId, Integer index);
|
||||
CompletableFuture<Message> editFieldValueInMessage(MessageChannel channel, Long messageId, Integer index, String newValue);
|
||||
CompletableFuture<Message> removeFieldFromMessage(MessageChannel channel, Long messageId, Integer index, Integer embedIndex);
|
||||
CompletableFuture<Void> deleteTextChannel(AChannel channel);
|
||||
CompletableFuture<Void> deleteTextChannel(Long serverId, Long channelId);
|
||||
|
||||
Reference in New Issue
Block a user