Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found
Sélectionner une révision Git
Loading items

Cible

Sélectionner le projet cible
  • morignot2011/playbot.old
  • defrance2011/playbot
2 résultats
Sélectionner une révision Git
Loading items
Afficher les modifications
Validations sur la source (5)
...@@ -256,6 +256,30 @@ sub on_invite { ...@@ -256,6 +256,30 @@ sub on_invite {
push @channels, $chan; push @channels, $chan;
} }
sub external_parse {
my ( $user, $chan, $msg ) = @_;
$msg =~ tr/'"/_/;
my $content = `./PlayBot-cli '$chan' '$user' '$msg'`;
if ( $? >> 8 != 0 ) {
die "Error";
}
my ( $id, $external_id, $url, $title, $author, $duration ) =
split( /\n/, $content );
return (
id => $id,
author => $author,
external_id => $external_id,
duration => $duration,
playlist => 0,
site => 'soundcloud',
title => $title,
url => $url,
);
}
# Quand un user parle # Quand un user parle
sub on_speak { sub on_speak {
my ( $kernel, $user, $chan, $msg ) = @_[ KERNEL, ARG0, ARG1, ARG2 ]; my ( $kernel, $user, $chan, $msg ) = @_[ KERNEL, ARG0, ARG1, ARG2 ];
...@@ -264,8 +288,14 @@ sub on_speak { ...@@ -264,8 +288,14 @@ sub on_speak {
my ( $nick, $mask ) = split( /!/, $user ); my ( $nick, $mask ) = split( /!/, $user );
my %content; my %content;
eval {
%content = external_parse($nick, lc $chan->[0], $msg);
$irc->yield(
privmsg => $chan => PlayBot::utils::print::print(\%content) );
};
if ($@) {
# first we check for url # first we check for url
my @processed_str = PlayBot::sites::parse(@args); PlayBot::sites::parse(@args);
# and we check for command # and we check for command
my $cmd = ( split /\s/, $msg )[0]; my $cmd = ( split /\s/, $msg )[0];
...@@ -277,5 +307,6 @@ sub on_speak { ...@@ -277,5 +307,6 @@ sub on_speak {
} }
PlayBot::commands::parser::exec(@args); PlayBot::commands::parser::exec(@args);
} }
}
1; 1;
...@@ -22,28 +22,6 @@ our $log; ...@@ -22,28 +22,6 @@ our $log;
our $regex; our $regex;
our $playbot_api_key; our $playbot_api_key;
sub external_parse {
my $url = shift;
my $content = `./PlayBot.go "$url"`;
if ( $? >> 8 != 0 ) {
die "Error";
}
my ( $matched_url, $external_id, $url, $title, $author, $duration ) =
split( /\n/, $content );
return (
author => $author,
external_id => $external_id,
duration => $duration,
matched_url => $matched_url,
playlist => 0,
site => 'soundcloud',
title => $title,
url => $url,
);
}
sub parse { sub parse {
my ( $kernel, $user, $chan, $msg, $playlist ) = @_; my ( $kernel, $user, $chan, $msg, $playlist ) = @_;
...@@ -56,8 +34,6 @@ sub parse { ...@@ -56,8 +34,6 @@ sub parse {
my $matching_url; my $matching_url;
my @matching_tags; my @matching_tags;
eval { %content = external_parse($msg) };
if ($@) {
# parsing # parsing
foreach my $site ( __PACKAGE__->sites ) { foreach my $site ( __PACKAGE__->sites ) {
if ( not grep { $site eq "PlayBot::sites::$_" } @{ $chan_conf->sites } ) { if ( not grep { $site eq "PlayBot::sites::$_" } @{ $chan_conf->sites } ) {
...@@ -86,10 +62,6 @@ sub parse { ...@@ -86,10 +62,6 @@ sub parse {
$log->warning($@); $log->warning($@);
return; return;
} }
} else {
$matching_url = $content{matched_url};
delete $content{matched_url};
}
my $id; my $id;
......