Skip to content

Commit

Permalink
Add message updater
Browse files Browse the repository at this point in the history
fix allowed mentions


checkstyle


Fixes


add fixes
  • Loading branch information
bassner committed Aug 4, 2021
1 parent 96bed14 commit 385d779
Show file tree
Hide file tree
Showing 12 changed files with 778 additions and 613 deletions.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -0,0 +1,42 @@
package org.javacord.api.entity.message;

import java.util.concurrent.CompletableFuture;

public class MessageUpdater extends MessageBuilderBase<MessageUpdater> {
/**
* The message to update.
*/
private final Message message;

/**
* Class constructor.
*
* @param m The message to update.
*/
public MessageUpdater(Message m) {
super(MessageUpdater.class);
delegate.copy(m);
this.message = m;
}

/**
* Edits the message, updating all fields that have been changed by a method call.
* For example, the content of the message will only be patched if you called a method on this updater
* that affects the content.
*
* @return The edited message.
*/
public CompletableFuture<Message> applyChanges() {
return delegate.edit(message, true);
}

/**
* Edits the message, updating all fields.
* Fields that have not been set will be dropped and removed from the actual message on Discord.
*
* @return The edited message.
*/
public CompletableFuture<Message> replaceMessage() {
return delegate.edit(message, false);
}
}
Expand Up @@ -7,7 +7,7 @@
import java.util.EnumSet;
import java.util.concurrent.CompletableFuture;

public interface InteractionMessageBuilderDelegate extends MessageBuilderDelegate {
public interface InteractionMessageBuilderDelegate extends MessageBuilderBaseDelegate {

/**
* Sets the message flags of the message.
Expand Down
Expand Up @@ -25,7 +25,7 @@
* This class is internally used by the {@link MessageBuilder} to create messages.
* You usually don't want to interact with this object.
*/
public interface MessageBuilderDelegate {
public interface MessageBuilderBaseDelegate {

/**
* Add high-level components to the message.
Expand Down Expand Up @@ -350,6 +350,15 @@ public interface MessageBuilderDelegate {
*/
CompletableFuture<Message> send(Messageable messageable);

/**
* Edits the message.
*
* @param message The message to edit.
* @param onlyChangedFields True if only changed fields should be updated
* @return The edited message.
*/
CompletableFuture<Message> edit(Message message, boolean onlyChangedFields);

/**
* Sends the message.
*
Expand Down
Expand Up @@ -15,7 +15,7 @@
* This class is internally used by the {@link WebhookMessageBuilder} to create messages.
* You usually don't want to interact with this object.
*/
public interface WebhookMessageBuilderDelegate extends MessageBuilderDelegate {
public interface WebhookMessageBuilderDelegate extends MessageBuilderBaseDelegate {

/**
* Sets the display name of the webhook.
Expand Down
Expand Up @@ -22,7 +22,7 @@
import org.javacord.api.entity.message.component.internal.SelectMenuOptionBuilderDelegate;
import org.javacord.api.entity.message.embed.internal.EmbedBuilderDelegate;
import org.javacord.api.entity.message.internal.InteractionMessageBuilderDelegate;
import org.javacord.api.entity.message.internal.MessageBuilderDelegate;
import org.javacord.api.entity.message.internal.MessageBuilderBaseDelegate;
import org.javacord.api.entity.message.internal.WebhookMessageBuilderDelegate;
import org.javacord.api.entity.message.mention.internal.AllowedMentionsBuilderDelegate;
import org.javacord.api.entity.permission.Permissions;
Expand Down Expand Up @@ -157,11 +157,11 @@ public static AllowedMentionsBuilderDelegate createAllowedMentionsBuilderDelegat
}

/**
* Creates a new message builder delegate.
* Creates a new message builder base delegate.
*
* @return A new message builder delegate.
* @return A new message builder base delegate.
*/
public static MessageBuilderDelegate createMessageBuilderDelegate() {
public static MessageBuilderBaseDelegate createMessageBuilderBaseDelegate() {
return delegateFactoryDelegate.createMessageBuilderDelegate();
}

Expand Down
Expand Up @@ -22,7 +22,7 @@
import org.javacord.api.entity.message.component.internal.SelectMenuOptionBuilderDelegate;
import org.javacord.api.entity.message.embed.internal.EmbedBuilderDelegate;
import org.javacord.api.entity.message.internal.InteractionMessageBuilderDelegate;
import org.javacord.api.entity.message.internal.MessageBuilderDelegate;
import org.javacord.api.entity.message.internal.MessageBuilderBaseDelegate;
import org.javacord.api.entity.message.internal.WebhookMessageBuilderDelegate;
import org.javacord.api.entity.message.mention.internal.AllowedMentionsBuilderDelegate;
import org.javacord.api.entity.permission.Permissions;
Expand Down Expand Up @@ -80,7 +80,7 @@ public interface DelegateFactoryDelegate {
*
* @return A new message builder delegate.
*/
MessageBuilderDelegate createMessageBuilderDelegate();
MessageBuilderBaseDelegate createMessageBuilderDelegate();

/**
* Creates a new interaction message builder delegate.
Expand Down
Expand Up @@ -20,7 +20,7 @@
import java.util.NoSuchElementException;
import java.util.concurrent.CompletableFuture;

public class InteractionMessageBuilderDelegateImpl extends MessageBuilderDelegateImpl
public class InteractionMessageBuilderDelegateImpl extends MessageBuilderBaseDelegateImpl
implements InteractionMessageBuilderDelegate {

/**
Expand Down

0 comments on commit 385d779

Please sign in to comment.