Subir archivos a 'utils_cli'
This commit is contained in:
pare
07f89f87c4
commit
29552f2938
S'han modificat 4 arxius amb 969 adicions i 0 eliminacions
211
utils_cli/bot_plus_cli_impulsos_txtjson_cli_refer.php
Normal file
211
utils_cli/bot_plus_cli_impulsos_txtjson_cli_refer.php
Normal file
|
@ -0,0 +1,211 @@
|
||||||
|
<?php
|
||||||
|
$crmn = microtime(true);
|
||||||
|
|
||||||
|
if (!empty($_SERVER["argv"][1])){
|
||||||
|
$argument = $_SERVER["argv"][1];
|
||||||
|
} else {
|
||||||
|
// Presenta l'ajuda
|
||||||
|
echo "NO HE REBUT la variable\n";
|
||||||
|
echo "Cal el directori on s'executa el bot_plus.\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$lloc = $argument;
|
||||||
|
|
||||||
|
// ara pot carregar la configuració i el logger
|
||||||
|
include("".$lloc."/configuracio/bot_plus_cfg.php");
|
||||||
|
include("".$lloc."/utils/bot_plus_funcions.php");
|
||||||
|
require_once("".$lloc."/lib/logger.php");
|
||||||
|
|
||||||
|
//echo $lloc;
|
||||||
|
$fitxer = $lloc."/fitxers/impulsos.json";
|
||||||
|
//echo $fitxer;
|
||||||
|
|
||||||
|
//matriu a partir del fitxer json
|
||||||
|
$json_dec = json_decode(file_get_contents($fitxer), true);
|
||||||
|
|
||||||
|
//echo "matriu fitxer\n";
|
||||||
|
//print_r($json_dec);
|
||||||
|
//echo is_array($json_dec)."\n";
|
||||||
|
//sleep(2);
|
||||||
|
$reg_arx = count($json_dec);
|
||||||
|
echo "L'arxiu json té ".$reg_arx." ".(($reg_arx<>1)?"registres":"registre")."\n";
|
||||||
|
|
||||||
|
// consultar el fitxer txt i veure si hi ha més registres que al json
|
||||||
|
|
||||||
|
$fitxer_imp = exec("cat ".$lloc."/fitxers/impulsos.txt",$eixida_fim,$resposta_fim);
|
||||||
|
//print_r($eixida_fim);
|
||||||
|
|
||||||
|
$max = count($eixida_fim);
|
||||||
|
echo "L'arxiu txt té ".$max." ".(($max<>1)?"registres":"registre")."\n";
|
||||||
|
|
||||||
|
$eixida_fime = array();
|
||||||
|
for($f=0;$f<$max;$f++) {
|
||||||
|
$eixida_fim[$f];
|
||||||
|
// print_r(explode(" ",$eixida_fim[$f]));
|
||||||
|
$eixida_fime[] = explode(" ",$eixida_fim[$f]);
|
||||||
|
// print_r($eixida_fime[$f]);
|
||||||
|
// sleep(2);
|
||||||
|
$fi = count($eixida_fime[$f]);
|
||||||
|
// for($g=0;$g<$fi;$g++) {
|
||||||
|
$imp_mat[] = array ( 'id' => (int)$eixida_fime[$f][0],
|
||||||
|
'mis_id' => (int)$eixida_fime[$f][3],
|
||||||
|
'qui' => $eixida_fime[$f][1],
|
||||||
|
'mencio' => $eixida_fime[$f][2],
|
||||||
|
'quan' => $eixida_fime[$f][4] );
|
||||||
|
// }
|
||||||
|
// print_r($imp_mat);
|
||||||
|
// sleep(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
//print_r($imp_mat);
|
||||||
|
if($reg_arx < $max) {
|
||||||
|
// actualitza el fitxer json
|
||||||
|
// $fes_json = json_encode($imp_mat, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($imp_mat, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/impulsos.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
}
|
||||||
|
exit;
|
||||||
|
// consulta els existents per afegir-los a la matriu existent si no hi son
|
||||||
|
//$menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||||
|
$limit_m = 80;
|
||||||
|
$menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||||
|
//print_r($menc_mat_nova);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
$nom_mat = count($menc_mat_nova);
|
||||||
|
echo "A la instància he repassat les darreres ".$nom_mat." ".(($nom_mat<>1)?"notificacions":"notificació")."\n";
|
||||||
|
// fer matriu de mencions noves
|
||||||
|
|
||||||
|
$menc_mat = array();
|
||||||
|
if($nom_mat>=1) {
|
||||||
|
|
||||||
|
$mc = 0;
|
||||||
|
for($f=0;$f<$nom_mat;$f++) {
|
||||||
|
$men_id = $menc_mat_nova[$f]['id'];
|
||||||
|
$men_tip = $menc_mat_nova[$f]['type'];
|
||||||
|
$men_qui = $menc_mat_nova[$f]['account']['acct'];
|
||||||
|
$men_qua = $menc_mat_nova[$f]['created_at'];
|
||||||
|
if($men_tip == "mention") { $men_mid = $menc_mat_nova[$f]['status']['id'];
|
||||||
|
$men_que = html_entity_decode(strip_tags($menc_mat_nova[$f]['status']['content'])); }
|
||||||
|
else { $men_mid = 0; $men_que = null; }
|
||||||
|
if($men_tip == "mention") {
|
||||||
|
$men_mid = $menc_mat_nova[$f]['status']['id'];
|
||||||
|
$men_que = str_replace(["'"]," ", $men_que);
|
||||||
|
$men_que = str_replace(["'","`","’","\n"],'', $men_que);
|
||||||
|
$men_que = str_replace(['#','&','"','“','”'],'', $men_que);
|
||||||
|
$menc_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$men_mid, 'qui' => $men_qui, 'mencio' => $men_tip, 'quan' => $men_qua, 'que' => $men_que );
|
||||||
|
$mc++;
|
||||||
|
|
||||||
|
// sleep(2);
|
||||||
|
}
|
||||||
|
/** else {
|
||||||
|
// $menc_mat[] = array ( );
|
||||||
|
$menc_mat[] = array ( 'id' => (int)0, 'mis_id' => (int)0, 'qui' => null, 'mencio' => null, 'quan' => null );
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
}
|
||||||
|
|
||||||
|
$comprova_mat = is_array($menc_mat);
|
||||||
|
echo "comprova: ".$comprova_mat."\n";
|
||||||
|
//echo "menc_mat_f\n";
|
||||||
|
//print_r($menc_mat);
|
||||||
|
//sleep(2);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
// evita repetir
|
||||||
|
$fins = count($menc_mat);
|
||||||
|
//if( ($mc<0) ){
|
||||||
|
echo "De les ".$nom_mat." notificacions, ".$mc." ".(($mc<>1)?"són":"és")." una menció.\n";
|
||||||
|
$cont_fit = 0;
|
||||||
|
//echo $fins."\n";
|
||||||
|
for($g=0;$g<$fins;$g++) {
|
||||||
|
$id_busc = $menc_mat[$g]['id'];
|
||||||
|
$qu_busc = $menc_mat[$g]['qui'];
|
||||||
|
// echo "id_busc: ".$id_busc."\n";
|
||||||
|
$troba = array_search($id_busc, array_column($json_dec, 'id'));
|
||||||
|
// echo "troba: ".$troba."\n";
|
||||||
|
|
||||||
|
if( ($troba !== false ) ) {
|
||||||
|
// echo "La menció ".$id_busc." de ".$qu_busc." ja està al registre\n";
|
||||||
|
} else {
|
||||||
|
if($id_busc<>0) {
|
||||||
|
echo "NOVA MENCIÓ ".$id_busc." de ".$qu_busc."\n";
|
||||||
|
|
||||||
|
array_push($json_dec,
|
||||||
|
['id' => (int)$menc_mat[$g]['id'], 'mis_id' => (int)$menc_mat[$g]['mis_id'],
|
||||||
|
'qui' => $menc_mat[$g]['qui'], 'mencio' => $menc_mat[$g]['mencio'],
|
||||||
|
'quan' => $menc_mat[$g]['quan'],
|
||||||
|
'que' => $menc_mat[$g]['que']
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
$cont_fit++;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo "matriu després de push\n";
|
||||||
|
//print_r($json_dec);
|
||||||
|
if($cont_fit >= 1) {
|
||||||
|
// actualitza el fitxer json
|
||||||
|
// $fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
}
|
||||||
|
|
||||||
|
//fin if matriu de notificacions té registres
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "No hi han mencions noves.\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// per a fer els repas linia a linia
|
||||||
|
$maxim = count($json_dec);
|
||||||
|
$e = 0;
|
||||||
|
$reg = 0;
|
||||||
|
//$ara = strtotime("today");
|
||||||
|
//$ara = strtotime(filemtime($fitxer));
|
||||||
|
$ara = (filemtime($fitxer));
|
||||||
|
//echo $ara."\n";
|
||||||
|
|
||||||
|
echo "ACTUALITZE ".(($maxim<>1)?"ELS ".$maxim." REGISTRES":"EL REGISTRE").".\n";
|
||||||
|
|
||||||
|
$escriu_mencions_detall = fopen($lloc."/fitxers/mencions.txt", "w") or die("No puc escriure al registre!");
|
||||||
|
|
||||||
|
for($e=0;$e<$maxim;$e++) {
|
||||||
|
$men_id = $json_dec[$e]['id'];
|
||||||
|
$men_mi = $json_dec[$e]['mis_id'];
|
||||||
|
$men_qi = $json_dec[$e]['qui'];
|
||||||
|
$men_qa = $json_dec[$e]['quan'];
|
||||||
|
$men_qe = $json_dec[$e]['que'];
|
||||||
|
$men_tp = $json_dec[$e]['mencio'];
|
||||||
|
// echo "nº".$e." -> ".$men_id." | ".$men_mi. " -> ".$men_tp." - ".utf8_decode($men_qi)." \t-> ".$men_qa."\n";
|
||||||
|
fwrite($escriu_mencions_detall, $men_id."-".$men_mi."-".$men_qi."-".$men_tp."-".$men_qa."-".$men_qe."\n");
|
||||||
|
|
||||||
|
// pausa d'un segon
|
||||||
|
//sleep(1);
|
||||||
|
//pausa de mig segon (amb microsegons => unitat més sis ceros == segons );
|
||||||
|
//usleep(200000);
|
||||||
|
$reg++;
|
||||||
|
}
|
||||||
|
fclose($escriu_mencions_detall);
|
||||||
|
|
||||||
|
if($maxim > $max_lin) {
|
||||||
|
$json_dec = array_splice($json_dec,($maxim-$max_linies),$maxim);
|
||||||
|
//print_r($json_dec);
|
||||||
|
|
||||||
|
// actualitza el fitxer json
|
||||||
|
//$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
}
|
||||||
|
$crmnf = microtime(true);
|
||||||
|
$tmf = $crmnf - $crmn;
|
||||||
|
echo "Temps mencions: ".round($tmf,4)."";
|
||||||
|
//$log->lwrite("Temps mencions: ".round($tmf,4)."");
|
||||||
|
?>
|
349
utils_cli/bot_plus_cli_mencions_em_json_cli.php
Normal file
349
utils_cli/bot_plus_cli_mencions_em_json_cli.php
Normal file
|
@ -0,0 +1,349 @@
|
||||||
|
<?php
|
||||||
|
$crmn = microtime(true);
|
||||||
|
|
||||||
|
if (!empty($_SERVER["argv"][1])){
|
||||||
|
$argument = $_SERVER["argv"][1];
|
||||||
|
$consulta = $_SERVER["argv"][2];
|
||||||
|
} else {
|
||||||
|
// Presenta l'ajuda
|
||||||
|
echo "NO HE REBUT la variable\n";
|
||||||
|
echo "Cal el directori on s'executa el bot_plus.\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$lloc = $argument;
|
||||||
|
|
||||||
|
// ara pot carregar la configuració i el logger
|
||||||
|
include("".$lloc."/configuracio/bot_plus_cfg.php");
|
||||||
|
include("".$lloc."/utils/bot_plus_funcions.php");
|
||||||
|
require_once("".$lloc."/lib/logger.php");
|
||||||
|
require_once($lloc."/utils/vadersentiment/vadersentiment_cat.php");
|
||||||
|
|
||||||
|
// inicia el log
|
||||||
|
$log = new Logging();
|
||||||
|
$log->lfile("".$log_fitxer."");
|
||||||
|
|
||||||
|
$fitxer = $lloc."/fitxers/mencions.json";
|
||||||
|
//echo $fitxer;
|
||||||
|
|
||||||
|
//matriu a partir del fitxer de les mencions
|
||||||
|
$json_dec = json_decode(file_get_contents($fitxer), true);
|
||||||
|
|
||||||
|
//echo "matriu fitxer\n";
|
||||||
|
//print_r($json_dec);
|
||||||
|
//exit;
|
||||||
|
//echo is_array($json_dec)."\n";
|
||||||
|
//sleep(2);
|
||||||
|
$reg_arx = count($json_dec);
|
||||||
|
|
||||||
|
if($reg_arx<>null) {
|
||||||
|
echo "L'arxiu json de les mencions valorades amb les emocions té ".$reg_arx." ".(($reg_arx<>1)?"registres":"registre")."\n";
|
||||||
|
} else {
|
||||||
|
print "L'arxiu json de les mencions és buit.\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
$dades_url = ["mention"];
|
||||||
|
//http_build_query_for_curl($dades_url, $limita_enq);
|
||||||
|
|
||||||
|
if($consulta!=0){
|
||||||
|
echo "Faig consulta\n";
|
||||||
|
goto consulta;
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo "cal programar-lo correcetament per registrar les puntuacions de vadersentiment";
|
||||||
|
//exit;
|
||||||
|
// consulta els existents per afegir-los a la matriu existent si no hi son
|
||||||
|
//$menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||||
|
$limit_m = 80;
|
||||||
|
$imp_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||||
|
//print_r($imp_mat_nova);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
$nom_mat = count($imp_mat_nova);
|
||||||
|
echo "A la instància he repassat les darreres ".$nom_mat." ".(($nom_mat<>1)?"notificacions":"notificació")."\n";
|
||||||
|
// fer matriu de mencions noves
|
||||||
|
|
||||||
|
$menc_mat = array();
|
||||||
|
if($nom_mat>=1) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
// llegir fitxer de temps
|
||||||
|
$temps_imp = strtotime("now");
|
||||||
|
$espera_ob = fopen($lloc . "/fitxers/impulsos_temps.txt", "r") or die("No puc obrir la darrera data!");
|
||||||
|
$espera_ll = fread($espera_ob,filesize($lloc . "/fitxers/impulsos_temps.txt"));
|
||||||
|
$espera_imp = $espera_ll;
|
||||||
|
fclose($espera_ob);
|
||||||
|
|
||||||
|
$temps_ini = $espera_imp - 604800;
|
||||||
|
**/
|
||||||
|
|
||||||
|
$mc = 0;
|
||||||
|
for($f=0;$f<$nom_mat;$f++) {
|
||||||
|
$men_id = $imp_mat_nova[$f]['id'];
|
||||||
|
$men_tip = $imp_mat_nova[$f]['type'];
|
||||||
|
$men_qui = $imp_mat_nova[$f]['account']['acct'];
|
||||||
|
$men_qua = $imp_mat_nova[$f]['created_at'];
|
||||||
|
// $men_mid = $imp_mat_nova[$f]['status']['id'];
|
||||||
|
if( ($men_tip == "mention") ){
|
||||||
|
$men_mid = $imp_mat_nova[$f]['status']['id'];
|
||||||
|
$mstg = html_entity_decode(strip_tags($imp_mat_nova[$f]['status']['content']));
|
||||||
|
} else { $men_mid = 0; $mstg = null; }
|
||||||
|
if ( $men_tip == "mention" ) {
|
||||||
|
$men_mid = $imp_mat_nova[$f]['status']['id'];
|
||||||
|
$menc_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$men_mid, 'qui' => $men_qui, 'mencio' => $men_tip, 'quan' => $men_qua, 'que' => $mstg );
|
||||||
|
$mc++;
|
||||||
|
// }
|
||||||
|
// sleep(2);
|
||||||
|
}
|
||||||
|
/** else {
|
||||||
|
// $menc_mat[] = array ( );
|
||||||
|
$menc_mat[] = array ( 'id' => (int)0, 'mis_id' => (int)0, 'qui' => null, 'mencio' => null, 'quan' => null );
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
}
|
||||||
|
|
||||||
|
//print_r($menc_mat);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
$comprova_mat = is_array($menc_mat);
|
||||||
|
echo "comprova: ".$comprova_mat."\n";
|
||||||
|
//echo "menc_mat_f\n";
|
||||||
|
//print_r($menc_mat);
|
||||||
|
//sleep(2);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
// evita repetir
|
||||||
|
$fins = count($menc_mat);
|
||||||
|
//if( ($mc<0) ){
|
||||||
|
echo "De les ".$nom_mat." notificacions, ".$mc." ".(($mc<>1)?"són":"és")." un mencio.\n";
|
||||||
|
$cont_fit = 0;
|
||||||
|
//echo $fins."\n";
|
||||||
|
|
||||||
|
for($g=0;$g<$fins;$g++) {
|
||||||
|
$id_busc = $menc_mat[$g]['id'];
|
||||||
|
$qu_busc = $menc_mat[$g]['qui'];
|
||||||
|
$tp_busc = $menc_mat[$g]['mencio'];
|
||||||
|
// echo "id_busc: ".$id_busc."\n";
|
||||||
|
$troba = array_search($id_busc, array_column($json_dec, 'id'));
|
||||||
|
// echo "troba: ".$troba."\n";
|
||||||
|
|
||||||
|
if( ($troba !== false ) ) {
|
||||||
|
// echo "El ".$tp_busc." ".$id_busc." de ".$qu_busc." ja està al registre\n";
|
||||||
|
} else {
|
||||||
|
if($id_busc<>0) {
|
||||||
|
echo "NOVA MENCIO: ".$tp_busc." ".$id_busc." de ".$qu_busc."\n";
|
||||||
|
array_push($json_dec,
|
||||||
|
['id' => (int)$menc_mat[$g]['id'], 'mis_id' => (int)$menc_mat[$g]['mis_id'],
|
||||||
|
'mencio' => $menc_mat[$g]['mencio'], 'qui' => $menc_mat[$g]['qui'],
|
||||||
|
'quan' => $menc_mat[$g]['quan'], 'que'=> $menc_mat[$g]['que']
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
$cont_fit++;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo "matriu després de push\n";
|
||||||
|
//print_r($json_dec);
|
||||||
|
|
||||||
|
if($cont_fit >= 1) {
|
||||||
|
// actualitza el fitxer json de les mencions
|
||||||
|
// $fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
} else {
|
||||||
|
echo "No hi ha mencions noves a la instància.\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
//fin if matriu de notificacions té registres
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Revise els del fitxer txt\n";
|
||||||
|
// fer matriu de les del fitxer txt i afegir-les si no hi son.
|
||||||
|
$mat_em_txt = exec("php ".$lloc."/fitxers/mencions.txt ".$lloc, $eixida_met, $resposta_met);
|
||||||
|
|
||||||
|
//print_r($eixida_met);
|
||||||
|
|
||||||
|
$fins_met = count($eixida_met);
|
||||||
|
|
||||||
|
for($f=0;$f<$fins_met;$f++) {
|
||||||
|
|
||||||
|
$regs[] = explode(":::",$eixida_met[$f]);
|
||||||
|
// echo "".$f."\n";
|
||||||
|
// print_r($regs[$f]);
|
||||||
|
$regs_mat[] = $regs[$f];
|
||||||
|
|
||||||
|
}
|
||||||
|
//print_r($regs_mat);
|
||||||
|
|
||||||
|
$fins_nous = count($regs_mat);
|
||||||
|
//exit;
|
||||||
|
$cont_nous = 0;
|
||||||
|
for($g=0;$g<$fins_nous;$g++) {
|
||||||
|
|
||||||
|
$id_busc = $regs_mat[$g][0];
|
||||||
|
$qu_busc = $regs_mat[$g][2];
|
||||||
|
$tp_busc = $regs_mat[$g][3];
|
||||||
|
// echo "id_busc: ".$id_busc."\n";
|
||||||
|
$troba = array_search($id_busc, array_column($json_dec, 'id'));
|
||||||
|
// echo "troba: ".$troba."\n";
|
||||||
|
|
||||||
|
if( ($troba !== false ) ) {
|
||||||
|
// echo "El ".$tp_busc." ".$id_busc." de ".$qu_busc." ja està al registre\n";
|
||||||
|
} else {
|
||||||
|
if($id_busc<>0) {
|
||||||
|
echo "NOVA MENCIO: ".$tp_busc." ".$id_busc." de ".$qu_busc."\n";
|
||||||
|
array_push($json_dec,
|
||||||
|
['id' => (int)$regs_mat[$g]['id'], 'mis_id' => (int)$regs_mat[$g]['mis_id'],
|
||||||
|
'mencio' => $regs_mat[$g]['mencio'], 'qui' => $regs_mat[$g]['qui'],
|
||||||
|
'quan' => $regs_mat[$g]['quan'], 'que'=> $regs_mat[$g]['que']
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
$cont_nous++;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
echo "Hi han ".$cont_nous." registres nous des del fitxer txt.\n";
|
||||||
|
// actualitzar el fitxer de mencions json
|
||||||
|
if($cont_nous >= 1) {
|
||||||
|
// actualitza el fitxer json de les mencions
|
||||||
|
// $fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
} else {
|
||||||
|
echo "No hi ha mencions noves al fitxer txt.\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// enviar els tuts a vadersentiment
|
||||||
|
echo "envie els textos del fitxer json actualitzat un a un a vedersentiment per a que els analitze.\n";
|
||||||
|
|
||||||
|
$fins_json = count($json_dec);
|
||||||
|
$cont_regs = 0;
|
||||||
|
for($h=0;$h<$fins_json;$h++) {
|
||||||
|
|
||||||
|
$entrada = $json_dec[$h]['que'];
|
||||||
|
|
||||||
|
$textToTest = $entrada;
|
||||||
|
$sentimenter = new SentimentIntensityAnalyzer();
|
||||||
|
$result = $sentimenter->getSentiment($textToTest);
|
||||||
|
//print_r($result);
|
||||||
|
|
||||||
|
//print_r($sentimenter);
|
||||||
|
$posi = $result['pos'];
|
||||||
|
$neut = $result['neu'];
|
||||||
|
$nega = $result['neg'];
|
||||||
|
$anim = $result["compound"];
|
||||||
|
//echo "text: ".$entrada."\nanalitzat: ".$anim." - pos: ".$posi." - neu: ".$neut." - neg: ".$nega."\n";
|
||||||
|
//usleep(200000);
|
||||||
|
$mat_em_json[] = array( 'id' => $json_dec[$h]['id'],
|
||||||
|
'mis_id' => $json_dec[$h]['mis_id'],
|
||||||
|
'qui' => $json_dec[$h]['qui'],
|
||||||
|
'quan' => $json_dec[$h]['quan'],
|
||||||
|
'mencio' => $json_dec[$h]['mencio'],
|
||||||
|
'que' => $json_dec[$h]['que'],
|
||||||
|
'pos' => $posi,
|
||||||
|
'neu' => $neut,
|
||||||
|
'neg' => $nega,
|
||||||
|
'tot' => $anim );
|
||||||
|
$cont_regs++;
|
||||||
|
}
|
||||||
|
|
||||||
|
//print_r($mat_em_json);
|
||||||
|
|
||||||
|
// fer fitxer json de les valoracions
|
||||||
|
if($cont_regs >= 1) {
|
||||||
|
// actualitza el fitxer json de les mencions
|
||||||
|
// $fes_json = json_encode($mat_em_json, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($mat_em_json, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions_em.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
|
||||||
|
echo "He escrit ".$cont_regs." registres al fitxer json de les emocions.\n";
|
||||||
|
} else {
|
||||||
|
echo "No hi ha mencions noves a la instància.\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
consulta:
|
||||||
|
|
||||||
|
// per a fer els repas linia a linia del fitxer de les emocions
|
||||||
|
$fitxer_em = $lloc."/fitxers/mencions_em.json";
|
||||||
|
$json_dec_em = json_decode(file_get_contents($fitxer_em), true);
|
||||||
|
|
||||||
|
if($json_dec_em <> null) {
|
||||||
|
$maximj = count($json_dec_em);
|
||||||
|
$e=0;
|
||||||
|
}else{
|
||||||
|
print "L'arxiu json del registre de les emocions està buit.\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo "ARRAY EMOCIONS INCOMPLET";
|
||||||
|
//print_r($json_dec_em);
|
||||||
|
|
||||||
|
//$ara = strtotime("today");
|
||||||
|
//$ara = strtotime(filemtime($fitxer));
|
||||||
|
$ara = (filemtime($fitxer_em));
|
||||||
|
//echo $ara."\n";
|
||||||
|
|
||||||
|
echo "REPASE ".(($maximj<>1)?"ELS ".$maximj." REGISTRES":"EL REGISTRE").".\n";
|
||||||
|
|
||||||
|
for($e=0;$e<$maximj;$e++) {
|
||||||
|
$men_id = $json_dec_em[$e]['id'];
|
||||||
|
$men_mi = $json_dec_em[$e]['mis_id'];
|
||||||
|
$men_qi = $json_dec_em[$e]['qui'];
|
||||||
|
$men_qa = $json_dec_em[$e]['quan'];
|
||||||
|
$men_tp = $json_dec_em[$e]['mencio'];
|
||||||
|
$men_ms = $json_dec_em[$e]['que'];
|
||||||
|
$men_ps = $json_dec_em[$e]['pos'];
|
||||||
|
$men_ne = $json_dec_em[$e]['neu'];
|
||||||
|
$men_ng = $json_dec_em[$e]['neg'];
|
||||||
|
$men_vs = $json_dec_em[$e]['tot'];
|
||||||
|
if( ($men_vs >= -1.0000)&&($men_vs <= -0.8000) ) { $valoracio = "molt contrari o crític"; }
|
||||||
|
elseif( ($men_vs >= -0.7999)&&($men_vs <= -0.6000) ) { $valoracio = "prou negativa"; }
|
||||||
|
elseif( ($men_vs >= -0.5999)&&($men_vs <= -0.5000) ) { $valoracio = "negativa"; }
|
||||||
|
elseif( ($men_vs >= -0.4999)&&($men_vs <= -0.4000) ) { $valoracio = "lleugera critica"; }
|
||||||
|
elseif( ($men_vs >= -0.3999)&&($men_vs <= -0.2000) ) { $valoracio = "neutra amb lleugera critica"; }
|
||||||
|
elseif( ($men_vs >= -0.1999)&&($men_vs <= 0.1999) ) { $valoracio = "neutra"; }
|
||||||
|
elseif( ($men_vs >= 0.2000)&&($men_vs <= 0.3999) ) { $valoracio = "neutra amb lleuger suport"; }
|
||||||
|
elseif( ($men_vs >= 0.4000)&&($men_vs <= 0.4999) ) { $valoracio = "un poc a favor"; }
|
||||||
|
elseif( ($men_vs >= 0.5000)&&($men_vs <= 0.5999) ) { $valoracio = "a favor"; }
|
||||||
|
elseif( ($men_vs >= 0.6000)&&($men_vs <= 0.7999) ) { $valoracio = "prou partidari"; }
|
||||||
|
elseif( ($men_vs >= 0.8000)&&($men_vs <= 1.000) ) { $valoracio = "molt partidari"; }
|
||||||
|
else { $valoracio = "incomprensible"; }
|
||||||
|
|
||||||
|
|
||||||
|
echo "nº".$e." -> ".$men_id." | ".$men_mi. " | ".$men_tp." \t- ".utf8_decode($men_qi)." \t-> ".$men_qa."\n".
|
||||||
|
$men_ms."\npos: \e[96m".$men_ps."\e[0m neu: \e[96m".$men_ne."\e[0m neg: \e[96m".$men_ng."\e[0m total = \e[96m".$men_vs."\e[0m \e[1m| ".$valoracio." |\e[0m\n";
|
||||||
|
|
||||||
|
// pausa d'un segon
|
||||||
|
//sleep(1);
|
||||||
|
//pausa de mig segon (amb microsegons => unitat més sis ceros == segons );
|
||||||
|
//usleep(200000);
|
||||||
|
}
|
||||||
|
|
||||||
|
retalla:
|
||||||
|
|
||||||
|
$maximj = count($json_dec_em);
|
||||||
|
$e=0;
|
||||||
|
|
||||||
|
if($maximj > $max_linies) {
|
||||||
|
$json_dec_e = array_splice($json_dec_em,($maximj-$max_linies),$maximj);
|
||||||
|
//print_r($json_dec);
|
||||||
|
|
||||||
|
// actualitza el fitxer json de les emocions
|
||||||
|
//$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec_e, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions_em.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
}
|
||||||
|
$crmnf = microtime(true);
|
||||||
|
$tmf = $crmnf - $crmn;
|
||||||
|
echo "Temps emocions de les emocions de les mencions: ".round($tmf,4)."";
|
||||||
|
//$log->lwrite("Temps mencions: ".round($tmf,4)."");
|
||||||
|
?>
|
215
utils_cli/bot_plus_cli_mencions_json_cli.php
Normal file
215
utils_cli/bot_plus_cli_mencions_json_cli.php
Normal file
|
@ -0,0 +1,215 @@
|
||||||
|
<?php
|
||||||
|
$crmn = microtime(true);
|
||||||
|
|
||||||
|
if (!empty($_SERVER["argv"][1])){
|
||||||
|
$argument = $_SERVER["argv"][1];
|
||||||
|
} else {
|
||||||
|
// Presenta l'ajuda
|
||||||
|
echo "NO HE REBUT la variable\n";
|
||||||
|
echo "Cal el directori on s'executa el bot_plus.\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$lloc = $argument;
|
||||||
|
|
||||||
|
// ara pot carregar la configuració i el logger
|
||||||
|
include("".$lloc."/configuracio/bot_plus_cfg.php");
|
||||||
|
include("".$lloc."/utils/bot_plus_funcions.php");
|
||||||
|
require_once("".$lloc."/lib/logger.php");
|
||||||
|
|
||||||
|
//echo $lloc;
|
||||||
|
$fitxer = $lloc."/fitxers/mencions.json";
|
||||||
|
//echo $fitxer;
|
||||||
|
|
||||||
|
//matriu a partir del fitxer
|
||||||
|
$json_dec = json_decode(file_get_contents($fitxer), true);
|
||||||
|
|
||||||
|
//echo "matriu fitxer\n";
|
||||||
|
//print_r($json_dec);
|
||||||
|
//echo is_array($json_dec)."\n";
|
||||||
|
//sleep(2);
|
||||||
|
$reg_arx = count($json_dec);
|
||||||
|
echo "L'arxiu té ".$reg_arx." ".(($reg_arx<>1)?"registres":"registre")."\n";
|
||||||
|
|
||||||
|
$dades_url = ["mention"];
|
||||||
|
//http_build_query_for_curl($dades_url, $limita_enq);
|
||||||
|
|
||||||
|
// consulta els existents per afegir-los a la matriu existent si no hi son
|
||||||
|
//$menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||||
|
$limit_m = 80;
|
||||||
|
$menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||||
|
//print_r($menc_mat_nova);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
$nom_mat = count($menc_mat_nova);
|
||||||
|
echo "A la instància he repassat les darreres ".$nom_mat." ".(($nom_mat<>1)?"notificacions":"notificació")."\n";
|
||||||
|
// fer matriu de mencions noves
|
||||||
|
|
||||||
|
$menc_mat = array();
|
||||||
|
if($nom_mat>=1) {
|
||||||
|
|
||||||
|
$mc = 0;
|
||||||
|
for($f=0;$f<$nom_mat;$f++) {
|
||||||
|
$men_id = $menc_mat_nova[$f]['id'];
|
||||||
|
$men_tip = $menc_mat_nova[$f]['type'];
|
||||||
|
$men_qui = $menc_mat_nova[$f]['account']['acct'];
|
||||||
|
$men_qua = $menc_mat_nova[$f]['created_at'];
|
||||||
|
if($men_tip == "mention") { $men_mid = $menc_mat_nova[$f]['status']['id'];
|
||||||
|
$men_que = html_entity_decode(strip_tags($menc_mat_nova[$f]['status']['content']));
|
||||||
|
} else { $men_mid = 0; $men_que = null; }
|
||||||
|
if($men_tip == "mention") {
|
||||||
|
$men_mid = $menc_mat_nova[$f]['status']['id'];
|
||||||
|
$men_que = str_replace(["'"]," ", $men_que);
|
||||||
|
$men_que = str_replace(["'","`","’","\n"],'', $men_que);
|
||||||
|
$men_que = str_replace(['#','&','"','“','”'],'', $men_que);
|
||||||
|
|
||||||
|
$comp_info = strpos($men_que,"infobot");
|
||||||
|
$comp_imps = strpos($men_que,"impulsosbot");
|
||||||
|
$comp_orat = strpos($men_que,"oratgebot");
|
||||||
|
$comp_salu = strpos($men_que,"saludabot");
|
||||||
|
$comp_usu = strpos($men_que,"usuaribot");
|
||||||
|
|
||||||
|
if( ($comp_info == false)&&($comp_salu == false)&&($comp_orat == false)&&($comp_imps == false)&&($comp_usu == false) ) {
|
||||||
|
$menc_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$men_mid, 'qui' => $men_qui, 'mencio' => $men_tip, 'quan' => $men_qua, 'que' => $men_que );
|
||||||
|
$mc++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// sleep(2);
|
||||||
|
}
|
||||||
|
/** else {
|
||||||
|
// $menc_mat[] = array ( );
|
||||||
|
$menc_mat[] = array ( 'id' => (int)0, 'mis_id' => (int)0, 'qui' => null, 'mencio' => null, 'quan' => null );
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
}
|
||||||
|
|
||||||
|
$comprova_mat = is_array($menc_mat);
|
||||||
|
echo "comprova: ".$comprova_mat."\n";
|
||||||
|
//echo "menc_mat_f\n";
|
||||||
|
//print_r($menc_mat);
|
||||||
|
//sleep(2);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
// evita repetir
|
||||||
|
$fins = count($menc_mat);
|
||||||
|
//if( ($mc<0) ){
|
||||||
|
echo "De les ".$nom_mat." notificacions, ".$mc." ".(($mc<>1)?"són":"és")." una menció.\n";
|
||||||
|
$cont_fit = 0;
|
||||||
|
//echo $fins."\n";
|
||||||
|
for($g=0;$g<$fins;$g++) {
|
||||||
|
$id_busc = $menc_mat[$g]['id'];
|
||||||
|
$qu_busc = $menc_mat[$g]['qui'];
|
||||||
|
$men_que = $menc_mat[$g]['que'];
|
||||||
|
// echo "id_busc: ".$id_busc."\n";
|
||||||
|
$troba = array_search($id_busc, array_column($json_dec, 'id'));
|
||||||
|
// echo "troba: ".$troba."\n";
|
||||||
|
|
||||||
|
if( ($troba !== false ) ) {
|
||||||
|
// echo "La menció ".$id_busc." de ".$qu_busc." ja està al registre\n";
|
||||||
|
} else {
|
||||||
|
// if($id_busc<>0) {
|
||||||
|
$comp_info = strpos($men_que,"infobot");
|
||||||
|
$comp_imps = strpos($men_que,"impulsosbot");
|
||||||
|
$comp_orat = strpos($men_que,"oratgebot");
|
||||||
|
$comp_salu = strpos($men_que,"saludabot");
|
||||||
|
$comp_usu = strpos($men_que,"usuaribot");
|
||||||
|
|
||||||
|
if( ($id_busc<>0)&&($comp_info == false)&&($comp_salu == false)&&($comp_orat == false)&&($comp_imps == false)&&($com_usu == false) ) {
|
||||||
|
echo "NOVA MENCIÓ ".$id_busc." de ".$qu_busc."\n";
|
||||||
|
|
||||||
|
array_push($json_dec,
|
||||||
|
['id' => (int)$menc_mat[$g]['id'], 'mis_id' => (int)$menc_mat[$g]['mis_id'],
|
||||||
|
'qui' => $menc_mat[$g]['qui'], 'mencio' => $menc_mat[$g]['mencio'],
|
||||||
|
'quan' => $menc_mat[$g]['quan'], 'que' => $menc_mat[$g]['que']
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
// escriu la menció al fitxer per no repetir-la
|
||||||
|
$escriu_mencions = fopen($lloc."/fitxers/mencions_r.txt", "a") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_mencions, $en_resposta."\n");
|
||||||
|
fclose($escriu_mencions);
|
||||||
|
|
||||||
|
$cont_fit++;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo "matriu després de push\n";
|
||||||
|
//print_r($json_dec);
|
||||||
|
if($cont_fit >= 1) {
|
||||||
|
// actualitza el fitxer json
|
||||||
|
// $fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
}
|
||||||
|
|
||||||
|
//fin if matriu de notificacions té registres
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "No hi han mencions noves.\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// per a fer els repas linia a linia
|
||||||
|
$maxim = count($json_dec);
|
||||||
|
$e = 0;
|
||||||
|
$reg = 0;
|
||||||
|
//$ara = strtotime("today");
|
||||||
|
//$ara = strtotime(filemtime($fitxer));
|
||||||
|
$ara = (filemtime($fitxer));
|
||||||
|
//echo $ara."\n";
|
||||||
|
|
||||||
|
echo "REPASE ".(($maxim<>1)?"ELS ".$maxim." REGISTRES":"EL REGISTRE").".\n";
|
||||||
|
|
||||||
|
for($e=0;$e<$maxim;$e++) {
|
||||||
|
$men_id = $json_dec[$e]['id'];
|
||||||
|
$men_mi = $json_dec[$e]['mis_id'];
|
||||||
|
$men_qi = $json_dec[$e]['qui'];
|
||||||
|
$men_qa = $json_dec[$e]['quan'];
|
||||||
|
$men_tp = $json_dec[$e]['mencio'];
|
||||||
|
$men_qe = $json_dec[$e]['que'];
|
||||||
|
|
||||||
|
echo "nº".$e." -> ".$men_id." | ".$men_mi. " -> ".$men_tp." - ".utf8_decode($men_qi)." \t-> ".$men_qa." - ".$men_qe."\n";
|
||||||
|
|
||||||
|
// pausa d'un segon
|
||||||
|
//sleep(1);
|
||||||
|
//pausa de mig segon (amb microsegons => unitat més sis ceros == segons );
|
||||||
|
//usleep(200000);
|
||||||
|
$reg++;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
if($reg>0) {
|
||||||
|
// preguntar si vols volcar-ho al fitxer .txt
|
||||||
|
echo "\nVols actualitzar el fitxer de les mencions? (Si/No)\n";
|
||||||
|
$handle = fopen ("php://stdin","r");
|
||||||
|
$line = fgets($handle);
|
||||||
|
if( (trim($line) != 'Si') ){
|
||||||
|
echo "HE ACABAT DONCS!\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
fclose($handle);
|
||||||
|
echo "\n";
|
||||||
|
echo "Gràcies, els actualitze...\n";
|
||||||
|
|
||||||
|
// bolcat a fitxer .txt
|
||||||
|
echo "Actualització feta.\n";
|
||||||
|
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
|
||||||
|
if($maxim > $max_linies) {
|
||||||
|
$json_dec = array_splice($json_dec,($maxim-$max_linies),$maxim);
|
||||||
|
//print_r($json_dec);
|
||||||
|
|
||||||
|
// actualitza el fitxer json
|
||||||
|
//$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_dec, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
}
|
||||||
|
$crmnf = microtime(true);
|
||||||
|
$tmf = $crmnf - $crmn;
|
||||||
|
echo "Temps mencions: ".round($tmf,4)."";
|
||||||
|
//$log->lwrite("Temps mencions: ".round($tmf,4)."");
|
||||||
|
?>
|
194
utils_cli/bot_plus_cli_mencions_json_cli_refer.php
Normal file
194
utils_cli/bot_plus_cli_mencions_json_cli_refer.php
Normal file
|
@ -0,0 +1,194 @@
|
||||||
|
<?php
|
||||||
|
$crmn = microtime(true);
|
||||||
|
|
||||||
|
if (!empty($_SERVER["argv"][1])){
|
||||||
|
$argument = $_SERVER["argv"][1];
|
||||||
|
} else {
|
||||||
|
// Presenta l'ajuda
|
||||||
|
echo "NO HE REBUT la variable\n";
|
||||||
|
echo "Cal el directori on s'executa el bot_plus.\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$lloc = $argument;
|
||||||
|
|
||||||
|
// ara pot carregar la configuració i el logger
|
||||||
|
include("".$lloc."/configuracio/bot_plus_cfg.php");
|
||||||
|
include("".$lloc."/utils/bot_plus_funcions.php");
|
||||||
|
require_once("".$lloc."/lib/logger.php");
|
||||||
|
|
||||||
|
//echo $lloc;
|
||||||
|
$fitxer = $lloc."/fitxers/mencions.json";
|
||||||
|
//echo $fitxer;
|
||||||
|
|
||||||
|
//matriu a partir del fitxer
|
||||||
|
$json_decc = json_decode(file_get_contents($fitxer), true);
|
||||||
|
|
||||||
|
//echo "matriu fitxer\n";
|
||||||
|
//print_r($json_decc);
|
||||||
|
//echo is_array($json_decc)."\n";
|
||||||
|
//sleep(2);
|
||||||
|
$reg_arx = count($json_decc);
|
||||||
|
echo "L'arxiu té ".$reg_arx." ".(($reg_arx<>1)?"registres":"registre")."\n";
|
||||||
|
|
||||||
|
$dades_url = ["mention"];
|
||||||
|
//http_build_query_for_curl($dades_url, $limita_enq);
|
||||||
|
|
||||||
|
// consulta els existents per afegir-los a la matriu existent si no hi son
|
||||||
|
//$menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||||
|
$limit_m = 80;
|
||||||
|
$menc_mat_nova = ConsultaNotificacions($token,$base_url,$limit_m,$headers);
|
||||||
|
//print_r($menc_mat_nova);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
$nom_mat = count($menc_mat_nova);
|
||||||
|
echo "A la instància he repassat les darreres ".$nom_mat." ".(($nom_mat<>1)?"notificacions":"notificació")."\n";
|
||||||
|
// fer matriu de mencions noves
|
||||||
|
|
||||||
|
$menc_mat = array();
|
||||||
|
if($nom_mat>=1) {
|
||||||
|
|
||||||
|
$mc = 0;
|
||||||
|
for($f=0;$f<$nom_mat;$f++) {
|
||||||
|
$men_id = $menc_mat_nova[$f]['id'];
|
||||||
|
$men_tip = $menc_mat_nova[$f]['type'];
|
||||||
|
$men_qui = $menc_mat_nova[$f]['account']['acct'];
|
||||||
|
$men_qua = $menc_mat_nova[$f]['created_at'];
|
||||||
|
if($men_tip == "mention") { $men_mid = $menc_mat_nova[$f]['status']['id'];
|
||||||
|
$men_que = html_entity_decode(strip_tags($menc_mat_nova[$f]['status']['content'])); }
|
||||||
|
else { $men_mid = 0; $men_que = null; }
|
||||||
|
if($men_tip == "mention") {
|
||||||
|
|
||||||
|
$men_mid = $menc_mat_nova[$f]['status']['id'];
|
||||||
|
$men_que = str_replace(["'"]," ", $men_que);
|
||||||
|
$men_que = str_replace(["'","`","’","\n"],'', $men_que);
|
||||||
|
$men_que = str_replace(['#','&','"','“','”'],'', $men_que);
|
||||||
|
|
||||||
|
$comp_info = strpos($men_que,"infobot");
|
||||||
|
$comp_imps = strpos($men_que,"impulsosbot");
|
||||||
|
$comp_orat = strpos($men_que,"oratgebot");
|
||||||
|
$comp_salu = strpos($men_que,"saludabot");
|
||||||
|
|
||||||
|
if( ($comp_info == false)&&($comp_salu == false)&&($comp_orat == false)&&($comp_imps == false) ) {
|
||||||
|
$menc_mat[] = array ( 'id' => (int)$men_id, 'mis_id' => (int)$men_mid, 'qui' => $men_qui, 'mencio' => $men_tip, 'quan' => $men_qua, 'que' => $men_que );
|
||||||
|
$mc++;
|
||||||
|
}
|
||||||
|
// sleep(2);
|
||||||
|
}
|
||||||
|
/** else {
|
||||||
|
// $menc_mat[] = array ( );
|
||||||
|
$menc_mat[] = array ( 'id' => (int)0, 'mis_id' => (int)0, 'qui' => null, 'mencio' => null, 'quan' => null );
|
||||||
|
}
|
||||||
|
**/
|
||||||
|
}
|
||||||
|
|
||||||
|
$comprova_mat = is_array($menc_mat);
|
||||||
|
echo "comprova: ".$comprova_mat."\n";
|
||||||
|
//echo "menc_mat_f\n";
|
||||||
|
//print_r($menc_mat);
|
||||||
|
//sleep(2);
|
||||||
|
//exit;
|
||||||
|
|
||||||
|
// evita repetir
|
||||||
|
$fins = count($menc_mat);
|
||||||
|
//if( ($mc<0) ){
|
||||||
|
echo "De les ".$nom_mat." notificacions, ".$mc." ".(($mc<>1)?"són":"és")." una menció.\n";
|
||||||
|
$cont_fit = 0;
|
||||||
|
//echo $fins."\n";
|
||||||
|
for($g=0;$g<$fins;$g++) {
|
||||||
|
$id_busc = $menc_mat[$g]['id'];
|
||||||
|
$qu_busc = $menc_mat[$g]['qui'];
|
||||||
|
$men_que = $menc_mat[$g]['que'];
|
||||||
|
// echo "id_busc: ".$id_busc."\n";
|
||||||
|
$troba = array_search($id_busc, array_column($json_decc, 'id'));
|
||||||
|
// echo "troba: ".$troba."\n";
|
||||||
|
|
||||||
|
if( ($troba !== false ) ) {
|
||||||
|
// echo "La menció ".$id_busc." de ".$qu_busc." ja està al registre\n";
|
||||||
|
} else {
|
||||||
|
// if($id_busc<>0) {
|
||||||
|
$comp_info = strpos($men_que,"infobot");
|
||||||
|
$comp_imps = strpos($men_que,"impulsosbot");
|
||||||
|
$comp_orat = strpos($men_que,"oratgebot");
|
||||||
|
$comp_salu = strpos($men_que,"saludabot");
|
||||||
|
|
||||||
|
if( ($id_busc<>0)&&($comp_info == false)&&($comp_salu == false)&&($comp_orat == false)&&($comp_imps == false) ) {
|
||||||
|
echo "NOVA MENCIÓ ".$id_busc." de ".$qu_busc."\n";
|
||||||
|
|
||||||
|
array_push($json_decc,
|
||||||
|
['id' => (int)$menc_mat[$g]['id'], 'mis_id' => (int)$menc_mat[$g]['mis_id'],
|
||||||
|
'qui' => $menc_mat[$g]['qui'], 'mencio' => $menc_mat[$g]['mencio'],
|
||||||
|
'quan' => $menc_mat[$g]['quan'],
|
||||||
|
'que' => $menc_mat[$g]['que']
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
$cont_fit++;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo "matriu després de push\n";
|
||||||
|
//print_r($json_decc);
|
||||||
|
if($cont_fit >= 1) {
|
||||||
|
// actualitza el fitxer json
|
||||||
|
// $fes_json = json_encode($json_decc, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_decc, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
// unset($json_decc);
|
||||||
|
}
|
||||||
|
|
||||||
|
//fin if matriu de notificacions té registres
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
echo "No hi han mencions noves.\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// per a fer els repas linia a linia
|
||||||
|
$maxim = count($json_decc);
|
||||||
|
$e = 0;
|
||||||
|
$reg = 0;
|
||||||
|
//$ara = strtotime("today");
|
||||||
|
//$ara = strtotime(filemtime($fitxer));
|
||||||
|
$ara = (filemtime($fitxer));
|
||||||
|
//echo $ara."\n";
|
||||||
|
|
||||||
|
echo "ACTUALITZE ".(($maxim<>1)?"ELS ".$maxim." REGISTRES":"EL REGISTRE").".\n";
|
||||||
|
|
||||||
|
$escriu_mencions_detall = fopen($lloc."/fitxers/mencions.txt", "w") or die("No puc escriure al registre!");
|
||||||
|
|
||||||
|
for($e=0;$e<$maxim;$e++) {
|
||||||
|
$men_id = $json_decc[$e]['id'];
|
||||||
|
$men_mi = $json_decc[$e]['mis_id'];
|
||||||
|
$men_qi = $json_decc[$e]['qui'];
|
||||||
|
$men_qa = $json_decc[$e]['quan'];
|
||||||
|
$men_qe = $json_decc[$e]['que'];
|
||||||
|
$men_tp = $json_decc[$e]['mencio'];
|
||||||
|
// echo "nº".$e." -> ".$men_id." | ".$men_mi. " -> ".$men_tp." - ".utf8_decode($men_qi)." \t-> ".$men_qa."\n";
|
||||||
|
fwrite($escriu_mencions_detall, $men_id.":::".$men_mi.":::".$men_qi.":::".$men_tp.":::".$men_qa.":::".$men_qe."\n");
|
||||||
|
|
||||||
|
// pausa d'un segon
|
||||||
|
//sleep(1);
|
||||||
|
//pausa de mig segon (amb microsegons => unitat més sis ceros == segons );
|
||||||
|
//usleep(200000);
|
||||||
|
$reg++;
|
||||||
|
}
|
||||||
|
fclose($escriu_mencions_detall);
|
||||||
|
|
||||||
|
if($maxim > $max_linies) {
|
||||||
|
$json_decc = array_splice($json_decc,($maxim-$max_linies),$maxim);
|
||||||
|
//print_r($json_decc);
|
||||||
|
|
||||||
|
// actualitza el fitxer json
|
||||||
|
//$fes_json = json_encode($json_decc, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_OBJECT_AS_ARRAY|JSON_PRETTY_PRINT);
|
||||||
|
$fes_json = json_encode($json_decc, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||||
|
$escriu_f_json = fopen($lloc."/fitxers/mencions.json", "w") or die("No puc escriure al registre!");
|
||||||
|
fwrite($escriu_f_json, $fes_json);
|
||||||
|
fclose($escriu_f_json);
|
||||||
|
unset($json_decc);
|
||||||
|
}
|
||||||
|
$crmnf = microtime(true);
|
||||||
|
$tmf = $crmnf - $crmn;
|
||||||
|
echo "Temps mencions: ".round($tmf,4)."";
|
||||||
|
//$log->lwrite("Temps mencions: ".round($tmf,4)."");
|
||||||
|
?>
|
Loading…
Referencia en una nova incidència