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

com.hubspot.slack.client.models.MessageIF Maven / Gradle / Ivy

package com.hubspot.slack.client.models;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.hubspot.immutables.style.HubSpotStyle;
import java.util.List;
import java.util.Optional;
import org.immutables.value.Value.Derived;
import org.immutables.value.Value.Immutable;

@Immutable
@HubSpotStyle
public interface MessageIF {
  String getType();
  String getTeam();
  SlackChannel getChannel();

  Optional getUser();
  String getUsername();

  @JsonProperty("ts")
  String getTimestamp();

  String getText();
  Optional getPermalink();
  List getAttachments();

  @JsonProperty("previous_2")
  Optional getPreviousPrevious();

  @JsonProperty("previous")
  Optional getPrevious();

  @JsonProperty("next")
  Optional getNext();

  @JsonProperty("next_2")
  Optional getNextNext();

  @Derived
  default String getSlackLink() {
    return (
      "slack://channel?team=" +
      getTeam() +
      "&id=" +
      getChannel().getId() +
      "&message=" +
      getTimestamp()
    );
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy