bot_plus/utils/bot_plus_tut_impulsos.php

239 líneas
6,9 KiB
PHP
Original Vista normal Històric

2024-08-21 20:49:20 +02:00
<?php
if (!empty($_SERVER["argv"][1])){
$argument = $_SERVER["argv"][1];
$input = $_SERVER["argv"][2];
$en_resposta = $_SERVER["argv"][3];
$usuari = $_SERVER["argv"][4];
$mis_vis = $_SERVER["argv"][5];
} 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 podrá 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");
// inicia el log
$log = new Logging();
$log->lfile("".$log_fitxer."");
$comp_info = strpos($input,"impulsosbot");
if($comp_info === false) {
$log -> lwrite("Comentari sense etiqueta #impulsosbot");
} else {
$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;
$fitxer = $lloc."/fitxers/impulsos.json";
//matriu a partir del fitxer
$json_dec = json_decode(file_get_contents($fitxer), true);
$reg_arx = count($json_dec);
// INFORME
$titol = "IMPULSOS a ".date('d/m/y H:i:s',strtotime('now'))." 📚\n".
"registrats des del ".date('d/m/Y',$temps_ini)."\n";
//versió
$entra = $bot_nom." versió: ".$bot_versio." ";
if ($reg_arx>0) {
//print_r($json_dec);
$n_favs = 0;
$n_rebs = 0;
//compte de favorits i reblocs
for($n=0;$n<$reg_arx;$n++) {
$tipus = $json_dec[$n]['mencio'];
if($tipus == "favourite") {
$n_favs++;
}
if($tipus == "reblog") {
$n_rebs++;
}
}
$impuls_resum = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'reblog' | awk '{print $2}'", $eix_ir, $resp_ir );
$ferono_rebs = count($eix_ir);
if($ferono_rebs > 0) {
$mat_reb = array_count_values($eix_ir);
arsort($mat_reb);
$a = 0;
foreach ($mat_reb as $clau => $valor) {
echo "$clau = $valor\n";
$mat_reb_f[] = array('nom' => $clau, 'nombre' => $valor);
$a++;
}
$primera = $mat_reb_f[0]['nombre'];
$public_resum_r = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'reblog' | awk '{print $4}'",$eix_pr, $resp_pr );
$mat_res = array_count_values($eix_pr);
arsort($mat_res);
$b = 0;
foreach ($mat_res as $clau => $valor) {
echo "$clau = $valor\n";
$mat_res_f[] = array('article' => $clau, 'nombre' => $valor);
$b++;
}
//echo $b." ".(($b<>1)?"tuts impulsats":"tut impulsat")."\n";
$primer = $mat_res_f[0]['nombre'];
//echo $primer."\n";
$acabaa = count($mat_res_f);
for($i=0;$i<$acabaa;$i++) {
if($mat_res_f[$i]['nombre'] == $primer) {
$mat_res_fp[] = array('article' => $clau, 'nombre' => $valor);
}
}
$tuts_imp_primers = count($mat_res_fp);
} else {
$a = 0;
$b = 0;
$n_rebs = 0;
$tuts_imp_primers = 0;
$primer = 0;
$primera = 0;
}
$favorits_resum = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'favourite' | awk '{print $2}'", $eix_frs, $resp_frs );
$ferono_favs = count($eix_frs);
if($ferono_favs > 0) {
$mat_fav = array_count_values($eix_frs);
arsort($mat_fav);
$c = 0;
foreach ($mat_fav as $clau => $valor) {
echo "$clau = $valor\n";
$mat_fav_f[] = array('nom' => $clau, 'nombre' => $valor);
$c++;
}
//echo $c." ".(($c<>1)?"persones han":"persona ha")." fet favorit\n";
// quants tenen els mateix nombre que el primer?
$primer_f = $mat_fav_f[0]['nombre'];
$public_resum_f = exec("cat ".$lloc."/fitxers/impulsos.txt | grep 'favourite' | awk '{print $4}'",$eix_fr, $resp_pr );
//print_r($eix_fr);
$mat_favs = array_count_values($eix_fr);
arsort($mat_favs);
$d = 0;
foreach ($mat_favs as $clau => $valor) {
echo "$clau = $valor\n";
$mat_fav_fsb[] = array('article' => $clau, 'nombre' => $valor);
$d++;
}
//echo $d." ".(($d<>1)?"tuts favorits":"tut favorit")."\n";
$primer_r = $mat_fav_fsb[0]['nombre'];
$acabat = count($mat_fav_fsb);
for($i=0;$i<$acabat;$i++) {
if($mat_fav_fsb[$i]['nombre'] == $primer_r) {
$mat_fav_fsba[] = array('article' => $mat_fav_fsb[$i]["article"], 'nombre' => $mat_fav_fsb[$i]["nombre"]);
}
}
//print_r($mat_fav_fsba);
$tuts_fav_primers = count($mat_fav_fsba);
} else {
$c = 0;
$d = 0;
$tuts_fav_primers = 0;
$primer_r = 0;
$primer_f = 0;
}
$publs ="REBLOCS\n".$a." ".(($a<>1)?"persones han":"persona ha")." impulsat ".$b." ".(($b<>1)?"tuts":"tut")."\n".
"Registres: ".$n_rebs."\n".
(($tuts_imp_primers<>1)?"Els tuts":"El tut").
(($tuts_imp_primers<>1)?" (".$tuts_imp_primers.") ":" ").
"amb més reblocs en té ".$primer."\n".
"Qui més n'ha fet ".$primera."\n".
// "El tut amb més reblocs en té ".$primera."\n".
"FAVORITS\n".$c." ".(($c<>1)?"persones han":"persona ha")." fet favorit ".$d." ".(($d<>1)?"tuts":"tut")."\n".
"Registres: ".$n_favs."\n".
(($tuts_fav_primers<>1)?"Els tuts":"El tut").
(($tuts_fav_primers<>1)?"(".$tuts_fav_primers.") ":" ").
"amb més favorits en té ".$primer_r."\n".
"Qui més n'ha fet ".$primer_f."\n".
"TOTAL: ".$reg_arx." ".(($reg_arx<>1)?"registres":"registre")."\n";
//connexió web font
$conns = "El darrer registre està fet el ".date("d/m/Y H:i:s",(filemtime($fitxer)))."";
//estadistiques rebudes
$imps_rg = shell_exec("wc -l ".$lloc."/fitxers/impulsos.txt");
$imps_rgm = explode(" ",$imps_rg);
$nimp = $imps_rgm[0];
$menc_rg = shell_exec("wc -l ".$lloc."/fitxers/mencions.txt");
$menc_rgm = explode(" ",$menc_rg);
$nmen = $menc_rgm[0];
$estad_reb = "Impulsos rebut: ".$nimp." (favorits i reblocs)\nMencions: ".$nmen." registrades.";
} else {
$publs = "Encara no hi ha cap registre.\n";
}
//data properes estadistiques
$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);
//echo "".$espera_imp." | ".date("r",($espera_imp))."\n";
setlocale(LC_ALL, 'ca_ES.UTF-8');
//$estads = "Estadístiques: propera publicació ".date("d/m/y H:i:s",$espera_imp).".";
$estads = "Publicaré les estadístiques el ".(strftime("%A %d/%m/%Y a les %H:%M:%S", $espera_imp)).".";
//seguidors (ara i cent)
$seguid = shell_exec("cat ".$lloc."/fitxers/seg_cont.txt");
$seguidc = shell_exec("cat ".$lloc."/fitxers/cents_cont.txt");
$segds = "Seguidors: ".$seguid." actuals.\n".
(($seguid == $seguidc)?"És el màxim que n'he tingut.":"He tingut un màxim de ".$seguidc."");
// darrer seguidor
// darrer comiat(?)
//$com_tut = "#SocUnBot #InfoBot 📝";
$com_tut = "#SocUnBot 📝";
$men_resp = "@".$usuari."\n".
$titol."\n".
$publs."\n".
$conns."\n".
// $errades."\n".
// $estad_reb."\n".
$estads."\n".
// $segds."\n".
$entra."\n".
$com_tut."";
// Publica a Mastodon
$dades_tut = array(
"status" => $men_resp,
"language" => $llengua,
"visibility" => $mis_vis,
"in_reply_to_id" => $en_resposta
);
//print_r($dades_tut);
PublicaMissatge($base_url,$headers,$dades_tut);
}
?>