diff options
Diffstat (limited to 'src/main/java/utility')
| -rw-r--r-- | src/main/java/utility/EmbedMaker.java | 21 | ||||
| -rw-r--r-- | src/main/java/utility/SpotifyAPI.java | 19 | ||||
| -rw-r--r-- | src/main/java/utility/YouTubeAPI.java | 28 |
3 files changed, 62 insertions, 6 deletions
diff --git a/src/main/java/utility/EmbedMaker.java b/src/main/java/utility/EmbedMaker.java new file mode 100644 index 0000000..23df4ab --- /dev/null +++ b/src/main/java/utility/EmbedMaker.java @@ -0,0 +1,21 @@ +package utility;
+
+import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
+import net.dv8tion.jda.api.EmbedBuilder;
+
+import java.awt.*;
+
+public class EmbedMaker {
+ public EmbedBuilder makeNowPlayingEmbed(AudioTrack currentTrack, String position, String duration,
+ String thumbnailUrl, String url,Color color) {
+ EmbedBuilder embed = new EmbedBuilder()
+ .setColor(color)
+ .setTitle("Now Playing: " + currentTrack.getInfo().title)
+ .setDescription(currentTrack.getInfo().author)
+ .setImage(thumbnailUrl);
+ embed.addField("Timestamp: ", "**[" + position + "/" + duration + "]**", false);
+ embed.addField("", url, false);
+ return embed;
+ }
+
+}
diff --git a/src/main/java/utility/SpotifyAPI.java b/src/main/java/utility/SpotifyAPI.java index 74b792e..b4bcac1 100644 --- a/src/main/java/utility/SpotifyAPI.java +++ b/src/main/java/utility/SpotifyAPI.java @@ -13,9 +13,6 @@ import se.michaelthelin.spotify.requests.data.playlists.GetPlaylistRequest; import se.michaelthelin.spotify.requests.data.tracks.GetTrackRequest;
import java.io.FileReader;
import java.time.Instant;
-import java.util.concurrent.CancellationException;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.CompletionException;
public class SpotifyAPI {
private static final String clientId = readSetting("spotifyClientID");
private static final String clientSecret = readSetting("spotifyClientSecret");
@@ -38,7 +35,6 @@ public class SpotifyAPI { String searchQuery = "";
try {
GetTrackRequest getTrackRequest = spotifyApi.getTrack(trackid)
-// .market(CountryCode.SE)
.build();
final Track track = getTrackRequest.execute();
searchQuery = track.getName();
@@ -53,13 +49,12 @@ public class SpotifyAPI { return searchQuery;
}
- public static String getPlaylist_Sync(String playlistId) {
+ public static String getRandomPlaylistTrack_Sync(String playlistId) {
checkRefreshToken();
GetPlaylistRequest getPlaylistRequest = spotifyApi.getPlaylist(playlistId).build();
try {
Playlist playlist = getPlaylistRequest.execute();
PlaylistTrack[] tracks = playlist.getTracks().getItems();
- //pick a random track and return it
int randomTrack = (int) (Math.random() * tracks.length);
System.out.println(tracks[randomTrack].getTrack().getId());
return tracks[randomTrack].getTrack().getId();
@@ -68,6 +63,18 @@ public class SpotifyAPI { }
return "";
}
+ public static PlaylistTrack[] getPlaylist_Sync(String playlistId) {
+ checkRefreshToken();
+ GetPlaylistRequest getPlaylistRequest = spotifyApi.getPlaylist(playlistId).build();
+ try {
+ Playlist playlist = getPlaylistRequest.execute();
+ PlaylistTrack[] tracks = playlist.getTracks().getItems();
+ return tracks;
+ } catch (Exception e) {
+ System.out.println("Error: " + e.getMessage());
+ }
+ return null;
+ }
public static void clientCredentials_Sync() {
try {
final ClientCredentials clientCredentials = clientCredentialsRequest.execute();
diff --git a/src/main/java/utility/YouTubeAPI.java b/src/main/java/utility/YouTubeAPI.java new file mode 100644 index 0000000..ea3896b --- /dev/null +++ b/src/main/java/utility/YouTubeAPI.java @@ -0,0 +1,28 @@ +package utility;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.jsoup.Jsoup;
+
+import java.io.IOException;
+
+public class YouTubeAPI {
+ private String ytapiKey = "";
+ public YouTubeAPI(String ytapiKey){
+ this.ytapiKey = ytapiKey;
+ }
+ public String returnTopVideoURL(String keyword )throws IOException {
+ String url = "https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&q="+keyword+"&type=video&key="+ytapiKey;
+ url = url.replaceAll(" ", "%20");
+ String data = Jsoup.connect(url).ignoreContentType(true).execute().body();
+ JSONObject obj = new JSONObject(data);
+ JSONArray arr = obj.getJSONArray("items");
+ String videoID = "";
+ for (int i = 0; i < arr.length(); i++)
+ {
+ videoID = arr.getJSONObject(i).getJSONObject("id").getString("videoId");
+ System.out.println("Parsed ID "+ videoID);
+ }
+ return "https://www.youtube.com/watch?v="+videoID;
+ }
+}
|
