Interface MessageEditCallbackAction

All Superinterfaces:
InteractionCallbackAction<InteractionHook>, RestAction<InteractionHook>

public interface MessageEditCallbackAction extends InteractionCallbackAction<InteractionHook>
A InteractionCallbackAction which can be used to edit the message for an interaction.
  • Method Details

    • setContent

      Set the new content for this message.
      Parameters:
      content - The new message content
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If the provided content is longer than MAX_CONTENT_LENGTH characters
    • setEmbeds

      Set the MessageEmbeds for the message
      Parameters:
      embeds - The message embeds
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If null is provided, or one of the embeds is too big
    • setEmbeds

      Set the MessageEmbeds for the message
      Parameters:
      embeds - The message embeds
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If null is provided, one of the embeds is too big, or more than 10 embeds are provided
    • setActionRows

      Set the action rows for the message.
      Parameters:
      rows - The new action rows
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If null is provided, more than 5 action rows are provided, or any custom id is duplicated
    • setActionRows

      Set the action rows for the message.
      Parameters:
      rows - The new action rows
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If null is provided, more than 5 action rows are provided, or any custom id is duplicated
    • setActionRow

      Set only one action row for convenience.
      Parameters:
      components - The action row components, such as Buttons
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If null is provided, an invalid number of components is provided, or any custom id is duplicated
      See Also:
    • setActionRow

      Set only one action row for convenience.
      Parameters:
      components - The action row components, such as Buttons
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If null is provided, an invalid number of components is provided, or any custom id is duplicated
      See Also:
    • addFile

      Adds the provided File.
      The stream will be closed upon execution!
      The provided file will be appended to the message.
      Parameters:
      file - The File data to upload in response to the interaction.
      options - Possible options to apply to this attachment, such as marking it as spoiler image
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If the provided file is null.
    • addFile

      Adds the provided File.
      The stream will be closed upon execution!
      The provided file will be appended to the message.

      The name parameter is used to inform Discord about what the file should be called. This is 2 fold:

      1. The file name provided is the name that is found in Message.Attachment.getFileName() after upload and it is the name that will show up in the client when the upload is displayed.
        Note: The fileName does not show up on the Desktop client for images. It does on mobile however.
      2. The extension of the provided fileName also determines how Discord will treat the file. Discord currently only has special handling for image file types, but the fileName's extension must indicate that it is an image file. This means it has to end in something like .png, .jpg, .jpeg, .gif, etc. As a note, you can also not provide a full name for the file and instead ONLY provide the extension like "png" or "gif" and Discord will generate a name for the upload and append the fileName as the extension.
      Parameters:
      file - The File data to upload in response to the interaction.
      name - The file name that should be sent to discord
      options - Possible options to apply to this attachment, such as marking it as spoiler image
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If the provided file or filename is null.
    • addFile

      Adds the provided byte[] as file data.
      The stream will be closed upon execution!
      The provided file will be appended to the message.
      Parameters:
      data - The byte[] data to upload in response to the interaction.
      name - The file name that should be sent to discord
      Refer to the documentation for addFile(java.io.File, String, AttachmentOption...) for information about this parameter.
      options - Possible options to apply to this attachment, such as marking it as spoiler image
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If the provided data or filename is null.
    • addFile

      Adds the provided InputStream as file data.
      The stream will be closed upon execution!
      The provided file will be appended to the message.
      Parameters:
      data - The InputStream data to upload in response to the interaction.
      name - The file name that should be sent to discord
      Refer to the documentation for addFile(java.io.File, String, AttachmentOption...) for information about this parameter.
      options - Possible options to apply to this attachment, such as marking it as spoiler image
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If the provided data or filename is null.
    • retainFilesById

      Removes all attachments that are currently attached to the existing message except for the ones provided.
      For example retainFilesById(Arrays.asList("123")) would remove all attachments except for the one with the id 123.

      To remove all attachments from the message you can pass an empty list.

      Parameters:
      ids - The ids for the attachments which should be retained on the message
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If any of the ids is null or not a valid snowflake
    • retainFilesById

      Removes all attachments that are currently attached to the existing message except for the ones provided.
      For example retainFilesById(Arrays.asList("123")) would remove all attachments except for the one with the id 123.

      To remove all attachments from the message you can pass an empty list.

      Parameters:
      ids - The ids for the attachments which should be retained on the message
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If any of the ids is null or not a valid snowflake
    • retainFilesById

      @Nonnull @CheckReturnValue default MessageEditCallbackAction retainFilesById(long... ids)
      Removes all attachments that are currently attached to the existing message except for the ones provided.
      For example retainFilesById(Arrays.asList("123")) would remove all attachments except for the one with the id 123.

      To remove all attachments from the message you can pass an empty list.

      Parameters:
      ids - The ids for the attachments which should be retained on the message
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If any of the ids is null or not a valid snowflake
    • retainFiles

      Removes all attachments that are currently attached to the existing message except for the ones provided.
      For example retainFiles(message.getAttachments().subList(1, message.getAttachments().size())) would only remove the first attachment from the message.

      To remove all attachments from the message you can pass an empty list.

      Parameters:
      attachments - The attachments which should be retained on the message
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If any of the ids is null or not a valid snowflake
    • retainFiles

      Removes all attachments that are currently attached to the existing message except for the ones provided.
      For example retainFiles(message.getAttachments().subList(1, message.getAttachments().size())) would only remove the first attachment from the message.

      To remove all attachments from the message you can pass an empty list.

      Parameters:
      attachments - The attachments which should be retained on the message
      Returns:
      The same update action, for chaining convenience
      Throws:
      IllegalArgumentException - If any of the ids is null or not a valid snowflake