diff --git a/PlayBot/sites/youtube.pm b/PlayBot/sites/youtube.pm
index 20e0aae2c84a5cf835546cfb145bce158f535f1b..6393bfe16b74089fdaa26edca7ecf005e8c23a03 100644
--- a/PlayBot/sites/youtube.pm
+++ b/PlayBot/sites/youtube.pm
@@ -18,13 +18,67 @@ BEGIN {
     $conf = decode_json($json);
 }
 
+sub regex_playlist
+{
+    return qr#(?:^|[^!])https?://www.youtube.com/playlist\?[a-zA-Z0-9_=&-]*list=([a-zA-Z0-9_-]+)#;
+}
 
 sub regex
 {
     return qr#(?:^|[^!])https?://(?:www.youtube.com/watch\?[a-zA-Z0-9_=&-]*v=|youtu.be/)([a-zA-Z0-9_-]+)#;
 }
 
-sub get {
+sub get_playlist
+{
+    shift;
+	my $id = shift;
+	
+    my $ua = LWP::UserAgent->new(
+        timeout     => 30,
+        env_proxy   => 1,
+    );
+	my $response = $ua->get($endpoint
+        .'/playlists?id='.$id
+        .'&key='.$conf->{'youtube_api_key'}
+        .'&part=snippet,contentDetails');
+	die($response->status_line) unless ($response->is_success);
+
+	my $content = decode_json($response->decoded_content);
+
+    die "playlist not found" if (not scalar @{ $content->{items} });
+    
+    my $playlist = $content->{'items'}->[0];
+    my %infos;
+
+    $infos{'title'} = $playlist->{'snippet'}->{'title'};
+    $infos{'duration'} = $playlist->{'contentDetails'}->{'itemCount'};
+    $infos{'author'} = $playlist->{'snippet'}->{'channelTitle'};
+	$infos{'site'} = 'youtube';
+    $infos{'url'} = 'https://www.youtube.com/playlist?list='.$id;
+
+	$response = $ua->get($endpoint
+        .'/playlistItems?playlistId='.$id
+        .'&key='.$conf->{'youtube_api_key'}
+        .'&part=snippet');
+	die($response->status_line) unless ($response->is_success);
+
+	$content = decode_json($response->decoded_content);
+
+    die "empty playlist" if (not scalar @{ $content->{items} });
+
+    my @urls;
+    foreach my $subcontent (@{ $content->{items} })
+    {
+        my $subid = $subcontent->{snippet}{resourceId}{videoId};
+        push @urls, 'https://www.youtube.com/watch?v='.$subid;
+    }
+
+    $infos{urls} = \@urls;
+	return %infos;
+}
+
+sub get
+{
     shift;
 	my $id = shift;