All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.princesslana.eriscasper.data.request.CreateMessageRequest Maven / Gradle / Ivy

The newest version!
package com.github.princesslana.eriscasper.data.request;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.github.princesslana.eriscasper.data.Snowflake;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import org.immutables.value.Value;
import com.github.princesslana.eriscasper.data.resource.*;

@Value.Immutable
@JsonDeserialize(as=ImmutableCreateMessageRequest.class)
public interface CreateMessageRequest {
  /**
    * the message contents (up to 2000 characters)true
    */
  @JsonProperty("content")
  String getContent();

  /**
    * a nonce that can be used for optimistic message sendingfalse
    */
  @JsonProperty("nonce")
  java.util.Optional getNonce();

  /**
    * true if this is a TTS messagefalse
    */
  @JsonProperty("tts")
  java.util.Optional isTts();

  /**
    * the contents of the file being sentone of content, file, embeds (multipart/form-data only)
    */
  @JsonProperty("file")
  java.util.Optional getFile();

  /**
    * embedded rich contentfalse
    */
  @JsonProperty("embed")
  java.util.Optional getEmbed();

  /**
    * url-encoded JSON body used in place of the embed fieldmultipart/form-data only
    */
  @JsonProperty("payload_json")
  java.util.Optional getPayloadJson();

}