239 líneas
6,9 KiB
PHP
239 líneas
6,9 KiB
PHP
|
<?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);
|
||
|
|
||
|
}
|
||
|
?>
|