From 50dbab5fe4feaf5356132ff463a71c76e4cc1a3a Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Fri, 7 Apr 2023 21:45:53 -0700 Subject: Initial Commit --- src/main/java/builders/ScheduleMessageBuilder.java | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/main/java/builders/ScheduleMessageBuilder.java (limited to 'src/main/java/builders') diff --git a/src/main/java/builders/ScheduleMessageBuilder.java b/src/main/java/builders/ScheduleMessageBuilder.java new file mode 100644 index 0000000..9dd77bf --- /dev/null +++ b/src/main/java/builders/ScheduleMessageBuilder.java @@ -0,0 +1,69 @@ +package builders; + +import com.pina.datatypes.SimpleVideo; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.entities.MessageEmbed; + +import java.awt.*; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.List; + +public class ScheduleMessageBuilder { + private int COLOR = 8805674; + public MessageEmbed buildLiveAndUpcomingMessage(List videos){ + if (videos.size() == 0){ + return new EmbedBuilder() + .setTitle("No streams upcoming or live. Check back later!") + .setDescription("If you think this is a mistake, please check that you've spelled the organization as listed on Holodex") + .setColor(new Color(COLOR)) + .setTimestamp(OffsetDateTime.now()) + .build(); + } + String pfp = videos.get(0).channel.photo; + EmbedBuilder messageBuilder = new EmbedBuilder() + .setThumbnail(pfp) + .setTitle("Upcoming and Live Streams for " + videos.get(0).channel.org) + .setDescription("The schedule you asked for") + .setColor(new Color(COLOR)) + .setTimestamp(OffsetDateTime.now()); + + for (SimpleVideo video : videos){ + String gmtStartTime = video.start_scheduled; + long unixTime = OffsetDateTime.parse(gmtStartTime).toEpochSecond(); + String unixTimeStr = " ⏰"; + if (video.status.equals("live")){ + unixTimeStr = "LIVE \uD83D\uDD34"; + } + String titleText = video.channel.english_name + " - " + unixTimeStr; + String videoURL = "https://www.youtube.com/watch?v=" + video.id; + messageBuilder.addField(titleText, "["+video.title+"]"+"("+videoURL+")", false); + } + return messageBuilder.build(); + + } + + public ArrayList getUpcomingLiveListMessages(List simpleVideos){ + ArrayList messageEmbeds = new ArrayList<>(); + for (SimpleVideo video : simpleVideos){ + String title = video.channel.english_name + " is streaming soon! ⏰"; + String fieldTitle = "Scheduled Start Time"; + if (video.status.equals("live")){ + title = video.channel.english_name + " is live! \uD83D\uDD34"; + fieldTitle = "Live Since"; + } + String gmtStartTime = video.start_scheduled; + long unixTime = OffsetDateTime.parse(gmtStartTime).toEpochSecond(); + EmbedBuilder embedBuilder = new EmbedBuilder() + .setTitle(title) + .setDescription("["+video.title+"]"+"(https://www.youtube.com/watch?v="+video.id+")") + .addField(fieldTitle, "", false) + .setThumbnail(video.channel.photo) + .setImage("https://img.youtube.com/vi/"+video.id+"/maxresdefault.jpg") + .setTimestamp(OffsetDateTime.now()); + messageEmbeds.add(embedBuilder.build()); + } + return messageEmbeds; + + } +} -- cgit v1.2.3