Skip to content
Extraits de code Groupes Projets

Spotify support

Fusionnées Loïc DEFRANCE a demandé de fusionner defrance2011/playbot:master vers master
Affichage du commit 42a8cfef
Suivant
Afficher la dernière version
2 files
+ 46
1
Comparer les modifications
  • Côte à côte
  • En ligne

Fichiers

+ 45
0
package PlayBot::sites::spotify;
use strict;
use warnings;
use LWP::UserAgent;
use JSON;
use FindBin;
my $conf;
my $endpoint = "https://api.spotify.com/v1/tracks/";
sub regex
{
return qr#(?:^|[^!])https?://open.spotify.com/track/([a-zA-Z0-9_-]+)#;
}
sub get {
shift;
my $id = shift;
my $ua = LWP::UserAgent->new(
timeout => 30,
env_proxy => 1,
);
my $response = $ua->get($endpoint
.$id);
die($response->status_line) unless ($response->is_success);
my $content = decode_json($response->decoded_content);
# die "video not found" if (not scalar @{ $content->{items} });
my %infos;
$infos{'title'} = $content->{'name'};
$infos{'duration'} = $content->{'duration_ms'} / 1000;
$infos{'site'} = 'spotify';
$infos{'url'} = 'https://open.spotify/track/'.$id;
$infos{'author'} = $content->{'artists'}->[0]->{'name'};
return %infos;
}
1;
Chargement en cours