Advertisement
Mo0nSw0rth

Untitled

Jul 18th, 2021
1,345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 2.72 KB | None | 0 0
  1. @Builder
  2. @Setter
  3. public class EasyEmbed {
  4.  
  5.     private final String title;
  6.     private final String description;
  7.     private Author author;
  8.     private final Color color;
  9.     private Footer footer;
  10.     private String imageUrl;
  11.     private String thumbnailUrl;
  12.     private TemporalAccessor timestamp;
  13.     private ArrayList<MessageEmbed.Field> fields;
  14.     @Getter
  15.     private final int autoDelete;
  16.  
  17.     public MessageEmbed buildMessage() {
  18.         EmbedBuilder embedBuilder = new EmbedBuilder();
  19.         if (author != null) {
  20.             if (author.getName() != null) {
  21.                 if (author.getUrl() != null) {
  22.                     if (author.getIconUrl() != null) {
  23.                         embedBuilder.setAuthor(author.getName(), author.getUrl(), author.getIconUrl());
  24.                     } else {
  25.                         embedBuilder.setAuthor(author.getName(), author.getUrl());
  26.                     }
  27.                 } else {
  28.                     embedBuilder.setAuthor(author.getName());
  29.                 }
  30.             }
  31.         }
  32.         embedBuilder.setColor(color);
  33.         embedBuilder.setDescription(description);
  34.         if (footer != null) {
  35.             if (footer.getText() != null) {
  36.                 if (footer.getIconUrl() != null) {
  37.                     embedBuilder.setFooter(footer.getText(), footer.getIconUrl());
  38.                 } else {
  39.                     embedBuilder.setFooter(footer.getText());
  40.                 }
  41.             }
  42.         }
  43.         if (imageUrl != null) {
  44.             embedBuilder.setImage(imageUrl);
  45.         }
  46.         if (thumbnailUrl != null) {
  47.             embedBuilder.setThumbnail(thumbnailUrl);
  48.         }
  49.         if (timestamp != null) {
  50.             embedBuilder.setTimestamp(timestamp);
  51.         }
  52.         embedBuilder.setTitle(title);
  53.         if (fields != null) {
  54.             fields.forEach(embedBuilder::addField);
  55.         }
  56.         return embedBuilder.build();
  57.     }
  58.  
  59.     public Message buildMessageAndSend(TextChannel textChannel) {
  60.         Message message = textChannel.sendMessage(buildMessage()).complete();
  61.         if (autoDelete != 0) {
  62.             new DelayDelete(message, autoDelete);
  63.         }
  64.         return message;
  65.     }
  66.  
  67.     @Builder
  68.     @Setter
  69.     @Getter
  70.     @AllArgsConstructor
  71.     public static class Title {
  72.         private String title;
  73.         private String url;
  74.     }
  75.  
  76.     @Builder
  77.     @Setter
  78.     @Getter
  79.     @AllArgsConstructor
  80.     public static class Author {
  81.         private String name;
  82.         private String url;
  83.         private String iconUrl;
  84.     }
  85.  
  86.     @Builder
  87.     @Setter
  88.     @Getter
  89.     @AllArgsConstructor
  90.     public static class Footer {
  91.         private String text;
  92.         private String iconUrl;
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement