bot_plus/utils/bot_plus_tut_usuari.php

136 líneas
4,3 KiB
PHP

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,"usuaribot");
if($comp_info === false) {
$log -> lwrite("Comentari sense etiqueta #usuaribot");
} else {
// INFORME
$titol = "INFORME per a @".$usuari." a les ".date('d/m/y H:i:s',strtotime('now'))." 📚";
$entra = "Nom: ".$bot_nom." versió: ".$bot_versio."\n";
$fitxer = $lloc."/fitxers/seguidors_detall_act.json";
$json_dec = json_decode(file_get_contents($fitxer), true);
$maxim = count($json_dec);
//print_r($json_dec);
//numero de seguidor
//$seg_num = array_column($json_dec, null, 'acct')[$usuari] ?? false;
//$seg_num = array_search($usuari,$json_dec,true);
function searchForId($id, $array) {
foreach ($array as $clau => $valor) {
if ( (isset($valor['acct'])) && ($valor['acct'] === $id) ) {
return $clau;
}
}
return null;
}
$seg_num = searchForId($usuari, $json_dec);
//echo "Tens el número ".$maxim - $seg_num. " de la llista.\n";
//print_r($seg_num);
if($seg_num != null) {
$num_seg = "Tens el número ".$maxim - $seg_num." de la llista";
} else {
$num_seg = "No segueixes el compte.";
}
//favortis
$favs = exec("cat ".$lloc."/fitxers/impulsos.txt | grep ".$usuari." | grep favourite ", $eix_favs, $resp_favs);
//$d_pub = shell_exec("cat ".$lloc."/fitxers/data_pub.txt");
$n_favs = count($eix_favs);
$rebs = exec("cat ".$lloc."/fitxers/impulsos.txt | grep ".$usuari." | grep reblog ", $eix_rebs, $resp_rebs);
//$d_pub = shell_exec("cat ".$lloc."/fitxers/data_pub.txt");
$n_rebs = count($eix_rebs);
$mencs = exec("cat ".$lloc."/fitxers/mencions.txt | grep ".$usuari." ", $eix_mencs, $resp_mencs);
//$d_pub = shell_exec("cat ".$lloc."/fitxers/data_pub.txt");
$n_mencs = count($eix_mencs);
$publs = "Esta setmana n'has fet ".$n_favs." favorits i ".$n_rebs." reblocs.\nHas fet ".$n_mencs." comentaris.\n" ;
//echo $publs;
// "El darrer el ".date("d/m/Y",$d_pub)." a les ".date("H:i:s",$d_pub)."";
//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 = "Els impulsos rebuts son ".$nimp." (favorits i reblocs) en total\nHe registrat ".$nmen." mencions.";
//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 = "La propera publicació d'estadístique la faré 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 = "de un total de seguidors actuals de ".$seguid." ".
(($seguid == $seguidc)?"i és el màxim que n'he tingut.":"i n'he tingut un màxim de ".$seguidc."");
// darrer seguidor
// darrer comiat(?)
//$com_tut = "#SocUnBot #InfoBot 📝";
$com_tut = "#SocUnBot 📝";
$men_resp =
$titol."\n".
$num_seg." ".
$segds."\n".
$publs."\n".
// $conns." ".
// $errades."\n".
// $estad_reb."\n".
// $estads."\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);
}
?>